




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数据类型、运算符和表达式 第三章 数据类型、运算符和表达式n第一节 c的数据类型n第二节 常量n第三节 变量n第四节 算术运算符和算术表达式n第五节 赋值运算符和赋值表达式n第六节 逗号运算符和逗号表达式n第七节 各类数据间的混合运算第一节 c的数据类型n基本类型 整型 字符型 实型(浮点型) 单精度、双精度n构造类型 数组类型 结构体类型 共用体类型n指针类型n空类型第二节 常量n2.1 符号常量n2.2 整型常量n2.3 实型常量n2.4 字符型常量n2.5 字符串常量2.1 符号常量用一个标识符代表一个常量 #define pi 3.14159 main( ) float r,s,ar
2、ea; scanf(%f,&r); s=2*pi*r; area=pi*r*r; printf(s=%7.2f,area=%7.2f,s,area); 三种形式表示: 十进制:如 123 -60 0 八进制:以0开始,如 0123 十六进制:以0 x开始,如0 x1232.2 整型常量2.3 实型常量n小数形式:如 123.0 .123 0.0 12.5n指数形式:如123e2 123e2 单引号括起来的一个一个字符。如: a 字符常量的值是一个数字值。如字符常量 0 ,其ascii为48,所以存储的实际值为48。 字符常量可以象整数一样参与运算。 2.4 字符型常量转义字符 功能 转
3、义字符 功 能 a 响铃 反斜杠字符 b 退一格 单引号字符 f 走纸换页 双引号字符 n 换行 ? 问号 r 回车 ooo 13位8进制数代表的字符 t 横向跳格 xhh 12位16进制数代表的字符 main() char c1=101,c2= x42; printf(atbctbabcn); printf(xyzt%c %c,c1,c2); 结果?结果?a bc abc xyz a b main()printf(abctderftgn);printf(htibbjk);结果?结果?打印机上的结果:fabcgdehjik 显示屏上的结果:fgdehjk 双引号括起来的字符序列。 如how a
4、re you,0等 字符串在存储时末尾被自动加上字符0 字符常量与只包含一个字符的字符串常量的区别2.5 字符串常量第三节 变量n3.1 变量的概念n3.2 变量名n3.3 整型变量n3.4 实型变量n3.5 字符型变量3.1 变量的概念n程序运行过程中其值可以改变的量,系统为程序中的每一个变量开辟一个存储单元,如: main( ) int a; a=2; printf(a=%dn,a); a=4; printf(a=%dn,a); 程序运行结果?3.2 变量名 标识符:用来标识变量名、符号常量名、数组名、函数名、文件名的有效字符序列。关键字预定义标识符用户定义标识符 字母或下划线开头,后跟字
5、母、数字和下划线组成。 变量要先定义后使用n下列字符串中可以做c语言程序中的标识符的有哪些? print _3id oodb iam 3pi line# str_1 his.age while abc3.3 整型变量1、分类fint 整型fshort int(或short) 短整型flong int(或long) 长整型funsigned int 无符号整型funsigned short 无符号短整型funsigned long 无符号长整型2、各类型数据长度、取值范围各类型数据长度、取值范围n n 所占位数所占位数 取值范围取值范围 nint 16 -3276832767 nshort 16
6、 -3276832767nlong 32 -21亿亿21亿亿nunsigned int 16 065535 nunsigned short 16 065535 nunsigned long 32 042亿亿 3、整型变量的定义n所有的变量需先定义类型int a,b,c; /*指定a,b,c为整型变量*/unsigned count; /*指定lower为无符号整型变量*/long s;n有些变量可以预先设置初值:int a=0,b,c; /*指定a,b,c为整型变量,a的初值为0*/int a=0,b=0,c=0; /*指定a,b,c为整型变量,a、b、c的初值为0*/3.4 实型变量1、分类
7、 所占位数所占位数 取值范围取值范围ffloat 单精度 32 -3.4*10-38 3.4*1038 fdouble 双精度 64 -1.7*10-308 1.7*10308 flong double长双精度 128 -1.2*10-4932 1.2*1049322、变量的定义float x,y; /*指定x,y为单精度实型变量*/double z; /*指定z为双精度实型变量*/3.5 字符变量1、变量的定义char c1,c2; /*指定c1,c2为字符型变量*/2、字符型数据的存储以ascii码存储,存储形式与整型一样,可以和整数进行运算main()char c1,c2;c1=a;c2
8、=b;c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c2);printf(“%d,%dn”,c1,c2);结果:a,b 65,66第四节 算术运算符和算术表达式4.1 基本算术运算符4.2 运算符的优先级和结合性4.3 自增、自减运算符4.1 基本算术运算符(加法运算或正号运算符)(减法运算或负号运算符)* (乘法运算符)(除法运算符)% (求余运算符,或称模运算符)从左到右从左到右4.2 运算符的优先级和结合性n算术表达式 用算术运算符和括号将运算量连接起来的式子称为算术表达式。n运算符有优先级和结合性 在求表达式的值时,要按照优先级的高低依次计算 如果运算符两侧
9、优先级相同,则按规定的结合方向进行。n结合性- (负号运算符)* / % + - (加减运算符) 我最高! 我最低!4.3 自增、自减运算符n+运算符的作用是使变量的值增1。n-运算符的作用是使变量的值减1。n常见的用法有:+i , -i 在使用i前,使i的值加(减)1i+ , i- 在使用i后,使i的值加(减)1n已知 i=5(1)j=i+; j=? i=? (2)j=+i; j=? i=? 5666注意: 1、自增和自减运算符只能用于变量,表达式(x+y)+是不合法的。2、自增和自减运算符的结合方向是“自右向左”。如表达式 -i+ 等价于 -(i+)。3、(i+)+(i+)+(i+)结果?
10、4、(+i)+(+i)+(+i)结果?5、i+j是(i+)+j还是i+(+j)?6、printf(“%d”,i,i+)结果第五节 赋值运算符和赋值表达式n5.1 赋值运算符n5.2 复合的赋值运算符n5.2 赋值表达式5.1 赋值运算符n简单的赋值就是把一个表达式的值赋给一个变量。 例如: i = 5 i = j + 15.2 复合的赋值运算符n在赋值符“=”之前加上其它运算符,可以构成复合的运算符。n例如:i + = 2 等价于 i = i + 2 a * = b + 5 等价于 a = a * (b + 5)x% = 3 等价于 x = x%35.3 赋值表达式n由赋值运算符将一个变量和一
11、个表达式连接起来的式子称为赋值表达式。n形式: 变量赋值运算符表达式 例如:x=3 y=x+3 n对赋值表达式求解的过程是:将赋值运算符右侧的表达式的值赋给左侧的变量。赋值表达式的值就是被赋值的变量的值。n结合性从右向左从右向左n注意:n一般形式的赋值表达式中的“表达式”又可以是一个赋值表达式。如: a=b=8按照从右到左的结合性等价于a=(b=8)n赋值表达式也可以包含复合的赋值运算符。n设a的值为6,计算a+=a-=a*a 先进行a*a的计算,结果为36 再进行a-=36的计算,相当于a=a-36=-30 最后进行a+=-30的计算,相当于a=a-30=-60 第六节 逗号运算符和逗号表达
12、式n在逗号表达式中,逗号是一种运算符。n形式如下 表达式表达式1 1,表达式,表达式2 2n由逗号隔开的一对表达式从左向右进行计算,其求解过程为:先求解表达式1,再求表达式2,整个逗号表达式的值是表达式2的值。n逗号运算符是所有运算符中级别最低的。n例如 a=4*6,a+5 整个逗号表达式的值为29。n注意一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,例如: (a=4*6,a+5),a+6 整个表达式的值为30。第七节 各类数据间的混合运算nc语言允许数据值从一种类型转换成另一种类型。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。 n高 double float long unsigned 低 int char, short n说明: 横向向左的箭头表示当运算对象为不同类横向向左的箭头表示必定的转换,如字符型(char)数据和短整型(short)数据必定先转换成整型(int),以提高运算精度。 纵向的箭头表示当运算对象为不同类型时转换的方向型时转换的方向。数据总是由低级别向高级别转换。nc语言提供一种“强制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理电动车合同范例
- 借名买房合同范本
- 租赁合同通知函
- 农村收购单车合同范例
- 农村果园承包合同范本
- 云平台建设合同范本
- 云南租房合同范本
- 供应电水气合同范本
- 水电站隧道排水孔施工方案
- 乙方装修合同范本
- DeepSeek从入门到精通培训课件
- 俄罗斯进口冻肉合同范例
- 2025年湖北省技能高考(建筑技术类)《建设法规》模拟练习试题库(含答案)
- 急性呼衰院前急救流程
- 部编版七年级语文下册《第2课说和做》课件
- 养老服务信息化发展-深度研究
- 2024-2025学年第二学期学校总务工作计划(附2月-6月安排表行事历)
- 夫妻离婚协议书范本2024
- GB/T 3920-2024纺织品色牢度试验耐摩擦色牢度
- 交管12123学法减分题库(含答案)
- 2025年苏州工业职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
评论
0/150
提交评论