计算机二级第2章C语言的语法基础.ppt

上传人:zhu****ei 文档编号:3590192 上传时间:2019-12-18 格式:PPT 页数:24 大小:224KB
返回 下载 相关 举报
计算机二级第2章C语言的语法基础.ppt_第1页
第1页 / 共24页
计算机二级第2章C语言的语法基础.ppt_第2页
第2页 / 共24页
计算机二级第2章C语言的语法基础.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
第2章C语言的语法基础,2.3运算符与表达式,运算符与表达式,算术运算关系、逻辑和条件运算位运算赋值运算类型转换逗号运算长度运算,算术运算符,5种算术运算符号:加法5+6;正号+12;:减法4.6-3.2;负号-3.1*:乘法10*3/:除法8/2%:求余35%6算术表达式由算术运算符把运算对象连接起来,构成合法的式子,运算对象包括:常量、变量和函数。算术表达式的值为整数或实数,算术运算符的优先顺序优先级从高到低分别为()圆括号+、-正负号,+、-增1、减1*、/、%乘、除、求余+、-加、减说明关于“%”运算:参加运算的对象必须为整数,计算结果为两数相除所得的余数,大部分情况下,余数的符号与左侧的运算对象的符号相同,如35%6=5,-35%6=-5。关于“/”运算:整数除:两个整数相除后值等于商的整数部分,如1/20实数除:两个相除的数中至少有一个是实数,相除后值等于商本身,如1.0/2=0.5。,不同类型混合运算:整型、字符型和实型数据可以混合运算,在运算的时候需要进行类型转换。必须转换:floatdouble;char,shortint不同类型数据混合运算的转换规则,关于增1、减1运算:+,-运算对象必须为变量,如3+是错误的。既可作为前缀运算符也可以作为后缀运算符,以+为例:区别:i=1;j=+i;1i,i+1i(i=2),ij(j=2)i=1;j=i+;1i,ij(j=1),i+1i(i=2)相同:只进行自增、自减运算,没有使用运算对象的值,如i+;和+i;是一样的。+,-,+,-(正负号)的优先级别一样,结合方向都是从右到左,如:i=1;j=-i+;1i,j=-i(j=-1),i+1i,(i=2),即:j=-(i+);而不是j=(-i)+;避免在一个表达式中多次使用+和-运算符,elseprintf(%dn%dn%dn,a,a-,a);,验证,以下程序运行时,若从键盘输入5,则输出结果是()。(等级考试)main()inta;scanf(%d,(a)7(b)4(c)5(d)6,分析:a=5y=a+;y=5,a=6执行else语句令z=a-z=6,a=5,main()inta;scanf(%d,验证,答案5,6,6,关系、逻辑、条件运算符,关系运算两个数据进行比较,判定两个数据是否符合给定的关系六种关系运算符:、=、b,a+bc-d,(a=3)=b,(ab)=(bc),关系表达式的值逻辑值(“真”与“假”)语言没有逻辑型数据,所以用非零值表示“逻辑真”,用整数“”表示“逻辑假”。关系表达式的值只能为1或0,1为真,0为假。例如,假设num1=3,num2=4,num3=5,求:num1num2(0)(num1num2)!=num3(1)num1num2num3(1)(num1num2)+num3(6)数学表达式的3、求i的值。整数二进制数199的二进制数为:0000000011000111按位取反得:1111111100111000对应的是整型十进制数200在内存中的补码表达式。关系式:i+i=-1,左移运算:格式:运算对象位数功能:向右端(低位)移动若干位数,移出的部分舍弃,正整数或无符号整数左端(高位)补0,负数补1;例:chara=41,b;求b=a3的值十进制数41对应的二进制数为:00101001右移3位后得到:00000101b的值为5,按位与运算:先计算3+5的值,然后赋值给j,最后把赋值表达式j=3+5的值赋值给i,所以j=8,i=8。相当于用连等的方式给多个变量赋同一个值。优先级:仅高于逗号运算符,复合赋值运算10种复合赋值运算符:*=、/=、%=、+=、-=(算术运算符+赋值运算符)=、先计算i+6,得11,i仍为5计算i*=11,即i=i*11,得55,i变为55计算i+=55,即i=i+55,得110,i变为110,赋值运算中得类型转换规则在赋值表达式中,如果右边的表达式和左边的变量的数据类型不一致但都是数值时,系统自动将右边的数据类型转换成左边变量的数据类型再赋值。转换规则:实数整数:舍弃小数部分整数实数:数值不变,以浮点形式存储,补足精度整型、字符型不同类型的整型、字符型字节数相同:原样赋值变量的字节数少:截取低位变量的字节数多:高位补足补0:有一个为无符号类型的,高位补0符号扩展:两者都是有符号的数据类型,正数补0,负数补1,类型转换,格式:(类型名)(表达式)功能:将一个表达式的值转换为所需的数据类型1/2的值为0,(double)1/2的值为0.5类型转换并不改变变量的数据类型如:floati=5.6;intj;j=(int)i%2;运行结果:i=5.6,j=1;,逗号运算,一般形式表达式1,表达式2,表达式n功能:从左到右计算每一个表达式的值,将最右边表达式的值作为整个逗号表达式的值。main()inti,j,k;i=1;k=(j=+i,i+=j,i+=5);printf(“%d,%d,%dn”,i,j,k);,运行结果:9,2,9,长度运算符,运算符号:sizeof()功能:计算变量或类型所占内存字节数的大小sizeof(数据类型):如sizeof(int),sizeof(long)sizeof(变量名):如doublef;sizeof(f);例:#includemain()charch;printf(double=%dtc=%dn,sizeof10.0,sizeof(c);printf(char=%dtfloat=%dn,sizeofch,sizeof(float);getch();,以下是等级考试中填空题,下列语句中,符合C语言语法的赋值语句是()。a=7+b+c=a+7;a=7+b+=a+7;a=7+b,b+,a+7;a=7=b,c=a+7;已知doublea=5.2;则正确的赋值表达式是()。a+=a-=(a=4)*(a=3)a=a*3=2a%3a=double(-3),已知chara=R;则正确的赋值表达式是()。a=(a+)%4a+2=3a+=256-a=078已知inta=R;则正确的表达式是()。a%10a=int(3e2)2*a=a+a=a+a=a+3,作业:分析下列的式子,inta=20,b=28,c;c=(a,a=0000,0000,0001,0100b=0000,0000,0001,1100c=0000,0000,0001,0100c=0000,0000,0000,0101,逻辑运算符的优先级依次为()。(a)|则表达式a&!b的值为()。(a)3(b)2(c)0(d)1,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!