已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章数据类型 运算符与表达式 3 1C的数据类型 C语言的数据结构是以数据类型形式出现的 C的数据类型如下 语言中的数据有常量和变量之分 它们分别属于以上这些类型 程序举例 求圆的周长和面积main floats area r r 4 2 s 2 3 14 r area 3 14 r r printf s f area f s area X 2 3 变量 常量 程序中哪些是常量 变量 3 2 1常量 1 常量 在程序运行过程中其值不能被改变的量 如 15 3为整型常量5 4 1 23为实型常量 a b 为字符型常量 2 符号常量 用一个标示符代表一个常量 符号常量一般用大写字母表示 如 definePI3 1415926 define是宏定义命令 常量一般用于初始化变量 常量不占用存储空间 3 2 2变量 变量 其值可以改变的量 变量的定义一般是放在函数的开始部分声明 变量占用内存空间 例如 inta 5 每个变量都有名字 变量名习惯用小写字母表示 一个变量在内存中占据一定的存储单元 变量名实际是一个符号地址 通过变量名找到相应的内存地址 从其存储单元中读取数据 3 2 2变量 标识符 用来标识变量名 符号常量名 函数名 数组名 类型名的有效字符序列称为标识符 不包括文件名 标识符的命名规则 字母 数字 下划线构成 第一个字符是字母或下划线 区分大小写 sun Sun SUN是三个不同的变量 长度 最好不超过8个字符 见名知义 注 变量名一般用小写字母表示 变量必须 先定义 后使用 一般在函数的开始部分进行定义 每个变量有一个名字并指定为确定的类型 通过变量名区分不同的变量 3 3整型数据 整型常量 整型常量有如下三种形式 十进制整数如 124 98八进制整数要求以0开头 如 0123十六进制整数要求以0 x开头 如 0 x12计算机直接处理的是二进制数 3 3整型数据 整型变量 整型变量 有如下四种类型 1 基本型 用int表示 占2字节 2 短整型 用shortint或short表示 占2字节 3 长整型 用longint或long表示 占4字节 以上三种类型的变量 最高位为符号位 用1表示负数 用0表示正数 4 无符号型 不能存放负数 分别表示为unsignedint unsignedshort unsignedlong关于各种类型在内存中所占的位数以及数的范围见p43 表3 1 必须记住 实型常量1 十进制形式 由数字和小数点组成 如 0 0 123 0 0 12 12 34 2 指数形式 如 123e2和123E2都表示123 10 10 注意 e或E的前面要有数字 后面必须是整数 规范化指数形式 字母E前数的小数点左边应有 只能有 一位非零数字 如1 23E4 3 4 1实型数据 实型常量 3 4实型数据 3 4 2实型数据 实型变量 实型数据在内存中按照指数形式存储实型变量分类1 单精度型 用float表示 在内存中占4个字节有效数字6 7 2 双精度型 用double表示 在内存中占8个字节有效数字15 16 3 长双精度型 用longdouble表示 在内存中占16个字节 floata float只能接收7位有效数字 a 123456 789 因此最后两位小数不起作用 实型常量的类型实型常量作为双精度double来处理 若在数的后面加字母f或F如 1 65f 则按单精度float处理 程序举例 main intn floatp sum n 20 p 25 5 sum n p printf sum f sum 注意 何时用实型何时用整型 小明给同学买书 3 5字符型数据 3 5 1字符常量3 5 2字符变量3 5 2字符串常量 3 5 1字符常量 C字符常量是用单引号 括起来的一个字符 如 a A 转义字符 一个以 开头的字符序列 见教材P48表3 3 见表3 3 字符 功 能 n 换行 t 横向跳格 即跳到下一个输出区 v 竖向跳格 b 退格 r 回车 f 走纸换页 反斜杠字符 单引号字符 ddd 1 到 3 位 8 进制数所代表的字符 xhh 1 到 2 位 16 进制数所代表的字符 3 5 2字符变量 字符型变量 只能存放一个字符 其定义形式 charc1 c2 c1 a c2 b 字符数据在内存中的存储形式 将一个字符常量存放到字符变量中 是将该字符的ASCII码存放到存储单元 占用一个字节 其存储形式与整型数据的存储形式类似 标准ASCII表 1 字符型数据与整型数据通用 即可以字符形式 c 输出 也可以整数形式 d 输出 printf c d c1 c1 2 字符型数据和整型数据可以相互赋值 inti charc i a c 97 printf c c i c Printf n d d i c 说明 3 2 3 6变量赋初值 赋值语句 Inta b c a b c 5 对 C语言允许在定义变量的同时使变量初始化 如 inta 3 floatf 3 56 charc a inta b c 5 对一部分变量赋初值不可以 inta b c 5 应该inta 5 b 5 c 5 初始化不是在编译阶段进行的 是程序运行时赋初值 inta 5 相当于inta a 5 inta b c 5 相当于inta b c c 5 3 6 3 7各类数值型数据间的混合运算 整型 实型 字符型数据间可以混合运算 如 10 a 1 5 8765 1234 b 混合运算时 数据要先转换成同一类型 类型转换是由系统自动进行的 转换规则如图 设i为int型 f为float型 d为double型 e为long型10 a i f d e 强制类型转换运算符 作用 将一个表达式的值转换为所需类型 一般形式 类型名 表达式 如 double x y 将x y的值转换成双精度型 double x y只将x的值转换成双精度型 而原来变量的类型不变 对于求模运算符 如果两侧的运算对象类型不同 则只能用强制类型转换的形式floatx int x 3 3 3 运算符 a b 2 c n 红色为运算符 C语言的运算是如何完成 1 优先级2 结合性 C运算符 1 算术运算符 2 关系运算符 5 赋值运算符 及其扩展赋值运算符 6 条件运算符 7 逗号运算符 8 指针运算符 和 9 求字节数运算符 sizeof 10 强制类型转换运算符 类型 11 分量运算符 12 下标运算符 13 其它 3 8算术运算符和算术表达式 基本的算术运算符基本算术运算符有 加 减 乘 除 求余 注意 1 两个整数相除的结果为整数 如5 3结果为1 2 两侧的数据均为整型数据 3 若参加 运算的两个数中有一个为实数 运算结果为double型 算术表达式 用算术运算符和括号将运算对象 操作数 连接起来的 符合C语法规则的式子称为C算术表达式 如a b c 1 5 a 运算符的优先级和结合性表达式求值时 先按运算符的优先级别高低次序执行 若在一个操作数两侧的运算符优先级相同 则按规定的结合方向处理 1 先乘除余后加减2 算术运算符为左结合性 自增 自减运算符 自增运算符 和自减运算符 的功能是使变量的值增1或减1 运算符的优先级高于算术运算符 是右结合性 形式 1 i i 先加 减 1 后使用i i i 1 i i 12 i i 先使用i 后加 减 1 如 i 3 1 j i i 4 i j j 4 2 j i i j j 3 i 4 例如 main inti 3 j k j i k i printf d d d i j k 注意 1 运算符只能用于变量 不能用于常量或表达式 5 a b 是不合法的 2 结合方向是自右向左 3 4 3 9赋值运算符和赋值表达式 p59 赋值运算符 等号 是将一个数据赋给一个变量 如 a 3 4 就是将3 4的值7赋给变量a 如果赋值运算符两侧的类型不一致 要进行类型转换 1 实型 整型时 舍弃小数 inti i 3 56 i的值为3 2 整型 实型时 补足有效位数 floatf doubled f 23 d 23 则f为23 00000 d为23 00000000000000 3 整型 字符型时 将低八位送到字符型变量 赋值表达式 定义 用赋值运算符将一个变量和一个表达式连接起来的式子 一般形式 变量赋值运算符表达式1 赋值表达式的值就是被赋值的变量的值 a 5 表达式的值为5 2 赋值运算符的结合性 自右向左a b 5例2 a a a a设a的值为12 则按下面的顺序求解 a a a得到a 132a 132得到a 264 复合的赋值运算符 在赋值符 之前加上算术运算符或位运算符就可以构成复合的赋值运算符 C语言规定可以使用10种复合赋值运算符 这里先介绍5种 如 a b 4相当于a a b 4 x y 3x x y 3 自学 3 10逗号运算符和逗号表达式教材作业 p663 63 83 103 12 1 设有intx 11 则表达式 x 1 3 的值是 A 3B 4C 11D 122 若已定义x和y为double类型 则表达式x 1 y x 3 2的值是 A 1B 2C 2 0D 2 53 若a是int型变量 则表达式 a 4 5 a 2 a 6的值为 4 main inti 3 j k i i j i k i printf d d d i j k 5 5 5 练习题 n n an 2a a 2a 5a a 5a 0 5 表达式18 4 sqrt 4 0 8值的数据类型为 sqrt的功能是求平方根 intB floatC doubleD 不确定6 设i 3 j 4 程序段中执行i j后 printf d i j 的输出结果为 9B 7C 8D 67 以下程序的输出结果是 includemain inta 3 n 5 printf d n a a n a 8 以下程序运行后的输出结果是 main charm m B 32 printf c n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 含子女抚养的离婚协议书模板
- 企业运营管理咨询协议样本
- 2024工程挖掘机租赁合同标准范文
- 新住宅按揭贷款合同样本
- 2024录制合同模板
- 2024广告刊登协议范本
- 动物医院聘用合同2024年
- 省级代理合作协议书的注意事项
- 我国自学考试网上辅导协议书样本大全
- 2023年高考地理第一次模拟考试卷-(河北A卷)(全解全析)
- 空调安装施工方案及空调安装现场管理办法
- 甘肃省黄金矿产资源概况
- 诊所消防安全应急方案
- 译林版一年级上册英语全册课件
- 中小学德育工作指南考核试题及答案
- 净现值NPV分析和总结
- 国网基建各专业考试题库大全-质量专业-中(多选题汇总)
- LTC流程介绍完整版
- 饲料加工系统粉尘防爆安全规程
- 一年级上册美术课件-第11课-花儿寄深情-▏人教新课标
- 植物的象征意义
评论
0/150
提交评论