




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C数据类型及其运算 C语言程序设计 2 C语言的数据类型 C数据类型 3 整型数据 1 整型数据的类型基本整型数据int 分配2Byte短整型数据shortint 分配2Byte长整型数据longint 分配4Byte整型数据均以二进制补码形式存储 问题 为什么要采用补码 如何表示 4 计算机中正 负数的表示 例如 109 1101101 2要区别 109和 109方法是 将符号也数码化即 正的符号 用0表示负的符号 用1表示 计算机中的数表示方法是 符号位 二进制数值 以8bit为例 109 1101101 01101101 109 1101101 11101101 5 2 有符号和无符号整型数据 有符号的整型数据signedint无符号的整型数据unsignedint区别是将最高位看作符号位还是数据位 例如 1111111110101000作为有符号数使用时 最高为符号位为负数 值是 88作为无符号数使用时 最高为数据位为无符号的数 值是 65448 6 例如 main unsignedintm m 65448 printf nm d n m printf m u n m 输出结果 m 88m 65448 按有符号数输出 按无符号数输出 7 整型数据的类型及规定 方括号表示可选项int分配2Byte long分配4Byte 8 2 1 2实型数据 1 实型数据的类型单精度实型数据float 分配4Byte双精度实型数据double 分配8Byte2 实型数据的存储 单精度实型 指数部分 小数部分 小数的符号位 指数的符号位 9 实型数据的类型及规定 C标准并未具体规定各种实型数据所占字节数 也不规定具体小数和指数部分的位数 一般而言 小数部分位数多 数据表示的有效数字多 精度就高 而指数部分位数多 则表示的数据范围更大 有效数字的意义 10 字符型数据 字符型数据char 分配1Byte字符型数据是指字母 数字 各种符号等用ASCII值表示的字符例如 a 是一个char类型数据 称作字符常量 存储 单片机中常用int和char数据类型 01100001 2 1 4空类型 空类型void通常与指针或函数结合使用 11 常量 变量与标准函数 主要内容 常量变量 12 2 2 1常量 在运行程序的过程中值保持不变的量1 整型常量十进制 0 9八进制 0 7 以0开头十六进制 0 9 A F a f 以0 x或0X开头 单片机编程常用16进制 例如 100 80 12301002401000730 x380 x100X100XFF0 x0a 13 1 整型常量 整型常量的类型 根据值大小默认类型 整型常量后面加l或L 则认为是longint型例如 123L 0L 432l 0 x100l 注意 十六进制常量中可以使用大写字母A F 也可以使用小写字母a f 八进制常量中不能出现数字8或9例如 018 0921非法 14 2 实型 浮点型 常量 十进制形式1 01 12 0 12 00 0指数形式1e31 8e 3 123E 6 1E 3 指数只能是整数 而尾数则可以是整数也可以是小数 无论指数或尾数均不能省略例如 1e E 5 E 3非法实型常量的类型 默认为double型 后面加F 或f 则强调表示该数是float类型例如 3 5f 1e2F 15 3 字符型常量 可视字符常量单引号括起来的单个可视字符例如 a A 3 等转义字符常量单引号括起来的 与可视字符组合 例如 16 4 字符串常量 用双引号括起的一个字符序列例如 ABC 123 a n t nGoodmorning 字符串常量的长度 所包含的字符个数字符串常量的存储方式 所占存储单元数 串长度 1例如 字符串结束标记 17 5 符号常量 以标识符来代表的常量事先编译预处理命令define定义编译时先由系统替换为它所代表的常量 再进行编译例如 defineLEN2 5main floata b a 2 3 14 LEN b 3 14 LEN LEN printf a f b f n a b 编译前系统进行替换 18 5 符号常量 main floata b a 2 3 14 2 5 b 3 14 2 5 2 5 printf a f b f n a b define是编译预处理命令 必须以 开头 替换为 19 变量 1 变量的有关概念在程序运行过程中 其值改变的数据 称为变量 变量用标识符表示 称为变量名 变量必须 先定义后使用 系统为变量分配存储单元 存储变量的值 编写程序时通过变量名来存 取变量值 例如 有变量a它的值是510 20 变量定义 变量定义的一般格式 数据类型说明符变量列表 例如 inti j longk m floatx y charch1 ch2 必须使用合法的标识符作变量名不能使用关键字为变量命名 21 3 变量的初始化 允许在说明变量的时候对变量赋初值 例如 inta 5 b 10 2 doublex 23 568 y charch1 a ch2 66 ch3 142 表示定义变量并对变量存储单元赋值 错误的初始化 inta 3 b b 5 floatm n 23 16 22 运算符和表达式 主要内容 算术运算符和算术表达式赋值运算符和赋值表达式关系运算符和关系表达式逻辑运算符和逻辑表达式位运算符和位运算表达式条件运算符和条件表达式逗号运算符和逗号表达式其他运算符及其运算 23 运算符的有关概念 作用 对运算对象完成规定的操作运算类型 按运算对象分 单目 双目 三目按功能分 算术 赋值 关系 逻辑条件 逗号 位 其他 24 运算符的优先级和结合性 优先级指各种运算符号的运算优先顺序例如 算术运算优先于关系运算算术运算中先 后 结合性指运算符号和运算对象的结合方向分为 从左向右 左结合 和从右向左 右结合 例如 算术运算符为左结合a b 4赋值运算符为右结合a b 5 C语言规定见教材 25 运算符 sizeof 数据类型标识符 26 表达式的有关概念 什么是表达式由运算符将运算对象连接成的式子 它描述了一个具体的求值运算过程 计算表达式的值按照运算符的运算规则求值求值时注意运算符的优先级和结合性表达式值的类型自动转换强制转换 27 例如 表达式 150 b 2 12 456b a 2a a a 2 f a b c a b c max a b a ba 3 a 3 a a1 float a 6 28 算术运算 算术运算符的优先级 没有乘方运算符 要计算a3要写作a a a的连乘 或用标准库函数pow a 3 的运算对象可为各种类型数据 但是当进行两个整型数据相除时 运算结果也是整型数据 要求运算对象必须是整型数据 功能是求两数相除的余数 余数的符号与被除数的符号相同 29 自增自减运算 是单目运算符有前缀和后缀两种形式前缀形式 先自增 自减 再引用 后缀形式 先引用再自增 自减 功能 前缀形式 a等价于a a 1 a等价于a a 1后缀形式a 等价于a a 1a 等价于a a 1 表达式的值会不同 30 例如 当a 5时 a表达式的值为6 且a 6 a 表达式的值为5 且a 6 b a等价于a a 1 b a表达式的值为6 且a 6 b 6 b a 等价于b a a a 1表达式的值为5 且a 6 b 5 31 说明 和 的运算对象只能是变量 或运算结果是变量的表达式 不能是常量 或运算结果是数值的表达式 例如 5 a 2 不合法 具有右结合性 结合方向为从右到左 例如 a 等价于 a 如果有多个运算符连续出现时 C系统尽可能多的从左到右将字符组合成一个运算符例如 i j等价于 i j i j等价于 i j 32 main inta 5 printf d d n a a 说明 续 对函数参数的求值顺序 TurboC系统先计算最右边的参数值 再依次计算左面的参数值 例2 5 有多个函数参数且为同一变量自增的运算处理 输出结果 65 运行例2 5 33 说明 续 例2 6 有多个函数参数且为同一变量多次自增的运算处理 main inta 5 printf d d n a a a 输出结果 711 运行例2 6 34 赋值运算 赋值运算符 右结合 赋值表达式将表达式的值存入变量对应的内存单元中m 12b a 2m 3 n等价于m m 3 n x x 5 35 说明 赋值号左边必须是变量 右边可以是C语言任意合法的表达式例如 n t 210等价于 a b b c 10 赋值号与数学中的等号含义不同例如 数学中a b等价于b aC语言中a b不等价于b a 36 关系运算 关系运算符 左结合 c等价于a b c 与 a b c不等价关系运算符优先于赋值 低于算术 37 说明 关系运算的结果应该是逻辑值 C语言用数值用1表示逻辑真 0表示逻辑假例如 7 5的值是1 5 7的值是0 a b 的值是0 a b 的值是1即关系表达式的值 0或1实型数可进行大于或小于比较 但通常不进行 或 的关系运算 38 逻辑运算符 逻辑运算符 逻辑运算符的运算规则 39 逻辑表达式 逻辑表达式用逻辑运算符将运算对象连接成的式子例如 0 b a b c da b 5 c 4 x y z逻辑运算符的优先级和结合性 是单目运算符 右结合 高于算术 和 是双目运算符 左结合 高于赋值运算符 低于关系运算符 40 逻辑运算规则 从左到右依次进行逻辑计算运算对象为非0表示逻辑真运算对象为0表示逻辑假逻辑运算的结果为0或1例如设 a 15 b 0 c 2a b c结果为0a b c结果为1 a c b c结果为1 41 逻辑运算规则 续 运算按照从左至右的顺序进行 一旦能够确定逻辑表达式的值 就立即结束运算 逻辑运算的短路性质例如设 a 1 b 0 c 2a b c a b c 为0 运算终止 表达式值为0 为非0 运算终止 表达式值为1且a为2 b为0 c为 2 b c保持原值 42 位运算符 位运算符的运算对象只能是整型数据或字符型数据 不能是实型数据运算对象一律按二进制补码参加运算 并按位进行运算位运算的结果是一个整型数据 低于单目 算术运算符 高于其他运算符 低于单目 算术和关系运算符 高于其他运算符 43 位逻辑运算符的运算规则 假设ai和bi均是一个二进制位 bit 例如 假设a 10 b 010求a b a b a b a 44 程序如下 main inta 10 b 010 printf d d n a 输出结果 8102 11 0000000000001010 00000000000010000000000000001000即 a b的值是8 运行jc2 b 45 HEX文件 IntelHEX由任意数量的十六进制记录组成 每个记录包含5个域 它们按以下格式排列 llaaaatt dd cc每一组字母对应一个不同的域 每一个字母对应一个十六进制编码的数字 每一个域由至少两个十六进制编码数字组成 它们构成一个字节 就像以下描述的那样 46 HEX文件 每个IntelHEX记录都由冒号开头 ll
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽阜阳市颍州区选调区内乡镇在编在岗教师60人模拟试卷及一套答案详解
- 2025湖南大学重庆研究院招聘计算机、汽车智能座舱内饰等方向博士后考前自测高频考点模拟试题及完整答案详解
- 2025内蒙古省际劳务协作招聘岗位模拟试卷完整参考答案详解
- 2025年4月杭州市采荷中学编外教师招聘3人模拟试卷附答案详解(黄金题型)
- 2025福建泉州广播电视台专项招聘编制内高层次人才12人模拟试卷及完整答案详解
- 2025年佳木斯同江市事业单位公开遴选管理人员和专业技术人员73人模拟试卷附答案详解(突破训练)
- 2025年德州武城县公开招聘省属公费师范毕业生(36名)考前自测高频考点模拟试题及答案详解(历年真题)
- 2025贵州三都水族自治县人民医院(医共体)总院第二次招聘合同制工作人员51人模拟试卷附答案详解(黄金题型)
- 2025江苏省宿迁市沭阳县面向普通高校应届师范类毕业生校园招聘325人(第一批次)考前自测高频考点模拟试题及一套完整答案详解
- 2025内蒙古工业大学“百名博士”高层次人才引进197人考前自测高频考点模拟试题(含答案详解)
- 2025年全运会知识竞赛试题及答案
- 2025年陕西清水川能源股份有限公司招聘笔试参考题库含答案解析
- 《光伏逆变器用长寿命级CD297S型铝电解电容器》
- 《公路软土地基处治工程技术规范》(DB45T 1972-2019)
- 工余安健环知识培训
- 云南省石林县鹿阜中学七年级地理上册 第一章 第四节 地球的公转教案 (新版)商务星球版
- 《路遥人生》读书分享课件
- 以青春之名励青春之志
- 小学数学新旧知识关联
- 第9课 共同弘扬中华传统美德 《中华民族大团结》(初中 精讲课件)
- 万夫一力天下无敌 课件-2023-2024学年高一上学期增强班级凝聚力主题班会
评论
0/150
提交评论