首页 最新08091学期C程序设计第三版教材2讲稿精品课件

最新08091学期C程序设计第三版教材2讲稿精品课件

举报
开通vip

最新08091学期C程序设计第三版教材2讲稿精品课件数据类型运算符表达式第一页,共52页。主要(zhǔyào)内容3.5字符(zìfú)型数据3.6变量赋初值3.7各类数值型数据间的混合运算3.8算术运算符和算术表达式3.9赋值运算符和赋值表达式3.10逗号运算符和逗号表达式第二页,共52页。§3.5字符(zìfú)型数据3.5.1字符常量用单撇号括起来的一个(yīɡè)字符是字符常量。例如,‘A’、‘1’、‘+’、’a’等。C允许一种特殊的字符常量(chángliàng),是以“\”开头的字符序列称为转义字符。第三页,共52页。显示屏上的运行结果(jiēguǒ):...

最新08091学期C程序设计第三版教材2讲稿精品课件
数据类型运算符表达式第一页,共52页。主要(zhǔyào)内容3.5字符(zìfú)型数据3.6变量赋初值3.7各类数值型数据间的混合运算3.8算术运算符和算术表达式3.9赋值运算符和赋值表达式3.10逗号运算符和逗号表达式第二页,共52页。§3.5字符(zìfú)型数据3.5.1字符常量用单撇号括起来的一个(yīɡè)字符是字符常量。例如,‘A’、‘1’、‘+’、’a’等。C允许一种特殊的字符常量(chángliàng),是以“\”开头的字符序列称为转义字符。第三页,共52页。显示屏上的运行结果(jiēguǒ):f空空空空空空空gdeh空空空空空空j空k例3.5转义字符的使用(shǐyòng)#includevoidmain(){printf(″空ab空c\t空de\rf\tg\n″);printf(″h\ti\b\bj空k\n″);}打印机上的显示(xiǎnshì)结果:fab空c空空空gdeh空空空空空空jik第四页,共52页。§3.5字符(zìfú)型数据3.5.2字符变量一个字符型变量用来存放字符常量,只能存放一个字符.定义形式:charc1,c2;c1=‘a’;c2=‘b’;在所有的编译系统中都规定(guīdìng)以一个字节来存放一个字符,一个字符变量在内存中占一个字节。第五页,共52页。§3.5字符(zìfú)型数据3.5.3字符数据在内存中的存储形式及其使用(shǐyòng)方法将一个字符常量放到一个字符变量中,实际上是将该字符的相应的ASCII代码放到存储单元中。如x的十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a,b赋予'x'和'y'值:a='x';b='y';实际上是在a,b两个单元(dānyuán)内存放120和121的二进制代码:0111100101111000b:a:xy第六页,共52页。例3.6向字符变量(biànliàng)赋予整数。#includevoidmain(){charc1,c2;c1=97;c2=98;printf(“%c%c\n”,c1,c2);printf(“%d%d\n”,c1,c2);}说明:在第3和第4行中,将整数97和98分别赋给c1和c2,它的作用相当于以下两个(liǎnɡɡè)赋值语句:    c1=′a′;c2=′b′;因为’a’和’b’的ASCII码为97和98运行(yùnxíng)结果:ab9798光标C语言允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许把整型量按字符量输出。整型占2字节,字符型占1字节,字符型变量只能存放0-255范围内的整数。当整型量按字符型量处理时,只有低八位字节参与处理。第七页,共52页。例3.7大小写字母的转换(zhuǎnhuàn)#includevoidmain(){charc1,c2;c1=’a’;c2=’b’;c1=c1-32;c2=c2-32;printf(“%c%c″,c1,c2);}说明:该程序是将小写字母a和b转换成大写字母A和B。从ASCII码表中可以看到每一个小写字母比它相应的大写字母的ASCII码大32。C允许(yǔnxǔ)字符数据与整数直接进行算术运算。    运行(yùnxíng)结果:AB第八页,共52页。字符型数据(shùjù)是可以与整型数据(shùjù)相互赋值,如inti;charc;i=‘a’;c=97;printf(“%c,%d\n”,c,c”);printf(“%c,%d\n”,i,i);输出:a,97a,97§3.5字符(zìfú)型数据第九页,共52页。说明(shuōmíng):有些系统(如PDP,VAX-11,TurboC)将字符变量中的最高位作为符号位,也就是将字符处理成带符号的整数。signedchar型取值范围-128至127usignedchar型取值范围0至255signedchar型取值范围-128至127ASCII0-127的字符字节最高位:0%d输出正整数ASCII128-255字节最高位:1输出负整数usignedchar型取值范围0至255ASCII0-127字节最高位非符号位输出正整数ASCII128-255字节最高位非符号位输出正整数§3.5字符(zìfú)型数据第十页,共52页。3.5.4字符串常量(chángliàng)字符串常量(chángliàng)是一对双撇号括起来的字符序列.合法的字符串常量(chángliàng):  “Howdoyoudo.”,“CHINA”,“a”,“$123.45”可以输出一个字符串,如  printf(“Howdoyoudo.”);区分(qūfēn):‘a’是字符常量,”a”是字符串常量,二者不同。如:假设C被指定(zhǐdìng)为字符变量:charc;c=’a’;c=”a”;c=”CHINA”;结论:不能把一个字符串常量赋给一个字符变量。§3.5字符型数据第十一页,共52页。C规定(guīdìng):在每一个字符串常量的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定(guīdìng)以字符’\0’作为字符串结束标志。如:一个字符串常量(chángliàng)”CHINA”,实际上在内存中是:CHINA\0它占内存单元(dānyuán)不是5个字符,而是6个字符,最后一个字符为’\0’。但在输出时不输出’\0’。注意:在源程序中书写字符串常量时,不必加结束字符‘\0’,否则画蛇添足。C无字符变量,有字符数组!§3.5字符型数据第十二页,共52页。§3.6变量(biànliàng)赋初值(1)C语言(yǔyán)允许在定义变量的同时使变量初始化。如:inta=3; floatf=3.56;charc=‘a’;(2)可以使被定义的变量的一部分赋初值。如:inta,b,c=5;(3)如果(rúguǒ)对几个变量赋以同一个初值,应写成:inta=3,b=3,c=3;不能写成∶inta=b=c=3;注意:初始化不是在编译阶段完成的而是在程序运行时执行本函数时赋初值的,相当于有一个赋值语句。如:inta=3;相当于inta;a=3;第十三页,共52页。整型、实型、字符型数据(shùjù)可以相互转换。例如:10+'a'+1.5-8765.1234*'b'运算时,不同类型的数据(shùjù)要先转换成同一类型,后进行运算。转换规则如下:doublefloatlongunsignedintchar,short高低左箭头表示必定的转换;纵向箭头表示不同类型的转换方向(fāngxiàng)。箭头方向(fāngxiàng)只表示数据类型级别的高低,由低到高转换!并不是表示转换过程!§3.7各类数值型数据(shùjù)间的混合运算第十四页,共52页。§3.7各类数值(shùzí)型数据间的混合运算假设(jiǎshè)已知:inti;floatf;doubled;longe;则10+‘a’+i*f-d/e计算机的执行过程:1)10+‘a’----int+int=int---10+97=107。2)i*f------i和f都转换为double,结果为double型。3)107由int型转为double型与i*fdouble型结果相加,结果为double型。4)d/e----d和e都转换为double参与(cānyù)运算,结果为double型。5)10+‘a’+i*f-d/e-----结果为double型以上类型转换有系统自动完成。第十五页,共52页。§3.8 算术(suànshù)运算符和算术(suànshù)表达式3.8.1C运算符简介C的运算符有以下几类:(1)算术运算符(+-*/%)(2)关系运算符(><==>=<=!=)(3)逻辑(luójí)运算符(!&&||)(4)位运算符(<<>>~|∧&)(5)赋值运算符(=及其扩展赋值运算符)(6)条件运算符(?:)(7)逗号运算符(,)第十六页,共52页。(8)指针(zhǐzhēn)运算符(*和&)(9)求字节数运算符(sizeof)(10)强制类型转换运算符((类型))(11)分量运算符(.->)(12)下标运算符([ ])(13)其他(如函数调用运算符())§3.8 算术(suànshù)运算符和算术(suànshù)表达式第十七页,共52页。3.8.2算术运算符和算术表达式(1)基本的算术运算符:1)+(加法运算符,或正值运算符。如:3+5、+3)2)-(减法运算符,或负值(fùzhí)运算符。如:5-2、-3)3)*(乘法运算符。如:3*5)4)/(除法运算符。如:5/3)5)%(模运算符,或称求余运算符,%两侧均应为整型数据,如:7%4的值为3)。前4种运算,如果运算量中有一个是实型,则结果为双精度实型。§3.8 算术(suànshù)运算符和算术(suànshù)表达式第十八页,共52页。对除法(chúfǎ)运算的说明:两个整数相除(/)结果为整数。如果除数或被除数有一个为负值,则舍入的方向是不固定的。例如:-5/3在有的系统上,结果为-1;在有的系统上结果为-2。多数C编译系统(TurboC)采用“向零取整”的方法。即:5/3=1,-5/3=-1,取整后向零靠拢。第十九页,共52页。(2)算术表达式和运算符的优先级与结合性基本的算术运算符:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则(guīzé)的式子,称为C算术表达式。运算对象包括常量、变量、函数等。例如:a*b/c-1.5+‘a’是一个合法的表达式§3.8 算术(suànshù)运算符和算术(suànshù)表达式C语言规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除(chéngchú)后加减。C规定了各种运算符的结合方向(结合性)算术运算符的结合方向为“自左至右”,即先左后右。第二十页,共52页。如何(rúhé)进行表达式求值?运算符的优先级:C语言(yǔyán)中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符优先级相同时,则按运算符的结合性所规定的结合方向处理。在表达式求值时,先按运算符的优先级别高低次序(cìxù)执行。如果在一个运算符的对象两侧的运算符的优先级别相同,则按照规定的“结合方向”处理。第二十一页,共52页。结合性是C语言(yǔyán)的独有概念。除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。运算符的结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z则y应先与“-”号结合,执行x-y运算,然后再执行+z的运算。这种自左至右的结合方向(fāngxiàng)就称为“左结合性”。最典型的右结合性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别。如何(rúhé)进行表达式求值?第二十二页,共52页。(3)强制类型(lèixíng)转换运算符可以利用强制类型(lèixíng)转换运算符将一个表达式转换成所需类型(lèixíng)。一般形式:(类型(lèixíng)名)(表达式)例如:(double)a将a转换成double类型(lèixíng)(int)(x+y)将x+y的值转换成整型(float)(5%3)将5%3的值转换成float型§3.8 算术(suànshù)运算符和算术(suànshù)表达式注意:表达式应该用括号括起来;强制类型转换时,得到一个所需类型的中间(zhōngjiān)变量,原来变量的类型不发生变化。第二十三页,共52页。例3.8强制(qiángzhì)类型转换。#includevoidmain(){floatx;inti;x=3.6;i=(int)x;printf("x=%f,i=%d\n",x,i);}说明:有两种类型转换,一种是运算时系统自动(zìdòng)进行的类型转换,如3+6.5。第二种是强制类型转换。当自动(zìdòng)类型转换不能实现目的时,可以用强制类型转换。运行结果(jiēguǒ):x=3.600000,i=3光标第二十四页,共52页。(4)自增、自减运算符作用是使变量的值增1或减1如:++i,--i(在使用(shǐyòng)i之前,先使i的值加(减)1)i++,i--(在使用(shǐyòng)i之后,使i的值加(减)1)§3.8 算术(suànshù)运算符和算术(suànshù)表达式i++与++i的区别:++i是先执行i=i+1后,再使用(shǐyòng)i的值;i++是先使用(shǐyòng)i的值后,再执行i=i+1。例如:①j=++i;   i的值先变成4,再赋给j,j的值均为4②j=i++;先将i的值3赋给j,j的值为3,然后i变为4第二十五页,共52页。注意:(1)自增(++)和自减(--)运算符,只能用于变量,而不能用于常量或表达式。6++或(a+b)++或(-i)++错误(2)++和--的结合(jiéhé)方向是“自右向左”。-i++设i原值为3负号运算符和“++”运算符同优先级,而结合(jiéhé)方向为“自右至左”所以相当于–(i++)。但是,如果有printf(“%d”,-i++);则先取-i的值为-3,然后i增1。*自增(减)运算符常用于循环语句中使循环变量自动加1。也用于指针变量,使指针指向(zhǐxiànɡ)下一个地址。§3.8 算术(suànshù)运算符和算术(suànshù)表达式第二十六页,共52页。(5)有关表达式使用中的问题说明①ANSIC并没有具体规定表达式中的子表达式的求值顺序(shùnxù),允许各编译系统自己安排。例1:对表达式a=f1()+f2()并不是所有的编译系统都先调用f1(),然后调用f2()。在有的情况下结果可能不同。有时会出现一些令人容易搞混的问题,因此务必要小心谨慎。例2:如果i的初值为3(i++)+(i++)+(i++)§3.8 算术(suànshù)运算符和算术(suànshù)表达式第二十七页,共52页。②C语言中有的运算符为一个(yīɡè)字符,有的运算符由两个字符组成,为避免误解,最好采取大家都能理解的写法。例如:不要写成i+++j的形式,而应写成(i++)+j的形式§3.8 算术(suànshù)运算符和算术(suànshù)表达式③在调用函数时,实参数的求值顺序,C标准并无统一规定(guīdìng)。例如:i的初值为3,如果有下面的函数调用:printf(″%d,%d″,i,i++)在有的系统中,从左至右求值,输出“3,3”。在多数系统中对函数参数的求值顺序是自右而左,printf函数输出的是“4,3”。以上这种写法不提倡,最好改写成j=i++;printf("%d,%d",j,i)不要写出别人看不懂的也不知道系统会怎样执行程序!第二十八页,共52页。§3.9赋值运算符和赋值表达式(1)赋值运算符“=”就是赋值运算符,作用是将一个数据赋给一个变量(biànliàng)。如“a=3”的作用是执行一次赋值操作。也可将一个表达式的值赋给一个变量(biànliàng).(2)类型转换如果赋值运算符两侧的类型不一致,但都是数值型或字符(zìfú)型时,在赋值时要进行类型转换。①将浮点型数据(包括单、双精度)赋给整型变量时,舍弃浮点数的小数部分。如:i为整型变量,执行“i=3.56”的结果是使i的值为3,以整数形式存储在整型变量中.第二十九页,共52页。②将整型数据赋给单、双精度(jīnɡdù)变量时,数值不变,但以浮点数形式存储到变量中如:将23赋给float变量f,即执行f=23,先将23转换成23.00000,再存储在f中。将23赋给double型变量d,即执行d=23,则将23补足有效位数字为23.00000000000000,然后以双精度(jīnɡdù)浮点数形式存储到变量d中。§3.9赋值运算符和赋值表达式第三十页,共52页。③将一个double型数据赋给float变量时,截取其前面7位有效数字(shùzì),存放到float变量的存储单元(4个字节)中。但应注意数值范围不能溢出。如:floatf;doubled=123.456789e100;f=d;就出现溢出的错误。如果将一个float型数据赋给double变量时,数值不变,有效位数扩展到16位,在内存中以8个字节存储。§3.9赋值运算符和赋值表达式第三十一页,共52页。④字符型数据赋给整型变量时,由于字符只占1个字节,而整型变量为2个字节,因此将字符数据(8个二进位)放到整型变量存储单元的低8位中。第一种情况:如果所用系统将字符处理为无符号的字符类型,或程序已将字符变量定义(dìngyì)为unsignedchar型,则将字符的8位放到整型变量低8位,高8位补零例如:将字符‘\376’赋给int型变量i§3.9赋值运算符和赋值表达式011111110111111100000000C=‘\376’i:(a)unsignedchar第三十二页,共52页。第二种情况:如果所用系统(如TurboC++)将字符处理为带符号的(即signedchar),若字符最高位为0,则整型变量高8位补0;若字符最高位为1,则高8位全补1。这称为“符号扩展”,这样(zhèyàng)做的目的是使数值保持不变,如变量c(字符‘\376’)以整数形式输出为-2,i的值也是-2。§3.9赋值运算符和赋值表达式011111110111111101111111000000000111111111111111C=‘\376’C=‘\376’i:i:(a)(b)图3-11unsignedcharsignedchar第三十三页,共52页。⑤将一个int、short、long型数据赋给一个char型变量(biànliàng)时,只将其低8位原封不动地送到char型变量(biànliàng)(即截断)。例如:inti=289;charc=′a′;c=i;赋值情况:c的值为33,如果用“%c”输出c,将得到(dédào)字符“!”(其ASCII码为33)。§3.9赋值运算符和赋值表达式100001001000000010000100C=33i=289图3.12第三十四页,共52页。⑥将带符号的整型数据(int型)赋给long型变量时,要进行符号扩展,将整型数的16位送到long型低16位中:如果int型数据为正值(符号位为0),则long型变量的高16位补0;如果int型变量为负值(符号位为1),则long型变量的高16位补1,以保持数值不改变。反之(fǎnzhī),若将一个long型数据赋给一个int型变量,只将long型数据中低16位原封不动地送到整型变量(即截断)。§3.9赋值运算符和赋值表达式第三十五页,共52页。例如(lìrú):inta;longb=8;a=b赋值情况如图:§3.9赋值运算符和赋值表达式001000000000000000000000000000000010000000000000a=8b=8符号位符号位图3-13第三十六页,共52页。如果(rúguǒ)b=65536(八进制数0200000),则赋值后a值为0000000000000000001000000000000000000000000000000a=0b=65536符号位符号位图3-14§3.9赋值运算符和赋值表达式例如(lìrú):inta;longb=8;a=b赋值情况如图:第三十七页,共52页。⑦unsignedint-----long,只需要(xūyào)将高位补0。unsignedint-----intunsignedlong-----longunsignedshort-----short例如:unsignedinta=65535;intb;b=a;只需要将unsigned变量的内容原样送到signed变量中,但如果数据超过相应(xiāngyīng)的整数范围,则会出现数据错误。11111111111111111111111111111111ab符号位图3-15unsignedintsignedint§3.9赋值运算符和赋值表达式b的值为-1第三十八页,共52页。⑧将非unsigned型数据赋给长度相同的unsigned型变量,也是原样照赋(连原有的符号位也作为(zuòwéi)数值一起传送)。§3.9赋值运算符和赋值表达式例3.9有符号(fúhào)数据传送给无符号(fúhào)变量。#includevoidmain(){unsigneda;intb=-1;a=b;printf(″%u\n″,a);}说明:“%u”是输出无符号数时所用(suǒyònɡ)的格式符。如果b为正值,且在0~32767之间,则赋值后数值不变。运行结果:6553511111111111111111111111111111111ab图3-16第三十九页,共52页。(2)类型转换--总结:1、不同类型的整型数据间的赋值归根到底就是一条:按存储单元中的存储形式直接传送。2、在不同类型数据之间赋值时,常会出现意想不到的结果,而编译系统并不提示出错,全靠编程人员的经验(jīngyàn)来解决。第四十页,共52页。(3)复合的赋值运算符在赋值符“=”之前加上其他运算符,可以构成复合的运算符。例如(lìrú):a+=3等价于a=a+3x*=y+8等价于x=x*(y+8)x%=3等价于x=x%3§3.9赋值运算符和赋值表达式为便于(biànyú)记忆,可以这样理解:①a+=b(其中a为变量,b为表达式)②a+=b(将有下划线的“a+”移到“=”右侧)|___↑③a=a+b(在“=”左侧补上变量名a)第四十一页,共52页。注意(zhùyì):如果b是包含若干项的表达式,则相当于它有括号。如:①x%=y+3②x%=(y+3)|___↑③x=x%(y+3)(不要错写成x=x%y+3)凡是二元(二目)运算符,都可以与赋值符一起(yīqǐ)组合成复合赋值符。C语言规定可以(kěyǐ)使用10种复合赋值运算符:+=,-=,*=,/=,%=,<<=,>>=,&=,∧=,|=§3.9赋值运算符和赋值表达式复合赋值符这种逆波兰式写法,对初学者可能不习惯,但十分有利于编译处理,能提高编译效率并产生质量较高的目标代码。第四十二页,共52页。(4)赋值表达式由赋值运算符将一个(yīɡè)变量和一个(yīɡè)表达式连接起来的式子称为“赋值表达式”。一般形式为:<变量><赋值运算符><表达式>例如:“a=5”是一个(yīɡè)赋值表达式§3.9赋值运算符和赋值表达式对赋值表达式求解的过程是:①求赋值运算符右侧的“表达式”的值;②赋给赋值运算符左侧(zuǒcè)的变量。例如:赋值表达式“a=3*5”的值为15,执行表达式后,变量a的值也是15。注意:一个(yīɡè)表达式应该有一个(yīɡè)值。第四十三页,共52页。左值(lvalue):赋值运算符左侧的标识符变量可以(kěyǐ)作为左值;而表达式就不能作为左值(如a+b);常变量也不能作为左值,右值(lvalue):出现(chūxiàn)在赋值运算符右侧的表达式左值也可以出现(chūxiàn)在赋值运算符右侧,因而左值都可以作为右值。§3.9赋值运算符和赋值表达式赋值表达式中的“表达式”,又可以(kěyǐ)是一个赋值表达式.例如:a=(b=5)分析:赋值运算符按照“自右而左”的结合顺序,因此,“(b=5)”外面的括弧可以不要,即“a=(b=5)”和“a=b=5”等价.第四十四页,共52页。§3.9赋值运算符和赋值表达式请分析(fēnxī)下面的赋值表达式∶(a=3*5)=4*3分析(fēnxī):先执行括弧内的运算,将15赋给a,然后执行4*3的运算,得12,再把12赋给a。最后a的值为12,整个表达式的值为12。可以看到∶(a=3*5)出现在赋值运算符的左侧,因此赋值表达式(a=3*5)是左值。注意:在对赋值表达式(a=3*5)求解后,变量a得到(dédào)值15执行(a=3*5)=4*3时,实际上是将4*3的积12赋给变量a,而不是赋给3*5。不能写成:a=3*5=4*3第四十五页,共52页。赋值表达式也可以包含(bāohán)复合的赋值运算符。如:a+=a-=a*a分析:此赋值表达式的求解步骤如下(rúxià)∶①先进行“a-=a*a”的运算,它相当于a=a-a*a,a的值12-144=-132。②再进行“a+=-132”的运算,相当于a=a+(-132),a的值为-132-132=-264。§3.9赋值运算符和赋值表达式第四十六页,共52页。将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句(yǔjù)中,而且可以以表达式形式出现在其他语句(yǔjù)(如输出语句(yǔjù)、循环语句(yǔjù)等)中.如:printf("%d",a=b);分析(fēnxī):如果b的值为3,则输出a的值(也是表达式a=b的值)为3。在一个语句中完成了赋值和输出双重功能。§3.9赋值运算符和赋值表达式第四十七页,共52页。§3.10逗号(dòuhào)运算符和逗号(dòuhào)表达式逗号运算符:将两个(liǎnɡɡè)表达式连接起来,又称为“顺序求值运算符”如:3+5,6+8一般(yībān)形式:表达式1,表达式2求解过程:先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。逗号表达式的值为14第四十八页,共52页。例:逗号(dòuhào)表达式a=3*5,a*4分析:赋值运算符的优先级别(jíbié)高于逗号运算符,因此应先求解a=3*5.a的值为15,然后(ránhòu)求解a*4,得60。整个逗号表达式的值为60。一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式如:(a=3*5,a*4),a+5先计算出a的值等于15,再进行a*4的运算得60(但a值仍为15),再进行a+5得20,即整个表达式的值为20。§3.10逗号运算符和逗号表达式第四十九页,共52页。逗号表达式的一般形式(xíngshì)可以扩展为表达式1,表达式2,表达式3,……,表达式n它的值为表达式n的值。逗号运算符是所有(suǒyǒu)运算符中级别最低的例:①x=(a=3,6*3)②x=a=3,6*3赋值表达式,将一个(yīɡè)逗号表达式的值赋给x,x的值等于18逗号表达式,包括一个赋值表达式和一个算术表达式,x的值为3,整个逗号表达式的值为18。§3.10逗号运算符和逗号表达式第五十页,共52页。注意:并不是任何地方出现(chūxiàn)的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如:printf(“%d,%d,%d”,a,b,c);“a,b,c”并不是一个(yīɡè)逗号表达式,它是printf函数的3个参数printf(“%d,%d,%d”,(a,b,c),b,c);“(a,b,c)”是一个逗号(dòuhào)表达式,它的值等于c的值。§3.10逗号运算符和逗号表达式第五十一页,共52页。天道酬勤(tiāndàochóuqín)!作业(zuòyè):3.2;3.5;3.7;3.9;3.10;3.12第五十二页,共52页。
本文档为【最新08091学期C程序设计第三版教材2讲稿精品课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
rabbit
我是一名高中英语老师 有着丰厚的教学经验,曾经担任过学校教学教研组组长,撰写过很多论文和期刊
格式:ppt
大小:5MB
软件:PowerPoint
页数:52
分类:
上传时间:2021-11-26
浏览量:0