数据类型表达式.docx
- 文档编号:30747547
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:12
- 大小:19.63KB
数据类型表达式.docx
《数据类型表达式.docx》由会员分享,可在线阅读,更多相关《数据类型表达式.docx(12页珍藏版)》请在冰豆网上搜索。
数据类型表达式
数据类型、运算符和表达式
一、数据类型
P37
二、常量(在程序运行过程中,其值不可以改变的数据)
1.符号常量
必须首先进行说明,格式:
#definePI3.14159(实例)
标准格式:
#define符号常量名具体取值
【解释】其中“符号常量名”的命名规则同“用户标识符”,习惯上大写。
2.普通常量(靠书写来确定其类型和值)
(1)整型常量
●普通整型范围-32768~+32767
占2B
●长整型占4B
书写长整型常量时,必须在其后加上l或L。
否则只当成普通整型常量。
(2)浮点型常量
单精度(float)型,有效位一般7位,
双精度(double)型,有效位一般16位。
除带小数点的写法外,还有一种e指数格式:
aEb
其中a是一个合法的整数或实数,
b必须是一个整数。
含义是a×10b
(3)字符型常量(占1B)
用单引号括起来的单个字符。
例如:
'A'、'!
'、'\n'、'\0'(后两个称为转义字符,特征是以反斜杠开头)
'\n'表示换行符
'\0'表示空字符(其ASCII码值为0)
*字符型数据在C中以ASCII码值(8个0、1序列)存放的。
【结论】字符型数据与一定范围内的整型数据可以相通使用。
(比如:
0~127……)
(4)字符串型常量(没有变量形式)
用双引号括起来的多个字符。
例如:
"Hello"、""(空串)、"A"……总是以'\0'作为结束标志(系统自动加入)。
所以"A"占2B。
三、变量(在程序运行过程中,其值可以改变的数据)
变量必须先定义(说明),后使用!
1.普通整型变量(2B)
int变量系列;
若有多个变量,之间用逗号分隔。
变量命名同用户自定义标示符。
例如:
inta,b,c;
等价于
inta;
intb;
intc;
2.长整型变量(4B)
longint变量系列;或
long变量系列;
3.单精度浮点型变量(4B)
float变量系列;
4.双精度浮点型变量(8B)
double变量系列;
5.字符型变量(1B)
char变量系列;
四、算术运算符与算数表达式
1.算术运算符
正号通常省略、-(负号):
单目运算符
*(乘号,不可以省略)、/(除号)
%(整除求余)
+、-(以上5个是双目运算符)
(1)说明
①在C语言中,凡是一个算术表达式中的运算对象的类型相同,则运算结果也为该类型。
【注意】C系统对小数自动取整时,直接去掉小数部分。
②在C语言中,凡是一个算术表达式中的运算对象的类型不相同时,按教材P54图3-10统一类型,再进行计算,运行结果为统一后的类型。
“就高不就低”。
(2)%使用注意事项
①%左右两侧的数据类型必须是整型。
②假设a和b是两个整数,则a%b的结果是,a除以b产生的余数。
③%的一个重要应用:
可以用来判断“两个整数a、b,若a能够被b整除”,则可以表达成“a%b==0”(3)强制类型转换
【格式】
(类型名)转换对象
【说明】
1其中“类型名”为int、float、char、double等
2“转换对象”可以是单个常量或变量,也可以是任意表达式,此时必须用()将该表达式括住。
例如:
7.5%5×
(int)7.5%5√
(int)(7.5%5)×
(int)(7.5)%5√与第二个式子等价
2.举例:
例1、3/5+1/2结果为0
例2、9.8+3/5结果为9.8
例3、9.8+3/5.0结果为10.4
9.8+3.0/5.09.8+0.610.4
例4、((1/2*(3+3.5)-4)+6)/2.0结果为1.0
((1/2*6.5-4)+6)/2.0((0*6.5-4)+6)/2.0((-4.0)+6)/2.02.0/2.01.0
例5、((1/(2*(1+1.5))-4)+6)/2.0结果为
((1/(2*2.5)-4)+6)/2.0((1/5.0-4)+6)/2.0((0.2-4)+6)/2.0(-3.8+6)/2.02.2/2.01.1
例6、'A'%8结果为1
65%8
五、赋值运算符和赋值表达式
=
【功能】给变量赋值(让变量获得值)。
【使用格式】变量=表达式
【说明】
(1)赋值号左边只能是变量,不能是常量或由运算符构成的表达式。
(2)右边可以是常量、有值的变量或是可以计算出结果的表达式。
(3)应用:
可以加上分号,成为独立应用的赋值语句。
(4)给变量初始化(在定义变量的同时给变量赋值,才叫初始化)。
inta=8,b;/*对a初始化*/
b=29;/*赋值语句*/
其中,/*……*/之间可以加说明内容,只是给“人”看的,机器看不懂,也不看(不参加编译)。
专门用来注释。
【注意】当某变量定义后,没有被以任何方式赋值,该变量就没有合法的值,但其被分配的内存中有一个原有的值,
通常称该值为不确定值或未知值(事先不知道该值的大小)。
新赋的值总是将前一个值冲走。
(5)当赋值号右边的类型与左边不一致,右边服从左边。
但左右必须兼容,否则,报错。
(6)自反赋值号
例如:
+=、-=、*=、/=、%=
inta;
a=9;
a*=a-6;
/*此句等价于a=a*(a-6);*/
【注意】右边是一个整体,通常在改写后要加()。
(7)赋值号是右结合性,但是不可以在定义时出现连赋值的形式,只可以在定义后出现。
例如:
inta,b;
a=b=6;√
而
inta=b=6;×
应该改成:
inta=6,b=6;√
六、格式输出函数printf
1.格式
(1)printf("格式控制字符串",输出列表);/*通常加分号构成输出语句用*/
(2)printf(字符串常量);
/*专门用来一个字符串常量*/
2.说明
(1)第二种格式只能输出一个字符串常量,而第一种格式可以一次输出多个任意的常量、变量、表达式的值。
(2)第二大参数“输出列表”,可以是一个或多个输出对象,两两之间加上逗号。
(3)第一大参数“格式控制字符串”,
若输出对象为int型,则对应格式符%d
若输出对象为long型,则对应格式符%ld
若输出对象为float型,则对应格式符%f
若输出对象为double型,则对应格式符%lf
若输出对象为char型,则对应格式符%c
若输出对象为字符串型,则对应格式符%s
格式符的个数最好与输出对象的个数一致。
(4)在各个格式符之间通常应该加合适的分隔符,比如:
逗号、换行符等。
(5)在第一大参数中,除%开头的格式符是对应输出对象的值以外,其他符号原样输出。
例1、求半径为10的圆的周长、面积,对应球的体积。
#definePI3.14159/*书写在函数体外*/
#include
main()
{floatc,s,v,r;
r=10;
c=2*PI*r;
s=PI*r*r;
v=4.0/3*PI*pow(r,3);
printf(“c=%f\ns=%f\nv=%f\n”,c,s,v);
}
七、格式输入函数scanf
1.功能
接受从键盘输入的数据,(存放到)赋值给相应的变量。
2.格式
scanf("格式控制字符串",变量的地址表);
3.说明
(1)“变量的地址表”即欲获得值的变量的地址系列,之间用逗号隔开,各变量的地址表示法:
&变量名。
&即为“取地址符”(单目运算符)
(2)在第一大参数中,除%开头的格式符是对应输入对象以外,其它符号最好不加,否则,其它字符将必须原样输入。
(3)当在第一大参数中只含有%控制符时,若输入对象为多个且为数值型时,输入的各数据之间可以以①回车键②空格做分隔符。
输入彻底结束时,按回车键。
例如:
inta,b;
scanf(“%d%d”,&a,&b);
则正确的输入是:
(a获值7,b8)
78<回车>
或
7
8
(4)当在第一大参数中只含有%控制符时,若输入对象为多个且为字符型时,输入的各数据之间不能有任何分隔符,否则,该分隔符将被相应变量以合法字符获值。
charc1,c2;
scanf(“%c%c”,&c1,&c2);
使c1获值‘?
’,c2‘!
’,则
正确输入为
?
!
(5)通常有人喜欢用逗号等简单常用的分隔符作为%控制符之间的符号,若
若输入对象为多个时,各输入数据之间就用该符号分隔(即原样输入)。
八、关系运算符和关系表达式
1.关系运算符
>、>=、<、<=、==、!
=
2.关系表达式的运算结果应该是逻辑型
C语言没有逻辑量,C用数值形容逻辑值。
用1形容逻辑真,用0形容逻辑假;
用户给所谓的逻辑值给C时,给非0都理解成逻辑真;给0才理解成逻辑假。
3.数学中出现的连不等式通常在C中要以逻辑表达式书写。
例如:
数学中5≥4≥3,在C若写成:
5>=4>=3,则结果为0;应该写成:
5>=4&&4>=3
九、逻辑运算符和逻辑表达式
!
逻辑非(逻辑否定)
&&逻辑与(乘)
||逻辑或(加)
【说明】在一个(连)逻辑与的表达式中,若左侧的值已为0,则右侧不做处理;在一个(连)逻辑或的表达式中,若左侧的值已为非0,则右侧不做处理。
例如:
inta,b,c,d;
a=b=9;
c=d=7;
(a=a printf(“%d,%d\n”,a,b); 输出结果是0,9 若改成: inta,b,c,d; a=b=9; c=d=7; (a=a>c)&&(b=18); printf(“%d,%d\n”,a,b); 输出结果是1,18 十、条件表达式 1.条件运算符(右结合性) ? : (三目运算符) 2.格式 表达式1? 表达式2: 表达式3 3.含义 当表达式1的值为非0时(为真),就以表达式2作为整个式子的结果用;当表达式1的值为0时(为假),就以表达式3作为整个式子的结果用。 inta; a=3>5? 3: 5; printf(“%d\n”,a); 十一、逗号表达式 1.格式 表达式1,表达式2,……,表达式n 2.表达式的结果 是最后一个表达式分量即表达式n的结果。 3.执行情况 从左到右依次执行每一个表达式 十二、自加、自减运算符 ++、--(单目运算符) 【使用格式】 格式一: 变量++ 变量-- 格式二: ++变量 --变量 【说明】 1.变量的类型可以是int、long、char、float、double型。 一般用于整型居多。 2.格式一和格式二都可以改写成: 变量=变量+1(++) 变量=变量-1(--) 3.当两种格式独立使用时,二者完全等价。 否则,格式一是取变量的原值先用,然后立即增1(减1);格式二先增1(减1),然后是取变量现值(增1后的值)用。 例1: inta,b; a=b=7; a++;/*独立构成语句*/ ++b;/*独立构成语句*/ printf(“%d,%d\n”,a,b); 输出结果是8,8 例2. inta,b,x,y; a=b=7; x=a++; y=++b; printf(“a=%d,b=%d\n”,a,b); printf(“x=%d,y=%d\n”,x,y); 输出结果是: a=8,b=8 x=7,y=8 【C函数调用的特点】先处理右边的参数,后处理左边的参数! 例如: inta; a=7; printf(“%d,%d\n”,a,++a); 输出结果是: 8,8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型 表达式