1、二章数据类型运算符及表达式例题:输入一个四位的正整数,提取并输出每一位例题:输入一个四位的正整数,提取并输出每一位上的数字。上的数字。例如:输入例如:输入1978,则输出,则输出1,9,7,8问题问题3:怎样输入怎样输入数据?数据?问题问题2:输:输入的数据怎入的数据怎样存放?样存放?问题问题4:通过:通过什么运算可以什么运算可以将每一位上的将每一位上的数字取出?数字取出?问题问题5:怎:怎样将结果保样将结果保存并输出?存并输出?问题问题1:输输入的是什入的是什么样的数么样的数据?据?问题问题1:输输入的是什入的是什么样的数么样的数据?据?答:整数。答:整数。C C数数据据类类型型基本类型基本
2、类型构造类型构造类型指针类型指针类型字符类型字符类型charchar枚举类型枚举类型enumenum整型整型浮点型浮点型单精度型单精度型floatfloat双精度型双精度型doubledouble短整型短整型shortshort长整型长整型longlong整型整型intint数组数组结构体结构体structstruct共用体共用体unionunion空类型空类型voidvoid问题问题2:输:输入的数据怎入的数据怎样存放?样存放?答:暂存于变量中。答:暂存于变量中。变量:其值可以改变的量。变量:其值可以改变的量。在使用时应为每个变量起一个名字在使用时应为每个变量起一个名字变量名变量名 可以给变
3、量赋值可以给变量赋值变量值变量值注意区分变量名和变量值的不同注意区分变量名和变量值的不同:变量名:实际上是一个符号地址,在编译时,系变量名:实际上是一个符号地址,在编译时,系统根据变量的类型分配相应的内存单元。统根据变量的类型分配相应的内存单元。变量值:内存存储单元中存放的数据。变量值:内存存储单元中存放的数据。2000H2001H2002H2003H2004Hint x;系统给系统给x分配了分配了4个字节个字节的空间的空间x=3;30000001100000000如果在程序中需要用到如果在程序中需要用到3这个数据这个数据了,那么我们可以直接用了,那么我们可以直接用x这个变这个变量名称来代表(
4、取得)它。例如:量名称来代表(取得)它。例如:x*6使用变量值:实际上就是根据使用变量值:实际上就是根据变量名所标识的地址找到相应变量名所标识的地址找到相应的内存单元,从中取出数据。的内存单元,从中取出数据。变量名变量名变量值变量值0000000000000000标识符:标识符:用来标识变量名、符号常量名、函数用来标识变量名、符号常量名、函数名、数组名、文件名等的有效字符序列。名、数组名、文件名等的有效字符序列。C中对用户自定义标识符的规定:中对用户自定义标识符的规定:只能由字母、数字、下划线组成;只能由字母、数字、下划线组成;例如:例如:max min x_1 _a1 第一个字符必须为字母或
5、者下划线;第一个字符必须为字母或者下划线;不能和系统的关键字重名。不能和系统的关键字重名。在在C语言中,标识符有语言中,标识符有3种:种:、和和 。关键字关键字系统预定义的标识符系统预定义的标识符用户标识符用户标识符练习:判断下列标识符的正误:练习:判断下列标识符的正误:stu1 a.1 a_2 _xy x?y 1ab int xxxx注:注:1)见名知义见名知义2)先定义,后使用;先定义,后使用;题解:题解:#include“stdio.h”void main()问题问题2:输:输入的数据怎入的数据怎样存放?样存放?答:暂存于变量中。答:暂存于变量中。整型变量如整型变量如何说明?何说明?答:
6、答:int 变量名称表变量名称表例如:例如:int a,b;int x,thun,hun,ten,id;分析:程序中用到几个变量?分析:程序中用到几个变量?问题问题3:怎样输入怎样输入数据?数据?答:答:scanf函数函数格式:格式:scanf(格式控制,地址列表格式控制,地址列表)注:注:1、功能:从标准输入设备上读入不同类型的多个数、功能:从标准输入设备上读入不同类型的多个数据,并将它们按照指定格式进行转换后,存储于地址据,并将它们按照指定格式进行转换后,存储于地址列表对应的变量中。列表对应的变量中。由由%和格式字符组成。和格式字符组成。整型变量的格式字符:整型变量的格式字符:d由若干个变
7、量地址组由若干个变量地址组成。(成。(&变量名)变量名)题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(,);输入整型输入整型数据存放数据存放在变量在变量x中中“”%d&x%d&x%d&x问题问题4:通过什么运:通过什么运算可以将每一位上算可以将每一位上的数字取出?的数字取出?答:算术运算答:算术运算 四、四、算术运算符和算术表达式算术运算符和算术表达式1.1.基本的算术运算符基本的算术运算符+(+(加加)-()-(减减)*(乘乘)/()/(除除)%(%(模,或求余,模,或求余,%两侧均应为整型数据两侧均应为整型数据)。2.
8、算术表达式:用算术运算符将运算对象连算术表达式:用算术运算符将运算对象连接起来的式子。接起来的式子。例如:表达式表达式表达式的值表达式的值2+3*2.59.55/22-5/2-2两个整数相除结两个整数相除结果仍然为整数,果仍然为整数,而且向零取整。而且向零取整。5%3 2(-5)%3 -2将下列算术式子用将下列算术式子用c语言的形式表达出来:语言的形式表达出来:1、3+2xy3+2*x/y2、x+5y(8-z)2X+5*y/(8-2)*(8-2)()题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(“%d”,&x);thun=
9、hun=ten=id=x/1000;x%1000/100;x%100/10;x%10;通过运算分别通过运算分别求得个、十、求得个、十、百、千位上的百、千位上的数字数字问题问题5:怎样将:怎样将结果输出?结果输出?答:答:printf函数函数格式:格式:printf(格式控制,输出项表格式控制,输出项表)注:注:1、功能:向终端输出若干任意类型的数据、功能:向终端输出若干任意类型的数据由由%和格式字符组成。和格式字符组成。整型变量的格式字符:整型变量的格式字符:d由若干个变量名或者由若干个变量名或者表达式组成。表达式组成。题解:#include“stdio.h”void main()int x,
10、thun,hun,ten,id;scanf(“%d”,&x);thun=x/1000;hun=x%1000/100;ten=x%100/10;id=x%10;分别输出个、分别输出个、十、百、千位十、百、千位上的数字上的数字printf(“%d,%d,%d,%dn”,thun,hun,ten,id);1)格式控制:双引号括起来的字符串。)格式控制:双引号括起来的字符串。例如:例如:printf(“x=%d,y=%dn”,x,y);格式控制格式控制输出列表输出列表一般包括两种信息:一般包括两种信息:格式说明:格式说明:由由%和格式字符组成。例如:和格式字符组成。例如:%c%d%f 等等等等普通字符
11、:照原样输出普通字符:照原样输出格式说明格式说明普通字符普通字符printf函数的进一步说明:函数的进一步说明:若若x、y的值分别为的值分别为3、5则输出:则输出:x=3,y=5题解:#include“stdio.h”void main()int x,thun,hun,ten,id;scanf(“%d”,&x);thun=x/1000;hun=x%1000/100;ten=x%100/10;id=x%10;若输入的数据为若输入的数据为1978,则输出则输出1978:1,9,7,8printf格式应怎样规定?格式应怎样规定?printf(“,);x,thun,hun,ten,id%d:%d,%d
12、,%d,%dn一、整型常量一、整型常量十进制:十进制:由正负号以及由正负号以及0到到9的数字组成,的数字组成,不能包含小数点。不能包含小数点。例如:例如:12 -36 等等等等八进制:八进制:以以0开头,由开头,由0到到7的数字组成,的数字组成,例如:例如:014 -042 等等等等十六进制:十六进制:以以0 x或者或者0X开头,开头,由由0到到9及及a到到f或者或者A到到F的数字组成,的数字组成,例如:例如:0 xb -0 x22 等等等等1、整型变量的存放形式、整型变量的存放形式整型数据在内存中以二进制的补码形式存放。整型数据在内存中以二进制的补码形式存放。整型变量整型变量基本整型基本整型
13、(4B)短整型短整型(2B)长整型长整型(4B)有符号有符号 int无符号无符号 unsigned int 有符号有符号 short(int)无符号无符号 unsigned short(int)有符号有符号 long (int)无符号无符号 unsigned long(int)练习练习:1、输入一个分钟数,转换成小时和分钟输出。、输入一个分钟数,转换成小时和分钟输出。例如输入例如输入200,则输出,则输出 200 minutes=3 hours and 20 minutes2、输入两个整数,分别存放于两个变量中,然后、输入两个整数,分别存放于两个变量中,然后将两个变量的值交换并输出。将两个变量
14、的值交换并输出。1、定义一个整型的变量、定义一个整型的变量x,应使用的语句,应使用的语句为为:。int x;2、C语言本身不提供输入输出语句,输入和输出操语言本身不提供输入输出语句,输入和输出操作是由作是由C函数库中的函数来实现的。最基本的输出函函数库中的函数来实现的。最基本的输出函数是数是 ,最基本的输入函数是,最基本的输入函数是 。若已有定义:若已有定义:int x;则则printf();scanf();从键盘输入数据给从键盘输入数据给x应使用的语句为:应使用的语句为:。scanf(”%d”,&x);若若x的值为的值为100,要求输出,要求输出x=100的语句为:的语句为:。printf(
15、”x=%d”,x);例题(例题(sy4.c):输入一个小数,将其保留小数位):输入一个小数,将其保留小数位数后两位(进行四舍五入),并输出结果。数后两位(进行四舍五入),并输出结果。例如:输入例如:输入123.674,则输出,则输出123.67 输入输入123.678,则输出,则输出123.68问题问题3:怎样输入怎样输入数据?数据?问题问题2:输:输入的数据怎入的数据怎样存放?样存放?问题问题4:通过:通过什么运算可以什么运算可以将数据保留至将数据保留至小数位后两位小数位后两位并进行四舍五并进行四舍五入?入?问题问题5:怎:怎样将结果保样将结果保存并输出?存并输出?问题问题1:输输入的是什入
16、的是什么样的数么样的数据?据?问题问题1:输输入的是什入的是什么样的数么样的数据?据?答:小数,答:小数,实型数据。实型数据。实型数据也叫浮点数(实型数据也叫浮点数(floatingpoint number)一、实型常量一、实型常量表示形式有两种:表示形式有两种:1)十进制小数形式:由数字和小数点组成。)十进制小数形式:由数字和小数点组成。而且必须有小数点。而且必须有小数点。例如:例如:1.2 3.45 .67 100.等等等等2)指数形式:)指数形式:例如数据例如数据 1234.5 可以表示成:可以表示成:123.45 x 101123.45e+112.345e+212.345 x 1021
17、.2345e+31.2345 x 10312345e-112345 x 10-1规范化的指数形式:小数点前规范化的指数形式:小数点前有而且只有一位非零的数字有而且只有一位非零的数字题解:题解:#include“stdio.h”void main()问题问题2:输:输入的数据怎入的数据怎样存放?样存放?答:暂存于变量中。答:暂存于变量中。实型变量如实型变量如何说明?何说明?答:答:float 变量名称表变量名称表例如:例如:float a,b;float x,y;分析:程序中用到几个变量?分析:程序中用到几个变量?1、存放形式:、存放形式:按指数形式存放。按指数形式存放。一般的实型数据占用一般的
18、实型数据占用4个字节。即个字节。即32位。位。单精度单精度 float 4B 有效位有效位7位位双精度双精度 double 8B 有效位有效位16位位3、输入、输出格式符、输入、输出格式符单精度单精度%f长双精度长双精度 long double问题问题3:怎样输入怎样输入数据?数据?答:答:scanf函数函数格式:格式:scanf(格式控制,地址列表格式控制,地址列表)由由%和格式字符组成。和格式字符组成。实型数据的格式字符:实型数据的格式字符:f由若干个变量地址组由若干个变量地址组成。(成。(&变量名)变量名)题解:题解:#include“stdio.h”void main()float x
19、,y;scanf(,);输入实型输入实型数据存放数据存放在变量在变量x中中“”%f&x问题问题4:通过什么运:通过什么运算可以将小数四舍算可以将小数四舍五入保留到小数位五入保留到小数位后两位?后两位?答:算术运算答:算术运算 100123.68123.6712367.812367.4123.678123.6741236812367+0.512368.312367.9?(int)100y=(int)(x*100+0.5)y=(int)(x*100+0.5)/100 xy=x*100y=x*100+0.5?.?题解:题解:#include“stdio.h”void main()float x,y;
20、scanf(“%f”,&x);问题问题4:通过运:通过运算以将小数四舍算以将小数四舍五入保留到小数五入保留到小数位后两位?位后两位?y=(int)(x*100+0.5)/100.2.4.22.4.2强制类型转换运算符强制类型转换运算符 可以利用强制类型转换运算符将一个表达可以利用强制类型转换运算符将一个表达式转换成所需类型。例如:式转换成所需类型。例如:(double)a (double)a (将将a a转换成转换成doubledouble类型类型)(int)(x+y)(int)(x+y)(将将x+yx+y的值转换成整型的值转换成整型)(float)(5%3)(float)(5%3)(将将5%
21、35%3的值转换成的值转换成floatfloat型型)一般形式为一般形式为(类型名类型名)()(表达式表达式)(int)x+y(int)x+y 则只将则只将x x转换成整型,然后与转换成整型,然后与y y相加。相加。注意:注意:强制类型转换时,原变量类型未变化。强制类型转换时,原变量类型未变化。书写格式书写格式 (int)x(int)x不要写成不要写成int(x)int(x)float a=5.1,cfloat a=5.1,c;int bint b;b=a%3b=a%3;c=ac=a*b;b;float a=5.1,cfloat a=5.1,c;int bint b;b=(int)a%3b=(
22、int)a%3;c=ac=a*b b注意:强制类型转换运算符优先级高于算术运算符注意:强制类型转换运算符优先级高于算术运算符优先级优先级C的值是:的值是:1010.2练习:设练习:设 x=2.5,a=7,y=4.7 计算下列表达式计算下列表达式的值x+a%3*(x+y)%x/4(int)(x+y)%(int)x/4 错误的表达式错误的表达式正确的表达式正确的表达式=2.5+7%3*(int)(2.5+4.7)%(int)2.5/4=2.5+1*(int)(7.2)%2/4=2.5+1*7%2/4=2.5+1/4=2.5+0.25=2.7502.5问题问题5:怎样将:怎样将结果输出?结果输出?答
23、:答:printf函数函数格式:格式:printf(格式控制,输出项表格式控制,输出项表)由由%和格式字符组成。和格式字符组成。实型变量的格式字符:实型变量的格式字符:f由若干个变量名或者由若干个变量名或者表达式组成。表达式组成。题解:题解:#include“stdio.h”void main()float x,y;scanf(“%f”,&x);y=(int)(x*100+0.5)/100.;printf(“%f”,y);例如:输入一个球的半径(整数),分别计算球例如:输入一个球的半径(整数),分别计算球的周长、截面积和体积,并输出。的周长、截面积和体积,并输出。main()float l,s
24、,v;/*对变量的声明*/scanf(“%d”,&r);/*输入球的半径*/l=/*圆的周长*/s=/*圆的截面积*/2*3.1416*r;3.1416*r*r;v=/*球的体积*/4*3.1416*r*r*r/3;#define PI 3.1416PIPIPI3.14符号常量符号常量printf(“circumference:%f,area:%f,volum:%fn”,l,s,v);int r;2.3.3 2.3.3 字符型数据字符型数据 一、一、字符常量字符常量 C C的字符常量是用的字符常量是用单引号单引号括起来的一个字符括起来的一个字符。如。如aa,xx,dd,?,等都是字符常量。等都
25、是字符常量。C C还允许用一种特殊形式的字符常量,就是还允许用一种特殊形式的字符常量,就是以一个以一个“”开头的字符序列开头的字符序列,称为转义字称为转义字符。符。例如,例如,nn,它代表一个,它代表一个“换行换行”符。符。这是一种这是一种“控制字符控制字符”,在屏幕上是不能,在屏幕上是不能显示的。显示的。转义字符转义字符 nn 回车换行回车换行 t t 跳至下一个制表跳至下一个制表位位 b b 退格退格 r r 回车不换行回车不换行 f f 换页显示换页显示 显示显示 显示显示 ”显示显示”ddd 1-3ddd 1-3位位8 8进制数进制数 xhh 1-2xhh 1-2位位1616进制数进制
26、数 例例2.52.5转义字符的使用。转义字符的使用。ain()ain()printf(ab ct derftgn);printf(ab ct derftgn);程序中没有设字符变量,用程序中没有设字符变量,用printfprintf函数直函数直接输出双引号内的各个字符。其中接输出双引号内的各个字符。其中tt等表等表示转义字符。示转义字符。8 8位字符位字符 例例2.52.5转义字符的使用。转义字符的使用。ain()ain()printf(ab ct derftgn);printf(ab ct derftgn);然后遇到然后遇到“t”t”,跳到下一个,跳到下一个“制表位置制表位置”输出输出ded
27、e“ab c de”“ab c de”遇到遇到“r”r”,它代表,它代表“回车回车”(不换行不换行),则,则返回行首继续输出返回行首继续输出rr后的字符后的字符f f“fab c de”“fab c de”例例2.52.5转义字符的使用。转义字符的使用。ain()ain()printf(ab ct derftgn);printf(ab ct derftgn);又遇到又遇到“t”t”,它代表,它代表“跳转下一个制表位跳转下一个制表位”,继续输出字符,继续输出字符g g,然后遇到,然后遇到nn换下行继换下行继续输出。续输出。“f gde”f gde”8 8个字符个字符 二、二、字符变量字符变量 字
28、符变量的定义形式如下:字符变量的定义形式如下:charchar变量名表变量名表 例如:例如:char c1,c2;char c1,c2;注意只能放一个字符。占用注意只能放一个字符。占用1 1个字节个字节 用下面语句可以对用下面语句可以对c1c1、c2c2赋值:赋值:c1=ac1=a;c2=bc2=b;三、三、字符串常量字符串常量 c c规定:在每一个字符串的结尾加一个规定:在每一个字符串的结尾加一个“字符串结字符串结束标志束标志”,以便系统据此判断字符串是否结束。,以便系统据此判断字符串是否结束。C C规定以字符规定以字符00作为字符串结束标志。作为字符串结束标志。00是一个是一个ASCIIA
29、SCII码值为码值为0 0的字符,代表一个空操作。的字符,代表一个空操作。对对错错错错错错四、对字符数据的输入输出格式符为:四、对字符数据的输入输出格式符为:%c 五、五、内存中的存储形式及其使用方法内存中的存储形式及其使用方法字符字符aaASCIIASCII码:码:内存形式:内存形式:97970110000101100001ASCIIASCII码:码:内存形式:内存形式:98980110001001100010字符字符bb字符字符AA内存形式:内存形式:0100000101000001内存形式:内存形式:0100001001000010字符字符BBASCIIASCII码:码:6565ASCI
30、IASCII码:码:6666 例例2.62.6向字符变量赋以整数。向字符变量赋以整数。main()main()char c1 char c1,c2;c2;c1=97;c2=98;c1=97;c2=98;printf(%c%cn printf(%c%cn,c1c1,c2);c2);printf(%d%dn printf(%d%dn,c1c1,c2);c2);注意:注意:%c%c表示什么含义表示什么含义%d%d表示什么含义表示什么含义总结:字符变量可用整型数据赋值总结:字符变量可用整型数据赋值 字符数据可输出字符,亦可输出整数字符数据可输出字符,亦可输出整数 例例2.72.7大小写字母的转换。(字
31、符数据运算)大小写字母的转换。(字符数据运算)main()main()char c1 char c1,c2c2;c1=a;c1=a;c2=b;c2=b;c1=c1-32;c1=c1-32;c2=c2-32;c2=c2-32;printf(“%printf(“%c c,%c%c,c1c1,c2)c2);总结:字符数据可以进行算术运算,且以字符的总结:字符数据可以进行算术运算,且以字符的ASCII码参与运算。码参与运算。程序结果:程序结果:A,B例题:输入一个小写字母,转换成其对应的大写字母例题:输入一个小写字母,转换成其对应的大写字母输出。输出。题解:题解:#inlcude“stdio.h”vo
32、id main()/*定义变量定义变量*/*输入字母输入字母*/*字母转换字母转换*/*输出输出*/char c1,c2;scanf(“%c”,&c1);c2=c1-32;printf(“%c”,c2);c1=getchar();putchar(c2);练习作业:练习作业:1、字母译码:输入一个小写字母,输出其后的第四个、字母译码:输入一个小写字母,输出其后的第四个字符。字符。(zuoye1.c)例如:输入例如:输入a,输出,输出d;输入输入v,输出,输出z;输入输入y,输出,输出c;2、数字字符与数字之间的转换:输入一个数字字符,、数字字符与数字之间的转换:输入一个数字字符,输出对应的数值。
33、输出对应的数值。(zuoye2.c)例如:输入字符例如:输入字符9,输出数值输出数值9 字符数据与整型数据的关系字符数据与整型数据的关系 1 1、字符变量可以整型数据赋值、字符变量可以整型数据赋值 2 2、字符数据可输出字符,亦可输出整数、字符数据可输出字符,亦可输出整数 3 3、字符数据可以进行算术运算,且以字符的、字符数据可以进行算术运算,且以字符的ASCIIASCII码参与运算。码参与运算。下一页下一页一、一、getchar()作用:从终端接收一个字符,只能接受一个字符,作用:从终端接收一个字符,只能接受一个字符,以回车键结束输入。以回车键结束输入。注:该函数为空参,但括号不可以省略。函
34、数的注:该函数为空参,但括号不可以省略。函数的返回值即为从键盘接收的字符。返回值即为从键盘接收的字符。常用格式:用赋值运算符将该函数的返回值赋值给常用格式:用赋值运算符将该函数的返回值赋值给字符型变量。字符型变量。例如:例如:char c;c=getchar();注:注:getchar(c);错误的函数使用错误的函数使用返回返回二、二、putchar()作用:向终端输出一个字符。作用:向终端输出一个字符。参数可以为常量、变量、表达式或者函数。参数可以为常量、变量、表达式或者函数。例如例如 main()char c1=a;putchar(c1);putchar(b);putchar(c1-32)
35、;);#include“stdio.h”返回返回一、赋值运算符一、赋值运算符 “=”作用:将运算符右边的表达式的值赋值给左边的变量。作用:将运算符右边的表达式的值赋值给左边的变量。注:运算符左边只能为变量,不能为常量或者表达式。注:运算符左边只能为变量,不能为常量或者表达式。例如:例如:x=5 常量常量5赋给变量赋给变量x y=3*9+6 把表达式的值把表达式的值33 赋给变量赋给变量y 以上都是正确的以上都是正确的 5=x x+y=3 都是错误的都是错误的 二二.复合的赋值运算符复合的赋值运算符赋值运算符与双目运算符连接组成复合赋值运算符。赋值运算符与双目运算符连接组成复合赋值运算符。=与与
36、 +-+-*/%/%连接形成:连接形成:+=-=+=-=*=/=%=/=%=复合赋值运算符复合赋值运算符例如:例如:a+=5a+=51 1、其作用相当于变量与运算符右边的表达式进行相、其作用相当于变量与运算符右边的表达式进行相应的运算后,再将结果赋值给变量本身。应的运算后,再将结果赋值给变量本身。1 1、其作用相当于变量与运算符右边的表达式进行相、其作用相当于变量与运算符右边的表达式进行相应的运算后,再将结果赋值给变量本身。应的运算后,再将结果赋值给变量本身。上例中:上例中:a+=5 a+=5 就相当于就相当于 a=a+5a=a+51 1、其作用相当于变量与运算符右边的表达式进行相、其作用相当
37、于变量与运算符右边的表达式进行相应的运算后,再将结果赋值给变量本身。应的运算后,再将结果赋值给变量本身。上例中:上例中:a+=5 a+=5 就相当于就相当于 a=a+5a=a+5再如:再如:x x*=y+8 =y+8 相当于相当于 x=xx=x*(y+5)(y+5)2 2、结合性:右结合、结合性:右结合3 3、赋值表达式的值:被赋值的变量的值。、赋值表达式的值:被赋值的变量的值。4161、逗号运算符:、逗号运算符:,2、逗号表达式:由逗号连接起来的多个式子、逗号表达式:由逗号连接起来的多个式子形式:表达式,表达式,表达式形式:表达式,表达式,表达式注:)自左至右依次求取每个表达式的值,最右边表达注:)自左至右依次求取每个表达式的值,最右边表达式的值即为整个逗号表达式的值。式的值即为整个逗号表达式的值。例如:例如:3+5,4*6,5/3,9%6整个表达式的值为整个表达式的值为32)在所有的运算符中级别最低。小结:以上三种运算符的优先级为:小结:以上三种运算符的优先级为:算术运算符算术运算符*/%+-赋值运算符赋值运算符=+=-=*=/=%=逗号运算符逗号运算符,低低高高练习:练习:int a=0,b=0,c=0;c=(a-=a-5),(a=b,a+3)printf(“%d,%d,%dn”,a,b,c);结果为:结果为:0,0,5