C语言程序数据类型与表达式,C语言程序设计第3章数据类型、运算符与表达式

《C语言程序设计第3章数据类型、运算符与表达式》由会员分享,可在线阅读,更多相关《C语言程序设计第3章数据类型、运算符与表达式(26页珍藏版)》请在人人文库网上搜索。

1、第三章 数据类型、运算符与表达式,C,第三章 数据类型、运算符与表达式,3.1 C 的数据类型 3.2 常量与变量 3.3 整型数据 3.4 实型数据 3.5 字符型数据 3.6 变量赋初值 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式,3.1 C 的 数 据 类 型,整型 字符型 基本类型 实型(浮点型) 单精度型 枚举类型 双精度型 数组类型 数据类型 构造类型 结构体类型 共用体类型 指针类型 空类型,回第三章,3.2 常 量 与 变 量,1.常量:在程序运行过程中,其值不能改变的量称为常量,也可以用。

2、一个标识符代表一个常量 #define PRICE 30 main() int num,total; num=10; total=num*PRICE; printf(“total=%d”,total);,main() int a,b; char x,y; a=1; b=2; x=c; y=s; printf(“%d=%c”,a,x); printf(“%d=%c”,b,y);,2. 变 量,其值可以改变的量称为变量,例: main( ) int a,b; a=3;b=4; printf(“%d”,a); a=a+b; printf(“%d”,a);,用来标识变量名、符号常量名、函数名、数组名、。

3、类型名、 文件 名的有效字符序列称为标识符。(关键字、预定义、用户标识符,标识符: 只能由字母、数字、下划线三种字符组成,且第一 个字符必须为字母或下划线,合法标识符:first , stu_1_1 , _tea , a1 , FIRST , First,非法标识符:a.m , ab i=10,2)整型变量的分类,基本整型,以 int 表示。如: int a,b; 短整型,以 short int 或 short表示。如:short a,b; 长整型,以 long int 或 long表示。如:long a,b; 无符号数。加上修饰符 unsigned,整型数据的取值范围: signed int。

4、 16位 -3276832767 %d unsigned int 16位 065535 %u signed short int 16位 -3276832767 %d unsigned short int 16位 065535 %u long int 32 位 -21474836482147483647 %ld unsigned long int 32位 04294967295 %lu,3) 整 型 变 量 的 定 义 与 使 用,对程序中的变量要先定义后使用,定义方式: int a; long a,b; unsigned long c,d,e,对变量的定义,一般放在函数开头的声明部分。 mai。

5、n() int a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d;b+u=%dn”,c,d);,main() int a,b; a=32767; b=a+1; printf(“%d,%d”,a.b);,运行结果:a+u=22;b+u=14,3.4 实 型 数 据,实型常量的表示方法 十进制小数形式。由数字和小数点 组成,如:.123 , 123. , 0.3 , 123.0 (必须要有小数点) 指数形式。如 123e3,123E3 都代表 123 X 103 。字母 e或E之前必须有数字,e后面的指数必须为整数,。

6、2. 实型变量 1)实型变量的分类:分为单精度型(float)、双精度型 (double)、长双精度型(long double)。(46页表3.2) 2)定义方式: float x,y; double z; long double t,3)实型数据的舍入误差,main() float a,b; a=123456.789e5; b=a+20; printf(“%f”,b);,运行结果: 12345678848.000000,实型常量的类型: f=2.45678*4523.65 f=2.45678f*4523.65f float a; double b; a=111111.111;b=111111。

7、.111,Float型: 7位有效位,3.5 字 符 型 数 据,1.字符常量:用单撇号括起来的一个字符。如:a ,? ,D。 特殊形式的字符常量(转义字符):n , r , 005 , x2e,2.字符变量:用来存放字符常量,一个字符变量只能存放一 个字符,char c1,c2; c1=a; c2=b,c1=97; c2=98,int c1; char c2; c1=a; c2=97,48页表3.3,例: main() char c1,c2; c1=97; c2=98; printf(“%c %cn”,c1,c2); printf(“%d %dn”,c1,c2);,例: main() cha。

8、r c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“%c %c”,c1,c2);,运行结果: a b 97 98,运行结果: A B,字符串常量:是用一对双撇号括起来的字符序列。 “china” , “a” , “$ 123.45”,字 符 串 常 量,printf(“How do you do”,char c; c=a,c=“a”; X,3. 6 变 量 赋 初 值,main() int a,b; char x,y; a=1; b=2; x=c; y=s; printf(“%d=%c”,a,x); printf(“%d=%c”,b,y);,int。

9、 x1=3; int x1; x1=3; int a=1,b=2; char x=c,y=s; float a,b,c=5; float a,b,c; c=5,3. 7 各类数值型数据间的混合运算,float a; a=1.3+3.73,char c1,c2=A; c1=c2+0,long a,b=123; int c=5; a=b+c,double a=3.4416; int b,c=3; b=a*c,10+a+i*f-d/e,i:int,f:float,d:double,e:long,3/1.0,3. 8 算术运算符和算术表达式,基本的算术运算符: + , - ,* ,/ ,% 3+5 ,。

10、 5-2 , 3*5 , 5/3 ,5.0/3, 5%3 , -17%3, 19%-4(%两侧必须为整数,算术表达式:用算术运算符和括号将运算对象连接起来 的、符合C语法规则的式子。 a*b/c-1.5+a 运算符的优先级和结合性。 在表达式求值时,先按运算符的优先级别高低次序执行。 a-b*c 算术运算符的结合方向为自左至右。 a-b+c 注意:如果一个运算符的两侧的数据类型不同,则先进行 类型转换,再进行运算,a-b+c*d,算术运算符的优先级,4. 强制类型转换运算符,可以利用强制类型转换运算符将一个表达式转换成所需类型。 (double)a (int)(x+y) (float)(5%3。

11、) 一般形式: (类型名)(表达式) (int)(x+y) (int)x+y,例1: main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i);,运行结果: x=3.600000,i=3,5. 自增、自减运算符,i, - -i,int j,i=3; j=+i,i+,i-,int j,i=3; j=i,int i=3,j=4; printf(“%d,%d”,+i,j+): Printf(“%d,%d”,i,j,4,4 4,5,注意: 1)自增运算符和自减运算符只能用于变量,而不能 用于常 量或表达式 i+ ,+i 5+ (i+。

12、j),2)+ 和 - - 的结合方向是“自右至左,main() int k,i=232; k=-i+; Printf(“%d,%d”,k,i,232,233,main() int k,i=232; k=-+i; Printf(“%d”,k,233,i=i+1; j=i,j=i; i=i+1,3. 9 赋值运算符和赋值表达式,1. 赋值运算符:= a=3 a=3+5,2. 类型转换。若赋值运算符两侧的类型不一致,是数值 型或字符型时,在赋值时要进行类型转换,1)将实型数据赋给整型变量时,舍弃小数部分。 a=3.56,将整型数据赋给单、双精度变量时,数值不变,但以浮点 数形式存储到变量中 f=23。

13、,将一个double型数据赋给float变量时,截取其前面7位 有效数字。 f=23.20242628202426 将一个float型数据赋给double变量时,数值不变,有效 位数扩展到16位,4) 字符型数据赋给整型变量时,将字符数据的8位放到整型变 量低8位中,2、所用系统将字符处理为带符号的量,若字符最高位为0, 则整型变量高8位补0;若字符最高位为1,则高8位补1,1、所用系统将字符处理为无符号的量或对unsigned char 型变量赋值,高8位补0,5)将一个 int 、short 、long 型数据赋给一个 char 型变量 时,只将其低8位原封不动地送到 char 型变量,i。

14、nt i=289; char c; c=i,3.复合的赋值运算符:在赋值符“=”之前加上其他运算符。 a+=3 a=a+3 x*=y+8 x=x*(y+8) x%=3 x=x%3,main() int a=2,b=7; a*=b*5-3; printf(“%d”,a,a=a*(b*5-3,运行结果:64,赋值表达式:由赋值运算符将一个变量和一个表达式连接 起来的式子称为 “ 赋值表达式,一般形式: a=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a+=a-=a*a a=12 a=a+(a-=a*a) a=a+(a=a-(a*a) print。

15、f(“%d”,a=3+5,3.10 逗号运算符和逗号表达式,逗号运算符:又称为顺序求值运算符,用来将两个表达式连接 起来,逗号表达式的一般形式: 表达式1,表达式2 3+5,6+8 求解过程:先求解表达式1,再求解表达式2。整个逗号表达 式的值是表达式2的值。 a=3*5,a*4,一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式 (a=3*5,a*4),a+5,逗号表达式的扩展形式: 表达式1,表达式2,表达式3,表达式 n,逗号表达式的优先级别: 在所有运算符中级别最低。 x=(a=3,6*3) x=a=3,6*a,注意:并不是所有的逗号 都作为逗号运算符。 如: printf(“%d,%d”,a,b,练习: 1、指出程序中的错误 main( ); float r,s; r=5.0; S=3.14159*r*r; printf(“%dn”,s,2、x的值为多少 x=(y=4,+y,y+4,3、以下选择中,正确的赋值语句是: A a=1,b=2 B i+; C a=b=5 D y=int(x,main( ) float r,s; r=5.0; s=3.14159*r*r; printf(“%fn”,s。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值