




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2020 2 10 计算机系杨晓光yxgfors 程序设计 C 第三章数据类型 运算符与表达式 3 第三章数据类型 运算符与表达式 3 1C的数据类型3 2常量与变量3 3整型数据3 4实型数据3 5字符型数据3 7各类型数据的混合运算3 8运算和表达式 4 3 1C的数据类型 短整型 short 整型 int 长整型 long 整型实型 数值类型字符类型 char 枚举类型 enum 数组类型结构体类型 struct 共用体类型 union 文件类型 FILE 基本类型构造类型指针类型空类型 void 数据类型 单精度型 float 双精度型 double 5 3 2常量与变量 一 常量 在程序执行期间值不发生变化的量1 直接常量 15 2 4 f asd 2 符号常量 在程序中用标识符代表的常数定义符号常量的格式 define标识符常数如 definemax1003 使用符号常量的优点 1 含义清楚 2 修改方便 二 变量 在程序执行期间值可以变化的量1 变量的声明 1 格式 数据类型变量名列表 如 intx y charch x 3 说明 进行变量声明后 计算机系统会为声明的变量分配存储空间 用以存放数据 变量的存储空间可能由一个或多个字节组成 2 变量的赋值格式 变量 表达式如 x 6 y x 2 a sqrt b y x x 2 说明 1 赋值号是 而等于号是 表示2 赋值运算符为右结合性 先计算赋值号右边的表达式的值 再将值赋给左边的变量最后一个式子等价于y x x 2 3 表达式包括常量 变量 函数 以及其他合法的C语言表达式 2 变量的初始化 在声明变量的同时对变量赋初值如 intx 4 y 21 charch A 注意 如果几个变量的初值相同 初始化的写法如下inta 6 b 6 c 6 三 标识符 是给程序中的实体所起的名字1 标识符的命名规则 以字母或下划线开头 由字母 数字和下划线组成的字符序列 标识符不能与C语言的关键字重名 建议用户定义标识符时尽量不用下划线开头 注意标识符的有效长度 标识符中区分大 小写字母 2 定义标识符应遵循的原则 尽量做到见名知义 一般习惯上变量名 函数名用小写 而符号常量用大写 9 3 3整型数据 一 整型常量的表示方法1 十进制整数56 23 02 八进制整数以0开头034 0123 十六进制整数以0 x开头0 x28 0 x1fa9 10 二 整型变量整型数据在内存的存放形式数据在内存中以二进制形式存放 一个整型变量在内存中占2个字节 intx 10 附 十进制与二进制对照表 内存中存放的实际是数据的补码 正数的补码为其二进制形式 负数的补码则是将该负数绝对值的二进制形式按位取反再加1 12 3 4实型数据 一 实型常量的表示方法1 小数形式 2 4 9 6 3 752 指数形式 3 14e0 31 4e 1 2 实型变量的分类单精度float双精度double长双精度longdouble 二 实型变量1 实型数据在内存中的存放形式一个实型数据在内存中占4个字节 实型数据按指数形式存储 14 3 5字符型数据 一 字符常量 用单引号括起来的一个字符如 s 6 说明 1 a 和 A 是两个不同的字符2 单引号内不能是单引号或反斜杠 二 字符变量例 chara b a g b 三 字符数据在内存中的存储形式及使用方法1 字符数据在内存中以相应的ASCII码存放 占1个字节 2 字符数据和整数在一定范围内互相通用 1 字符数据用整数形式输出 2 字符数据与整数进行算术运算 3 例程 四 字符串常量 由一对双引号括起来的字符序列如 abcd w123 k 字符串常数在存储时计算机系统会自动在字符串末尾加一个结束标志 0 因此字符串的实际长度为字符个数加1 注意 k 与 k 是不同的 k 是字符常量 在内存中占1个字节 k 是字符串常量 在内存中占2个字节 17 3 7各类数值型数据间的混合运算 一 隐式转换1 一般算术转换目的 将短的数扩展为机器处理的长度 使运算符两端有相同的类型 2 赋值转换 具有强制性 通过赋值运算将赋值号右侧表达式的值的类型自动转换为其左侧变量的类型 例floatx inta longb 748 a b x a 二 显式转换用强制类型转换运算符将一个类型的变量强制转换为另一种类型 一般形式 类型标识符 表达式 注意 1 为避免出错 应将表达式用括号括起来 2 对一个变量进行强制转换后 原变量的类型不变 只是得到一个新类型的数据或变量 3 转换是暂时的 定义是永久的 例 double a int x y 19 3 8运算符和表达式 一 赋值运算格式 变量 表达式注 1 是一种运算 结果为右边的表达式的值 2 一个赋值式中可以出现多个赋值运算符 其结果方式为从右向左 例 x y z 5 x y z 5 3 printf 输出项中表达式运算从右向左 20 例 打印圆锥的体积和底面积main floats r h scanf f f 21 二 算术运算1 双目运算 指求余运算如 15 4为3 19 4为 3 注 的两个操作数必须是整型量 常量或变量 2 单目运算 自增运算 自减运算 负运算 22 注 关于 1 只作用于变量 对整数有效 对浮点依然有效 但无速度上的优势 对整数执行效率可提高7 8倍 2 前置运算和后置运算的区别 前置 a a 先执行 后参与表达式运算 有优先级位置 后置 a a 先参与表达式运算 后执行 无优先级位置 即绝对后置运算 23 附 算术运算优先级顺序示意图 高 低 24 例1 有定义inta 2 b 3 判断下列写法正确与否 a a 答案 a a 例2 有定义inta 2 b 3 x 执行下条语句 x a b 则最后 x a b 答案 x 6a 3b 4 注 x a b x a b 25 例3 有定义inta 2 b 3 x 则 x a b x a b 此谓 最大吃进原则例4 有定义intx 2 y 执行下列语句 y x x 则x y 答案 x 4y 4或y x x 则x y 答案 x 4y 16或y x x 则x y 答案 x 4y 9 26 例5 有定义intx 2 执行下条语句后 printf d d x x 输出结果是什么 答案 43 注 printf 函数输出项中表达式运算从右向左 27 三 复合赋值运算1 定义 由在赋值符 之前加上其它运算符构成 例如 a 3 a a 3 a 3 a a 3 2 注意 赋值式右边的表达式若包含多项 则视其有一整体括号 例如 a 3 2 a a 3 2 问 有定义intx 20 执行下条语句后 x 50 48 问x 答 x 40 28 四 关系运算和逻辑运算1 关系运算 y即为一关系表达式 注 关系运算的结果为逻辑值 即为零或非零为零为假 非零为真 由此上式中x y的结果为 答 为0 29 2 逻辑运算 逻辑与 逻辑或 逻辑非注 逻辑运算的结果为零或为非零 30 附 关系 逻辑运算符优先级示意图 31 五 其它运算1 并行运算 逗号运算 优先级最低 格式 表达式1 表达式2 表达式n运算 值为最后一个表达式的结果例1 2 4例2 x i 3 j 16 k 32 问x 答 x 32例3 x a 3 5 a 4 a 5 问x a 答 x 20 a 15 32 2 三元组运算 优先级偏低 格式 e1 e2 e3运算 若e1非零则值为e2 e1为零则值为e3 例4 ch a b Y N 若a 3 b 4 则ch N a 3 b 3 则ch Y 例5 x 2 1 1 0若x为奇数 则表达式的值为1x为偶数 则表达式的值为0 33 例6 x 0 x x 用于求x的绝对值例7 ch ch a 用于将小写字母转化为大写字母 34 例8 从键盘读入a b c三个数 输出其中最大的 includemain inta b c m scanf d d d 35 例9 菜单选择键的行计算设菜单中有9个选项 其行值分别为0 1 8则按键后行的计算公式如下 i i 0 8 i 1 同理 的行计算公式为 i i 8 0 i 1 36 例10 有程序如下 main intx y z x 2 x 3 2 printf d n x x y z 4 printf d n x x y z printf d n x x y z printf d n x 104011 注意 1 复合赋值运算视其右边项有一括号2 赋值运算结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖南-湖南放射技术员二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖南-湖南地图绘制员四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖南-湖南下水道养护工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北热处理工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北家禽饲养员三级(高级工)历年参考题库典型考点含答案解析
- 2025-2030中国纳迪克酸酐行业运营格局及投资盈利预测报告
- 低碳城市规划与绿色建筑设计2025年创新案例分析
- 2025年事业单位工勤技能-河南-河南造林管护工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南园林绿化工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南保安员二级(技师)历年参考题库典型考点含答案解析
- 2024年山东省济南市行政职业能力测验题库(考点梳理)
- 测量基础能力测试
- 光伏发电站运行规程
- 117湖南省怀化市雅礼实验学校2023-2024学年七年级下学期开学考试数学试题
- (高清版)TDT 1031.6-2011 土地复垦方案编制规程 第6部分:建设项目
- 水电站全套课件
- 检验科实验室生物安全培训课件
- 山西航空公司招聘笔试真题
- 调查报告青州市区房地产调查报告
- 成人重症患者镇痛管理(专家共识)
- 棬槽沟村道路建设实施方案
评论
0/150
提交评论