c语言程序 库 函数 tg,《C语言程序设计》——第三章PPT课件

.,1,第三章数据类型、运算符和表达式Types,Operators,andExpressions,.,2,,,第三章数据类型、运算符和表达式,第一节C的数据类型第二节常量第三节变量第四节算术运算符和算术表达式第五节赋值运算符和赋值表达式第六节逗号运算符和逗号表达式第七节各类数据间的混合运算,.,3,第一节C的数据类型,基本类型整型字符型实型(浮点型)单精度、双精度构造类型数组类型结构体类型共用体类型指针类型空类型,.,4,第二节常量Constants,2.1符号常量2.2整型常量2.3实型常量2.4字符型常量2.5字符串常量,.,5,2.1符号常量,用一个标识符代表一个常量#definePI3.14159main(){floatr,s,area;scanf("%f",},.,6,,,三种形式表示:十进制:如123-600八进制:以0开始,如0123十六进制:以0 x开始,如0 x123,2.2整型常量Integerconstant,.,7,2.3实型常量Floating-pointconstants,小数形式:如123.0.1230.012.5指数形式:如123e2123E2,.,8,,单引号括起来的一个字符。如:a字符常量的值是一个数字值。如字符常量0,其ASCII为48,所以存储的实际值为48。字符常量可以象整数一样参与运算。,2.4字符型常量Characterconstant,.,9,字符常量还有另外一种形式——转义字符形式。,转义字符功能转义字符功能\a响铃\\反斜杠字符\b退一格\单引号字符\f走纸换页\"双引号字符\n换行\?问号\r回车\ooo1~3位8进制数代表的字符\t横向跳格\xhh1~2位16进制数代表的字符,.,10,main(){charc1=\101,c2=\x42;printf("a\tbc\t\bABC\n");printf("xyz\t%c%c",c1,c2);},,结果?,abcABCxyzAB,.,11,main(){printf("abc\tde\rf\tg\n");printf("h\ti\b\bjk");},,结果?,打印机上的结果:fabcgdehjik,显示屏上的结果:fgdehjk,.,12,,,双引号括起来的字符序列。如"Howareyou","0"等字符串在存储时末尾被自动加上字符\0字符常量与只包含一个字符的字符串常量的区别,2.5字符串常量,.,13,第三节变量Variable,3.1变量的概念3.2变量名3.3整型变量3.4实型变量3.5字符型变量,.,14,,,3.1变量的概念,程序运行过程中其值可以改变的量,系统为程序中的每一个变量开辟一个存储单元,如:main(){inta;a=2;printf("a=%d\n",a);a=4;printf("a=%d\n",a);},程序运行结果?,.,15,,,3.2变量名,标识符:用来标识变量名、符号常量名、数组名、函数名、文件名的有效字符序列。关键字预定义标识符用户定义标识符字母或下划线开头,后跟字母、数字和下划线组成。变量要先定义后使用,.,16,,下列字符串中可以做C语言程序中的标识符的有哪些?print_3idoodbI\am3piLine#str_1His.agewhileaBc,.,17,3.3整型变量,1、分类int整型shortint(或short)短整型longint(或long)长整型unsignedint无符号整型unsignedshort无符号短整型unsignedlong无符号长整型,.,18,,,2、各类型数据长度、取值范围所占位数取值范围int16-32768~32767short16-32768~32767long32-21亿~21亿unsignedint160~65535unsignedshort160~65535unsignedlong320~42亿,.,19,3、整型变量的定义所有的变量需先定义类型inta,b,c;/*指定a,b,c为整型变量*/unsignedlower;/*指定lower为无符号整型变量*/longs;有些变量可以预先设置初值:inta=0,b,c;/*指定a,b,c为整型变量,a的初值为0*/inta=0,b=0,c=0;/*指定a,b,c为整型变量,a、b、c的初值为0*/,.,20,3.4实型变量,1、分类所占位数取值范围float单精度32-3.4*10-38~3.4*1038double双精度64-1.7*10-308~1.7*10308longdouble长双精度128-1.2*10-4932~1.2*1049322、变量的定义floatx,y;/*指定x,y为单精度实型变量*/doublez;/*指定z为双精度实型变量*/,.,21,3.5字符变量,1、变量的定义charc1,c2;/*指定c1,c2为字符型变量*/2、字符型数据的存储以ASCII码存储,存储形式与整型一样,可以和整数进行运算main(){charc1,c2;c1=‘a’;c2=‘b’;c1=c1-32;c2=c2-32;printf(“%c,%c\n”,c1,c2);printf(“%d,%d\n”,c1,c2);},结果:A,B65,66,.,22,第四节算术运算符和算术表达式ArithmeticOperationsandExpressions,4.1基本算术运算符4.2运算符的优先级和结合性4.3自增、自减运算符,.,23,4.1基本算术运算符,+(加法运算或正号运算符)-(减法运算或负号运算符)*(乘法运算符)/(除法运算符)%(求余运算符,或称模运算符),.,24,从左到右,4.2运算符的优先级和结合性,算术表达式用算术运算符和括号将运算量连接起来的式子称为算术表达式。运算符有优先级和结合性在求表达式的值时,要按照优先级的高低依次计算如果运算符两侧优先级相同,则按规定的结合方向进行。结合性,.,25,-(负号运算符),*/%,+-(加减运算符),我最高!,我最低!,.,26,4.3自增、自减运算符,++运算符的作用是使变量的值增1。--运算符的作用是使变量的值减1。常见的用法有:++i,--i在使用i前,使i的值加(减)1i++,i--在使用i后,使i的值加(减)1,.,27,已知i=5(1)j=i++;j=?i=?(2)j=++i;j=?i=?,,,5,6,6,6,.,28,注意:1、自增和自减运算符只能用于变量,表达式(x+y)++是不合法的。2、自增和自减运算符的结合方向是“自右向左”。如表达式-i++等价于-(i++)还是等价于(-i)++?。3、(i++)+(i++)+(i++)结果?4、(++i)+(++i)+(++i)结果?5、i+++j是(i++)+j还是i+(++j)?6、printf(“%d”,i,i++)结果,.,29,第五节赋值运算符和赋值表达式,5.1赋值运算符5.2复合的赋值运算符5.2赋值表达式,.,30,5.1赋值运算符,简单的赋值就是把一个表达式的值赋给一个变量。例如:i=5i=j+1,.,31,5.2复合的赋值运算符,在赋值符“=”之前加上其它运算符,可以构成复合的运算符。例如:i+=2等价于i=i+2a*=b+5等价于a=a*(b+5)x%=3等价于x=x%3,.,32,5.3赋值表达式,由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。形式:〈变量〉〈赋值运算符〉〈表达式〉例如:x=3y=x+3对赋值表达式求解的过程是:将赋值运算符右侧的表达式的值赋给左侧的变量。赋值表达式的值就是被赋值的变量的值。结合性,从右向左,.,33,注意:一般形式的赋值表达式中的“表达式”又可以是一个赋值表达式。如:a=b=8按照从右到左的结合性等价于a=(b=8)赋值表达式也可以包含复合的赋值运算符。设a的值为6,计算a+=a-=a*a先进行a*a的计算,结果为36再进行a-=36的计算,相当于a=a-36=-30最后进行a+=-30的计算,相当于a=a-30=-60,.,34,第六节逗号运算符和逗号表达式,在逗号表达式中,逗号是一种运算符。形式如下表达式1,表达式2由逗号隔开的一对表达式从左向右进行计算,其求解过程为:先求解表达式1,再求表达式2,整个逗号表达式的值是表达式2的值。逗号运算符是所有运算符中级别最低的。,.,35,例如a=4*6,a+5整个逗号表达式的值为29。注意一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式,例如:(a=4*6,a+5),a+6整个表达式的值为30还是35。,.,36,第七节各类数据间的混合运算,C语言允许数据值从一种类型转换成另一种类型。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图所示。高doublefloatlongunsigned低intchar,short,,,,,,f为float,d为double,e为long,i为int10+’a’+if-d/e,.,37,说明:横向向左的箭头表示当运算对象为不同类横向向左的箭头表示必定的转换,如字符型(char)数据和短整型(short)数据必定先转换成整型(int),以提高运算精度。纵向的箭头表示当运算对象为不同类型时转换的方向型时转换的方向。数据总是由低级别向高级别转换。,.,38,C语言提供一种“强制类型转换”运算符,将一个类型的变量强制转换为另一种类型。一般形式为:(类型标识符)(表达式)例如:k=(int)((int)x+(float)i)/*得到整型数*/(float)(x=85)/*得实型单精度数*/,.,39,例如若x原为实型变量且值为2.6,在执行i=(int)x后得到一个整数2,并把它赋给整型变量i,但x仍为实型,值为2.6。,.,40,作业三1)下列正确的转义字符()a)’d’b)’\0 xf’c)’\o37’d)’\f’2)下列不正确的浮点描述()a)223.b).719e22c)1e23d)12e2.03)已知chara;intb;floatc;doubled;则表达式2+a+9*b*5*c-5*d的结果是()a)doubleb)intc)floatd)char,.,41,4)字符型常量在内存中存放的是该字符对应的()a)ASCII代码值b)BCD代码c)内码值d)十进制代码值5)一个C语言程序总是从()开始执行a)主函数b)子函数c)主程序d)子程序6)若已经定义x,y为double类型,则表达式x=1,y=x+3/2的数值()A)1b)2c)2.0d)2.5,.,42,7)在c语言中可以用()进制、()进制、()进制表示整型常量。8)下列合法的用户定义标识符号(或变量名称)是()a)intb)a¥c)5mand)3829)运行结果main(){inti=3,j=3;printf(“i=%d,j=%d\n”,i++,j++);}结果i=(),j=(),

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值