(中职)C语言程序设计模块四课件.pptx
《(中职)C语言程序设计模块四课件.pptx》由会员分享,可在线阅读,更多相关《(中职)C语言程序设计模块四课件.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中中职职)C语语言程序言程序设计设计模模块块四四课课件件LOGO运算符C语言的血液模块44.1第1级:()、-、.(1)()运算符:在多个运算符中,括号运算优先运算。这个与数学运算方式保持一致。例如:int a;a=a+(a=4);/*先()号运算,给变量a赋常量值4;因为“+”运算高于赋值“”运算,故先执行4+4运算;最后执行赋值“”运算,结果a值等于8*/printf(%d,a);/*输出8*/(2)为变址运算符(后述)。(3)-为指向结构体成员运算符(后述)。(4).为结构体成员运算符(后述)。1.!:逻辑非运算4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)
2、其值为:非0即1,即只有0和1两个逻辑值。例如:int a=6,b=0,c=0,d;d=!a+!b+!c;/*!a结果为0;!b结果为1;!c结果为1;故d最后得2*/printf(%d-%d,!d,d);/*输出0-2*/(2)要领会条件语句中的含义。例如:if条件判断中,if(x)等同于if(x!=0),而if(!x)则等同于if(x=0)。while循环条件判断中,while(x)等同于while(x!=0),而while(!x)则等同于while(x=0)。2.:按位取反运算(简称位非运算)4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)正整数的位非运算。由于
3、正整数的原反补一致,故直接对原码取反,得新原码,此时最高位变1,即为负,对该新原码求补码即得位非值。可见,正整数位非结果变负。例如:int a=6;printf(%d,a);/*输出-7*/计算方法如下:2.:按位取反运算(简称位非运算)4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(2)负整数的位非运算。由于负整数在内存中是以补码形式存在的,所以必须先对负整数求补码,再取反。此时最高位为0,为正,正数原反补一致,直接计算结果即得位非值。可见,负整数位非结果变正。例如:int a=-6;printf(%d,a);/*输出5*/计算方法如下:3.+、-:自增自减运算符4.2
4、第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)前置时,如+i,-j,要先增减后运算。(2)后置时,如i+,j-,要先运算后增减。(3)只能用于单个变量自增自减,不能用于表达式,如(x+y)+或-(x+y)是错误的;也不能用于常量,如+3,4-等也都是错误的。例如:int i=3;printf(%d-%dn,i+,+i);/*printf()函数里的运算是从右往左的,故先计算+i,即先自增1到4,再做输出运算,输出4;执行i+时,先做输出运算,输出4,再自增1,i实际变为5。故输出4-4*/printf(%dn,i);/*输出自增后的值,即5*/3.+、-:自增自减运算符4
5、.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()再如:int x=2,y=3,d;d=y*x+(y-)+(+x);/*先执行+x,变量x增1得值3,而y-要先运算再自减,故先不动,则右边为3*3+3+3,得15,故d被赋值 15,y参加了运算,再自减1,为2*/printf(d%d,x=%d,y=%dn,d,x,y);/*输出d=15,x=3,y=2*/(4)结合方式:自左向右。例如:a+b-c;/*实际上就是:(a+)+(b-)-c;*/(5)i+本质就是i=i+1。4.(类型):强制数据类型转换运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()数据
6、类型的转换有两种,一种是自动转换,另一种是强制转换。(1)自动转换:由低向高自动转换,其中有两个必然转换。float型在运算时一定会先自动转换成double型。short和char型在运算时一定会先自动转换成int型。4.(类型):强制数据类型转换运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(2)强制转换:分为显式强制转换和隐形强制转换,显式强制转换必须用()号把转换类型括起来。例如:/*显式强制转换:*/(int)3.58;/*强制转换3.58为整型,即为3*/int x=25,m;float y=25.0;printf(%fn,(float)x);/*强制转换
7、变量x为浮点型,输出值为25.000000*/*隐形强制转换:*/m=x+y;/*m是int型,故x+y虽是浮点型,但赋给m时强制转换为int型,即m=50*/printf(%d,m);/*输出50*/5.&地址与运算符和*指针运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)&地址与运算。例如:int a;scanf(%d,&a);/*给变量a输入值,就是输入一个常值到a的内存空间中。不可忘记&*/(2)*指针运算:定义指针变量。对地址进行取内容运算。例如:int a=5;int*p=&a;/*等同于“int*p;p=&a;”,定义一个整型指针p并指向变量a的地
8、址*/printf(%d,*p);/*这里*p的含义是:对指针p进行取内容运算。因为p指向了变量a的地址,因此就是*(&a)运算,即对变量a的地址进行取内容运算,即为5*/6.sizeof():内存空间长度运算4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)sizeof()计算的结果都是整型(int)值。(2)16位编译环境下指针的内存长度为2 B(32位环境下为4 B)。float f_x;float*p=&f_x;printf(%dn,sizeof(f_x);/*计算变量f_x的内存空间长度,输出4*/printf(%dn,sizeof(p);/*计算指针变量p的
9、内存空间长度,输出2*/4.3第3级:*、/、%(1)*乘法运算符(略)。(2)/除法运算符。除法规则:若两边均为整型,则结果去掉小数部分只取整数部分。例如:printf(%d,5/2);/*取整,输出2*/若有实数,则结果为浮点型。例如:printf(%f,5/2.0);/*2.0为实数,输出2.500000*/4.3第3级:*、/、%(3)%模运算(求余运算)。运算规则:要求两边都为整型。例如:printf(%d,5%2);/*输出1*/;printf(%d,5%2.0);/*程序报错*/最常用法:判断一个数是偶数还是奇数。例如,有整型变量x,若x%2=0,则x为偶数,x%2=1则为奇数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 模块 课件
限制150内