C语言第二章数据类型、运算符与表达式A.ppt

上传人:牧羊曲112 文档编号:6504287 上传时间:2023-11-07 格式:PPT 页数:38 大小:212.49KB
返回 下载 相关 举报
C语言第二章数据类型、运算符与表达式A.ppt_第1页
第1页 / 共38页
C语言第二章数据类型、运算符与表达式A.ppt_第2页
第2页 / 共38页
C语言第二章数据类型、运算符与表达式A.ppt_第3页
第3页 / 共38页
C语言第二章数据类型、运算符与表达式A.ppt_第4页
第4页 / 共38页
C语言第二章数据类型、运算符与表达式A.ppt_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《C语言第二章数据类型、运算符与表达式A.ppt》由会员分享,可在线阅读,更多相关《C语言第二章数据类型、运算符与表达式A.ppt(38页珍藏版)》请在三一办公上搜索。

1、C语言程序设计,第2章 数据类型、运算符与表达式,本章主要学习任务,C的数据类型;2.常量、变量;3.常用基本数据类型的表示、机内存储、变量分类;4.数值型数据混合运算及类型转换规律。,2.1 C的数据类型,数据类型:数据的存在或组织形式 基本类型 指针类型 构造类型 空类型,整型字符型实型枚举型,单精度型双精度型,数组类型结构体类型共用体类型,注意:C语言中的数据有变量与常量,它们分别属于上述这些类型。,1、不同的数据类型有不同的取值范围。2、不同的数据类型有不同的操作。3、不同的数据类型即使有相同的操作有时含义也不同。4、不同的数据类型对计算机可能出现的错误不同。,2.2 常量与变量,一、

2、常量:字面常量 符号常量(用标识符代表)定义方法:#define PI 3.1415,不是C语句,不必在行末加分号。该命令是用标识符代替一个字符串,不作正确性检查使用符号常量的好处:含义清楚、见名知意。修改方便、一改全改。,二、变量变量必须先定义后使用变量名、变量值、存储单元的关系标识符标准:1、组成:字母、数字、下划线,且首字符不能为数字 合法:abc,_321,_1a,非法:2aa,a#c,_c.9 2、长度:3、大写小写不同 SUMsum 4、选择标识符的时候要“见名知意”,符号常量与变量的关系 符号常量:值在作用域内不能改变,不能被再赋值;常用大写 变量:值是可以改变,可以多次赋值的;

3、常用小写,2.3 整型数据,一、整型常量十进制整数:八进制整数:十六进制整数:注:C语言整常数没有二进制整数形式,二、整型变量内存中的存放形式 以二进制补码形式存放 每个基本整型变量在内存中占4个字节(VC环境中)整型变量的分类 基本类型 int 可加修饰符:short、long、signed、unsigned,整数类型,3.整型变量的定义定义格式:数据类型名 变量名;可定义多个相同类型的变量。各个变量用“,”分隔。类型说明与变量名之间至少有一个空格间隔。最后一个变量名之后必须用“;”结尾。变量说明必须在变量使用之前。可以在定义变量的同时,对变量进行初始化。,4.整型数据的溢出 整型数最大允许

4、值+1,最小允许值-1,会出现什么情况?例:短整型数据的溢出void main()short a=32767,b;b=a+1;printf(a=%d,b=%dn,a,b);,三、整型常量的类型整型常量赋值给整型变量时,如何匹配?值在-3276832767范围内的整数,可以赋值给int和short int、long int型变量。如果值超过了以上范围,在-21474836482147483647范围内,可以赋值给int、long int型变量。,2.4 实型数据,一、实型常量十进制小数形式:.123、123.、123.0 指数形式:e之前必须有数字,e后面指数必须是整数规范化的指数形式:字母e之

5、前的小数部分中,小数点左边应有且只有一位非零数字,二、实型变量实型数据在内存中是以指数形式存放的实型变量的分类 单精度 float 4字节 双精度 double 8字节 长双精度 long double 10字节3.实型数据的舍入误差 因为实型变量的有效位以外的数字将被舍去,由此会产生误差,void main()float a;double b;a=33333.33;b=33333.33333;printf(a=%f,b=%fn,a,b);三、实型常量的类型实型常量可以赋给float,double,long double,按变量类型截取实型常量中相应的有效数字位数,注意:不要试图用一个实数精确

6、表示一个大整数,记住:浮点数是不精确的。实数一般不判断“相等”,而是判断接近或近似。根据要求选择单精度、双精度。,2.5 字符型数据,一、字符常量直接用单引号括起来,使用字符的转义表示法表示(ASCII码表示)特殊字符:预先定义的一部分常用的转义字符。如n 换行,t水平制表。,转义表示格式:ddd或xhh(其中ddd,hh是字符的ASCII码,ddd八进制、hh十六进制)。注意:不可写成0 xhh或0ddd(整数)。,二、字符变量字符型变量是用来存放字符数据,同时只能存放一个字符。定义形式:char a=a,b=b;所有编译系统都规定一个字符变量在内存中占一个字节。三、内存中的存储形式 以字符

7、的ASCII码,以二进制形式存放,占用1个字节。,字符型数据和整型数据之间可以通用(当作整型量)。具体表现为:可以将整型量赋值给字符变量,也可以将字符量赋值给整型变量。可以对字符数据进行算术运算一个字符数据既可以以字符形式输出,也可以以整数形式输出。注意:字符型数据作为整数使用范围0-255(无符号)-128-127(有符号)。,例:给字符变量赋以整数(字符型、整型数据通用)main()/*字符a的各种表达方法*/char c1=a;char c2=x61;char c3=141;char c4=97;char c5=0 x61;char c6=0141;printf(c1=%c,c2=%c,

8、c3=%c,c4=%c,c5=%c,c6=%cn,c1,c2,c3,c4,c5,c6);printf(c1=%d,c2=%d,c3=%d,c4=%d,c5=%d,c6=%dn,c1,c2,c3,c4,c5,c6);,四、字符串常量字符串常量:是一对双引号(“”)括起来的字符序列。注意:字符常量与字符串常量。如“a”和a。C规定以0(ASCII码为0的字符)作为字符串结束标志。不能将字符串赋给字符变量。C语言没有专门的字符串变量,如果想将一个字符串存放在变量中,可以使用字符数组。,2.6 变量赋初值,C语言允许在定义变量的同时使变量初始化。可以使被定义的变量的一部分赋初值对几个变量赋同样的初值:

9、int a=3,b=3,c=3;错误的赋值表示:int a=b=c=3;,2.7 各类数值型数据的混合运算,整型、实型、字符型数据之间可以混合运算 进行运算时,不同类型的数据先转换成同一类型,然后进行计算转换的方法:自动转换(隐式转换)强制转换。,1.自动动转换(隐式转换)混合运算时,由编译系统自动完成。转换规则:(参看图2-10)赋值运算,赋值号右边的类型转换为左边的类型。这种转换是截断型的转换,不会四舍五入。2.强制转换 一般形式:(类型说明符)(表达式)功能:把表达式的结果强制转换为类型说明符所表示的类型。,例如(int)a 将a的结果强制转换为整型量。(int)(x+y)将x+y的结果

10、强制转换为整型量。(float)a+b 将a的内容强制转换为浮点数,再与b相加。说明:类型说明和表达式都需要加括号(单个变量可以不加括号)无论隐式转换,强制转换都是临时转换,不改变数据本身的类型和值。,例:强制类型转换void main()float f=5.75;printf(int)f=%dn,(int)f);printf(f=%fn,f);,2.8 算术运算符和算术表达式,C语言运算符:控制语句和输入输出以为的基本操作都作为运算符处理 P31表达式:使用运算符将常量、变量、函数连接起来,构成表达式。一、算术运算符+,-,*,/,%1.两个整数相除,结果为整数,舍入方式为“向零取整”2.求

11、余运算,两侧均应为整型数据,余数的符号与被求余数符号相同。,二、算术表达式1.算术表达式:用算术运算符将运算对象连接起来的、符合C语法规则的式子。2.运算对象可以是常量、变量、函数等。合法的C表达式:a*b/c-1.5+a 注意:C语言算术表达式的乘号(*)不能省略C语言表达式中只能出现字符集允许的字符。C语言算术表达式只使用圆括号改变运算的优先顺序(不要指望用)。,3.(算术)运算符的优先级与结合性(P.325附录)C语言规定了运算符的“优先级”和“结合性”。优先级别相同,则按规定的“结合方向”处理。左结合性右结合性对于复杂表达式为了清晰起见可以加圆括号“()”强制规定计算顺序。,四、自增、

12、自减运算符+i,i+-i,i-注意:前置运算:+i,-i,先自增、减,再参与运算;后置运算:i+,i-,先参与运算,再自增、减。例如:i=3,分析j=+i;j=i+;自增、减运算符不能用于常量或表达式。,五、表达式使用中的问题:1.表达式中子表达式的求值顺序;2.C编译系统在处理时尽可能多地将若干字符组成一个运算符(在处理标识符、关键字时也按同一原则处理);3.调用函数时,实参的求值顺序。,2.9 赋值运算和赋值表达式,一、赋值运算符 赋值符号“=”就是赋值运算符 二、类型转换 赋值运算时,当赋值运算符两边数据类型不同时,先将赋值号右边表达式类型转换为左边变量的类型,然后赋值。,1.实型数据赋

13、给整型变量2.整型数据赋给实型变量3.单双精度常量赋值给实型变量4.字符型赋给整型变量5.整型数据赋给字符型变量,三、复合的赋值运算符“=”之前加上其他二元运算符,构成复合的运算符a+=3;对应于a=a+3;四、赋值表达式变量=表达式将赋值运算符右侧的“表达式”的值赋给左侧的变量,赋值表达式的值就是被赋值的变量的值,2.10 逗号运算符和逗号表达式,逗号表达式:用逗号将两个表达式连接起来形式:表达式1,表达式2求解过程:自左向右,先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值,可以扩展到N个表达式优先级:所有运算符中优先级最低 例:a=3*5,a*4注意:函数参数也是用逗号来分隔的,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号