




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 数据类型、运算符与表达式数据类型、运算符与表达式3.1 数据类型数据类型空类型空类型基本类型基本类型构造类型构造类型指针类型指针类型整型整型实型实型字符型字符型枚举类型枚举类型数组类型数组类型结构体结构体共用体共用体单精度单精度双精度双精度voidintshortunsigned intlong unsigned longfloatdoublelong doublecharC语言中数据有与之分,它们分别属于以上这些类型。这三种数据类型是由而成的。例如:例如: A = B + 30 1:A、B是变量,是变量,30是常量,需要了解是常量,需要了解它们是整数还是实数,即数据类型;它们是整
2、数还是实数,即数据类型;2:+,=是运算符,需要了解计算过程是运算符,需要了解计算过程优先级等;优先级等;3:B+30是一个算术表达式,若出现是一个算术表达式,若出现B30则这是一个关系表达式,则这是一个关系表达式,C语言语言中还有什么表达式?值是多少?中还有什么表达式?值是多少?3.2 常量与变量常量与变量常量常量整型常量:整型常量:12、0、-3实型常量:实型常量:4.6、-1.23字符常量:字符常量:a、 D符号常量:符号常量: #define PI 3.14159注意:定义好的定义好的PI不能不能再赋值了。再赋值了。程序中出现程序中出现PI=30 是错误的!是错误的!变量变量其值可以改
3、变的量称为变量变量一个变量有一个名字(变量名符号地址),在内存中占据一定量的存储单元(若干字节),在该存储单元中存放变量的值(变量值)。3变量名变量名a变量值变量值存储单元存储单元F8000内存地址内存地址C语言要求:变量“先定义、后使用”3.3 整型数据整型数据整型数的三种表示形式十进制整数:123,-456;八进制整数:以以0开头开头 020(=16)十六进制整数:以以0 x开头开头 0 x22(=32)整型变量的分类BC用二个字节存储整数1、基本整型:int2、短整型:short int、short3、长整型:long int、long为充分利用变量表示数的范围,对上述三类可加上修饰符:
4、unsigned(无符号的) singed(有符号的)整型变量的定义: 参见 P43-表3.1提供long型的常量,必须在数字后加L。例如:例如: 6600L整型:关键字整型:关键字int,占,占4B, 有有unsigned与与signed之分,之分, 有有short与与long之分之分类型占用空间()取值范围short int2-32768 32767unsigned short20 65535int4-231 231-1unsigned int40 4294967295(232-1)long int4-231 231-1unsigned long40 4294967295(232-1)3.
5、3 整型数据整型数据 整型数据在内存中是以整型数据在内存中是以二进制二进制补码补码形式存放的;正数的形式存放的;正数的补码和其原码的形式相同。负数的补码是其绝对值的原码,补码和其原码的形式相同。负数的补码是其绝对值的原码,再按位取反,再加再按位取反,再加1。(注意:最高位。(注意:最高位1表示负,表示负,0表示负)表示负)0 0 0 0 0 0 0 00 0 0 0 1 0 1 0数据+10的存放形式:0 0 0 0 0 0 0 00 0 0 0 0 1 1 1数据+7的原码形式:1 1 1 1 1 1 1 11 1 1 1 1 0 0 0数据+7的反码形式:数据-7的存放形式:1 1 1 1
6、 1 1 1 11 1 1 1 1 0 0 1数据-7的补码形式:3.4 实型数据实型数据实型数的二种表示形式1、十进制小数形式: 123.5 0.34562、指数形式: 123E3 (123 103) 0.044e-2 (0.044 10-2)(规范)2.33e6 (2.33106) 实型变量1、分类 float 4 Byte double 8 Byte long double 16 Byte 参见 P46-表3.22、舍入误差实型:关键字实型:关键字float,占,占4B, 有有double(8B)、long double (8B)两种,两种, 存在舍入误差存在舍入误差P47-3.4类型占
7、用空间() 取值范围float 4-3.410-38 3.41038double 8-1.710-308 1.710308long double 83.5 字符型数据字符型数据字符常量用一对括起来的,称为字符常量。一般的字符常量有: A、9、特殊的字符常量有:的转义字符n (=012 =x0A) ” xhh 字符变量字符变量的类型关键字为char,一般占用内存单元。变量值的存储:字符变量用来存储字符常量。将一个字符常量存储到一个字符变量中,实际上是将该字符的(无符号整数)存储到内存单元中。3.5 字符型数据字符型数据参考程序程序用了四种方法回车换行#include stdio.hvoid ma
8、in(void) printf(1.xyz); printf(2.xyz,); printf(3.xyz); printf(4.xyz); printf(5.ok);说明:转义字符 =十进制ASCII码为的字符=八进制ASCII码为的字符=十六进制ASCII码为 的字符字符常量3.5 字符型数据字符型数据 字符串常量是用一对双引号括起来的若干字符序列。 字符串中字符的个数称为字符串长度。C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个作为字符串的结束标志。例如有一字符串为“CHINA”,则它在内存中的实际存储如下所示: 最后一个字符是系统自动加上的,所以它占用字节而非字节内存空间
9、。67 72 73 78 653.6 变量赋初值变量赋初值3.7 数据间的混合运算数据间的混合运算int a,b,c = 5;int a=b=c=5;charintlongfloatdouble 不同类型的数据必须先转换成同一类不同类型的数据必须先转换成同一类型,然后进行运算(结果为同一类型)型,然后进行运算(结果为同一类型)P563.8 算术运算符和算术表达式算术运算符和算术表达式1.五种基本算术运算符五种基本算术运算符+、-(减法/取负)、*、/、%(求余数)(1)关于除法运算/C语言规定:两个整数相除,其商为整数,小数部分被舍弃。例如,5 / 2 = 2。(2)关于求余数运算要求两侧的操
10、作数均为整型数据,否则出错。2.优先级与结合性优先级与结合性(P375)3.强制类型转换运算符强制类型转换运算符例:例: float x=77.9;float x=77.9; int z,y int z,y=11; =11; z= (int z= (int) x %y;) x %y;3.8 算术运算符和算术表达式算术运算符和算术表达式4.自增、自减运算符自增、自减运算符 +i -i (使用i之前,先使i的值加或减1) i+ i- (先使用i,之后将i的值加或减1)例: 若i=3 则:(1) j=+i (j=4) i=i+1; j=i;等效 若i=3 则:(2) j=i+ (j=3) j=i;
11、i=i+1;等效3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式1、赋值运算符赋值运算符 ( )2、类型转换类型转换(1) int = float (截取整数)(2) float = int (OK)(3) float = double (截取)(4) int = char (OK)原理:原理: int = char (最高位为0,高字节全补0; 最高位为1,高字节全补1)int = unsigned char (高字节全补0)(5) char = int (只将低8位原封不动送到char变量中) (6) long = int (OK)原理同(原理同(4)(7) unsigned long = unsigned int (OK)基本原则:按存储单元中的存储形式。3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式3、复合的赋值运算符赋值运算符 += a+=30; a=a+30; -= a-=k+b; a=a-(k+b); *= a*=y-b; a=a*(y-b);/= a/=2*a; a=a/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泉州工程职业技术学院《楷书临创》2023-2024学年第二学期期末试卷
- 四川省巴中市2025年高三数学试题下学期第二次模拟考试试题含解析
- 吉林化工学院《景观模型制作》2023-2024学年第一学期期末试卷
- 在书店的行为规范
- 2025年山东省春季高考技能考试汽车专业必刷必练题及答案
- 大堤路施工方案
- 护士疼痛管理制度
- 前牙稀疏病历书写规范
- 患者转运安全管理
- 2025年ASQ-CMQ-OE认证考前必练题库500题-中文版(含真题、重点题)
- 大学写作(山东联盟)知到智慧树章节测试课后答案2024年秋济南大学
- 中铝润滑科技有限公司招聘笔试冲刺题2025
- 2025年全国高考体育单招政治时事填空练习50题(含答案)
- 智能制造能力成熟度模型(-CMMM-)介绍及评估方法分享
- 劳务派遣服务方案(技术方案)
- 计算机等级考试二级MS Office高级应用与设计试题与参考答案(2025年)
- 工贸行业隐患排查指导手册
- 《法制宣传之盗窃罪》课件
- 2024年嵌入式软件许可协议3篇
- 二零二四年度职工食堂食材采购合同
- 中国的传统农耕文化科普
评论
0/150
提交评论