




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据类型及表达式 本章知识要点 1 基本的数据类型 2 常量和变量 3 C语言各种运算符和表达式的应用 第2章数据类型及表达式 2 1C语言的数据类型 2 2运算符及表达式 2 1C语言的数据类型 单精度实型 float 双精度实型 double 整型 int 字符型 char 枚举类型 数组类型 结构体类型 共用体类型 实型 基本类型 构造类型 空类型 void 指针类型 数据类型 C语言中 数据有常量和变量之分 它们分别属于以上这些类型 在程序中对用到的所有数据都必须指定其数据类型数据类型决定 数据占内存字节数数据取值范围其上可进行的操作 注意 include stdio h voidmain inta b sum a 123 b 456 sum a b printf sumis d n sum 内存 0005 0006 0002 0003 0004 0001 0000 地址 a b sum include stdio h voidmain inta b sum a 1 b 2 sum a b printf sumis d n sum 2 1C语言的数据类型 2 1 1基本数据类型 2 1 2常量 2 1 3变量及其类型定义 2 1 1基本数据类型 整型数据 实型数据 字符型数据 基本数据类型 2 1 1基本数据类型 长整型 longint 整型数据 一般整型 int 短整型 shortint 带符号 signed 无符号 unsigned 带符号 signed 无符号 unsigned 带符号 signed 无符号 unsigned 整型数据的特性见下表 2 1 1基本数据类型 长双精度实型 longdouble 实型数据 单精度实型 float 双精度实型 double 实型数据的特性见下表 2 1 1基本数据类型 字符型数据 一般字符型 char 带符号字符型 signedchar 无符号字符型 unsignedchar 字符型数据的特性见下表 2 1 2常量 整型常量 实型常量 字符型常量 字符串常量 常量 整型常量 三种表现形式 十进制形式 与数学上的整数表示相同 例如 12 100 0 八进制形式 在数码前加数字0 例如 012 十六进制形式 在数码前加0X 数字0和字母X 大小写均可 例如 0 x12 1 81 2 80 10 1 161 2 160 18 2 1 2常量 一 注意事项 八进制的数码范围为0 7 则 018 091 0A2 十六进制的数码除了数字0 9外 还使用英文字母a f 或A F 表示10 15 如 0 x1e 0Xabcdef 0 x1000但 0X2dfg 0 x100L 错误 都是错误的 实型常量 二种表现形式 十进制形式 由数字和小数点组成 指数形式 由 十进制小数 e 或E 十进制数整数 三部分组成 例如 3 44 3 例如 12 5e 6表示12 5 10 6 十进制小数 e 或E 十进制数整数 2 1 2常量 二 注意事项 小数点不能单独出现 e或E的两边必须有数 且其后面必须为整数 如 0 0 0 0 0 如 6E0 2e56E 错误 错误 2 1 2常量 二 字符型常量 二种表现形式 用单引号括起来的一个字符 用单引号括起来的由反斜杠 引导的转义字符 如 A 1 等 如 n 101 x41 在统计字符个数时 只能记为一个字符 一个字符的多种表示方法 字符A可以表示为 A x41 101 2 1 2常量 三 转义字符表 字符形式 功能 n 换行 t V 横向跳格 b r 竖向跳格 退格 f 回车 8进制数表示的ASCII码对应的字符 反斜杠 单引号 双引号 ddd 换页 xhh 16进制数表示的ASCII码对应的字符 字符串常量字符串常量 用一对双引号括起来的字符序列2 字符串结束标记 0 每一个字符串常量结尾都有一个字符 0 一般情况是由系统自动加上 如 CHINA 在内存中为 a 为两个字符 a 为一个字符 a 如 Hello 1999 a 2 1 2常量 四 main printf ab c t de n printf h ti b bj k 设一个输出区占8列 试分析输出结果 例 符号常量 特点 在程序中不能给它赋值 例3 1 definePRICE30voidmain intnum total num 10 total num PRICE printf total d total 在程序预处理时 凡是出现标识符PI的地方都将用数据3 14159来替换 结果 total 300 符号常量定义方法 define标识符常量 definePI3 14159 2 1 3变量及类型定义 1 变量定义 变量 在程序执行过程中其值可以被改变的量 变量三要素 变量名 变量数据类型 变量的值 变量定义的实质是按照变量说明的数据类型为变量分配相应空间的存储单元 在该存储单元中存放变量的值 数据类型 例如 inti charc1 floatx doubley1 y2 变量定义一般格式 变量名表 内存 0005 0006 0002 0003 0004 0001 0000 地址 c1 x i 变量名是一个符号地址 可以用运算符 取得存储单元的地址 C语言对变量的要求 先定义 后使用 数据类型 C语言的合法数据类型 如int short char float double等 变量定义说明 在源程序中 变量用标识符表示 小写 变量在内存中占据一定的存储单元 不同类型的变量 所占据的内存单元数不同 命名原则 见名思义如 sum area r 2 1 3变量及类型定义 2 变量初始化及赋值 变量赋初值在定义同时赋初值亦称初始化如 inta 3 floatf 3 56 charc a intx 1 y 1 z 1 intx y z 1 错误 inta 3 相当于inta a 3 2 2 2算术运算符及算术表达式 2 2 1运算符和表达式 2 2运算符及表达式 2 2 3关系运算符及关系表达式 2 2 4逻辑运算符及逻辑表达式 2 2 5条件运算符及条件表达式 2 2 6赋值运算符及赋值表达式 2 2 7逗号运算符及逗号表达式 2 2 8求字节运算符 2 2 9类型转换 2 2 1运算符和表达式 1 运算符 2 2 1运算符和表达式 用运算符将操作对象连接起来 符合C语法规则的式子称为表达式 表达式因运算符种类也可分为各种表达式 如3 4 是算术表达式 x y为关系表达式 运算符的优先级是指不同的运算符在表达式中进行运算的先后次序 如 算术运算符 的优先级高于 的优先级 如2 4 5 2 8 当一个运算对象的两侧的运算符的优先级相同时 运算的结合方向称为结合性 运算符的结合性分为左结合和右结合两种 在C语言中 运算对象先与左面的运算符结合称左结合 如 的结合方向为自左向右 运算对象先与右面的运算符结合称右结合 如单目运算符 的结合方向是自右向左 如2 3 5 5 据运算符的运算对象的个数 C语言的运算符分为单目运算符 双目运算符和三目运算符 2 表达式 3 运算符的优先级 4 运算符的结合性 加法运算符或正值运算符2 3 6 减法运算符 或负值运算符3 4 6 乘法运算符3 4 a b 除法运算符3 4 a b a b 2 2 2算术运算符及算术表达式 1 基本的算术运算符 注意 两个整数相除 其值为整数 5 3值为1除数 被除数有一个为负值时 结果 向零取整 5 3值为 1除数 被除数有一个为实数时 结果为double型 2 2 2算术运算符及算术表达式 模运算符 或称求余运算符 两侧均为整型数据 如 7 4的值为3 7 4 7 4 7 4的值为多少 符号由被除数的值决定 3 3 3 2 算术表达式和运算符的优先级与结合性1 用算术运算符和括号将运算对象连接起来的符合C语言语法规则的式子 称为算术表达式 运算对象包括常量 变量 函数等 如 3 14 r r x2 运算符的优先级和结合性优先级 先 后 结合性 左结合性 即表达式从左向右进行计算 3 4 5 6 2 8 4 20 2 2 2算术运算符及算术表达式 3 自增 自减运算符 i i在使用i之前 先使i的值加1或减1i i 在使用i之后 使i的值加1或减1注意 1 自增 自减运算符只能用于变量 而不能用于常量和表达式 如 5 a b 不合法 2 和 的优先级别高于算术运算符 结合方向是 自右向左 如 i 相当于 i 2 2 2算术运算符及算术表达式 例自增自减运算 include stdio h voidmain inti 0 j j i printf d d n i j i 0 j i printf d d n i j 区分 j i 1 j i 1 01 1 例自增自减运算 include stdio h voidmain inti 0 j j i printf d d n i j i 0 j i 1 printf d d n i j 1 00 1 下述程序段的输出结果是 intx 10 inty x printf d d x y A 11 10B 11 11C 10 10D 10 11 练一练 C语言有六种关系运算符 2 2 3关系运算符及关系表达式 例 a b c等效于 a b ca bc等效于a b c 2 2 3关系运算符及关系表达式 关系运算 比较运算 用 关系表达式 进行运算 例 a 3是一个关系表达式 它取两个值 真 true 和 假 false 2 2 3关系运算符及关系表达式 关系表达式 用关系运算符连接的表达式 例 a 3 b 2 c 1 则 a b c真 表达式的值为1d a bd的值等于1f a b cf的值等于0 x a b 2x 1 关系表达式的值 2 2 3关系运算符及关系表达式 优先次序为 非 与 或 逻辑运算符及其运算次序 2 3 4逻辑运算符及逻辑表达式 逻辑运算的 真值表 操作数的值为不同组合时 逻辑表达式的值 在一个逻辑表达式中 包含多个逻辑运算符 例 a b x y 可写为 a b x y 2 2 4逻辑运算符及逻辑表达式 例 a 4a 0 真 假 y 1 2 2 4逻辑运算符及逻辑表达式 练一练 1 已有定义 intx 3 y 4 z 5 则表达式 x y z 1 y z 2的值是 A 6B 0C 2D 1 D C语言中逻辑运算的不完全求解 编译器在求解逻辑表达式的值时 采用 非完全求解 的方法 即 当求得表达式为真后 就结束求解 只有在需要执行下一个逻辑运算时 才继续运算 1 a b c只有a为真时 才判别b的值 只有a和b均为真时 才判别c的值 只要a为假 就不再判别b和c的值 直接求得表达式的值为假 0 5 18 2 2 4逻辑运算符及逻辑表达式 2 a b c 2 2 4逻辑运算符及逻辑表达式 练一练 1 已有定义 intx 3 y 4 z 5 则表达式 x y z 9 y 7 的值是 A 6B 0C 2D 1 B 此时x y z 4 5 4 1 条件表达式的一般形式 条件运算符的执行顺序 先求解表达式1的值 若其为真 则求解表达式2的值 且整个条件表达式的值等于表达式2 若表达式1为假 则求解表达式3的值 且整个条件表达式的值等于表达式3 2 2 5条件运算符 及条件表达式 a b a b max 图示 inta 4 b 5 max max a b a b 条件运算符要求有三个操作对象 称为 三目运算符 2 2 5条件运算符 及条件表达式 1 条件运算符的优先级高于赋值运算符 低于算术运算符和关系运算符 2 条件运算符的结合方向是 从右至左 一 赋值运算符 用法 变量 表达式作用 将表达式的值赋给左边的变量a 5 x y 注意 与判等符号 相区别 x x 1 与数学中的等式不同 2 2 6赋值运算符及赋值表达式 二 赋值结果与类型转换1 实型数据 包括单 双精度 赋给整型变量时 舍弃实数的小数部分2 整型数据赋给单 双精度变量时数值不变 但以浮点数形式存储到变量中 例 include stdio h voidmain inti floatf i 5 34 f 23 printf d f n i f 5 23 000000 2 2 6赋值运算符及赋值表达式 三 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子称为 赋值表达式 形式 变量 表达式结合方向 自右向左如 a 5a b 5 a 1 3 5计算过程 1 计算赋值运算符右侧 表达式 的值2 将计算结果赋给左侧的变量3 赋值表达式的值就是被赋值的变量的值 想一想 a b c 5a 5 c 6 2 2 6赋值运算符及赋值表达式 四 复合的赋值运算符 在赋值符 之前加上其它运算符 构成复合赋值运算符 2 2 6赋值运算符及赋值表达式 练一练 如 a 2a b 10 c 2 a a a a a a a a a a a a 5 4 0 形式 表达式1 表达式2 表达式i作用 用于连接表达式计算过程 1 求解表达式1的值2 再求解表达式2 表达式i3 整个逗号表达式的值是表达式i的值 a 63 2 2 7逗号运算符及逗号表达式 如 a 3 5 6 8 7 9 注意 并不是任何在地方出现的逗号者是逗号运算符 printf d d d a b c 一个逗号表达式又可与另一个表达式组成一个新的逗号表达式 a 3 5 5 4 a 5 逗号运算符是所有运算符中级别最低的 x a 3 6 3 x a 3 6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法课件笔记
- 初源电子理论考试题及答案
- 表格考试题库及答案大全
- 民歌编花篮声部课件
- 新质生产力陕西行
- 金融业拥抱新质生产力
- 新质生产力:内涵与发展路径
- 广东:加快形成新质生产力路径
- 广东视角:新质生产力的实践与思考
- 端午节特色的活动策划方案
- 麻风病防治知识讲座
- 2023年威海桃威铁路有限公司招聘笔试参考题库附带答案详解
- 急性心梗诊疗(2025指南)解读课件
- 2025至2030年中国综合能源服务产业投资规划及前景预测报告
- 虾滑产品知识培训课件
- 2025-2030全球宠物电器行业发展趋势分析及投资前景预测研究报告
- 吸痰护理操作课件
- 2025年天津市专业人员继续教育试题及答案3
- 主要诊断及主要手术的选择原则
- 2024年急危重症患者鼻空肠营养管管理专家共识
- 医学教材 《中国高尿酸血症相关疾病诊疗多学科专家共识(2023年版)》解读课件
评论
0/150
提交评论