欢迎来到天天文库
浏览记录
ID:21963323
大小:126.00 KB
页数:16页
时间:2018-10-21
《c语言中的语句》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、主要针对C语言的语句部分关系运算符和关系表达式1.关系运算符及其优先次序:<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)优先级相同(高)优先级相同(低)算术运算符>>关系运算符>>赋值运算符关系运算符的结果只有0和1两种,即为逻辑值。选择结构程序设计逻辑运算符和逻辑表达式1.用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。2.逻辑运算符及其优先次序:(1)&&逻辑与(2)
2、
3、逻辑或(3)!逻辑非“&&”和“
4、
5、”是“双元(目)运算符”,它要求有两个运算量(操作数)。如(a>b)&&(x>y)“!”是一元运算符,
6、只要求有一个运算量。如!(a>b)3.逻辑运算符的优先次序:(1)!>>&&>>
7、
8、(2)!>>算术运算符>>关系运算符>>&&和
9、
10、>>赋值运算符4.逻辑表达式的值将一个非0的数值认作为“真”5.例如:5>3&&8<4--!0解答思路:表达式是从左至右扫描求解的,首先处理“5>3”(因为关系运算符优于&&)的结果“1”;再处理“1&&8<4-!0”(由于“<”优于“&&”)所以先处理“8<4-!0”现在4的左边为“<”,右边为“-”,由于(算术运算符优于关系运算符)所以先处理“4-!0”由于“!”的等级最高,故先算“!”也即是“4-1”=3;再进行“8<3”
11、得到结果为“0”,再算“1&&0”的结果为“0”,既为原表达式的值。条件运算符if语句中当判别的表达式的值为“真”或“假”时,都执行一个赋值语句且向同一个变量赋值时,可以用一个条件运算符来处理。例如:If(a>b)max=a;elsemax=b;当a>b时将a的值赋给max,当a<=b时将a的值赋给max,可以看到无论a>b是否满足,都相同一个变量赋值。可以用下面的条件运算符来处理。max=(a>b)?a:b;其中“(a>b)?a:b”是一个“条件表达式”它的执行过程:若(a>b)条件为真,则条件表达式取a,否则取值b.条件运算符要求有3个操作对象,称三目运算
12、符。条件表达式的一般形式:表达式1?表达式2:表达式3表达式1条件表达式去表达式2的值条件表达式去表达式3的值假(0)真(非0)(1)条件运算符的优先级优于赋值运算符,但是比关系运算符和算术运算符都低。(2)条件运算符的结合方向是“自右至左”例如:a>b?a:c>d?c:d若a=1,b=2,c=3,d=4则先算(c>d)?c:d结果:d=4再算(a>b)?a:4结果:d=4条件表达式还可以写成以下形式:a>b?(a=100):b=100)或a>b?printf(“%d”,a):printf(“%d”,b)即表达式2和表达式3不仅可以是数值表达式,还可以赋值表达
13、式或函数表达式。例:输入一个字符,判别它是否大写字母,若是,将它转换成小写字母;若不是,不转换。然后输出最后得到的字符。Main(){charc1;scanf(“%c”,&c1);c1=(c1>=‘A’&&c1<<=‘Z’)?(c1+32):c1;printf(“%c”,c1);}If语句If语句的三种形式:(1)if(表达式)语句例如:if(x>y)printf(“%d”,x);表达式假(0)语句真(非0)(2)if(表达式)语句1else语句2例如:if(x>y)printf(“%d”,x);esleprintf(“%d”,y);表达式语句2语句1假真(3
14、)if(表达式)语句1elseif(表达式2)语句2elseif(表达式3)语句3......elseif(表达式m)语句melse语句n说明:(1)3种形式的if后面都有表达式,一般为逻辑表达式或关系表达式。在执行if语句时先对表达式求解。若表达式为真,则执行后面的语句。若为假则执行else后的语句。(2)第二、三种形式的if语句中,在每个else前面有一分号,整个语句结束处有一个分号。Switch语句1.Switch语句是多分支选择语句。而if语句只有两个分支选择。2.Switch的一般形式:switch(表达式){case常量表达式1:语句1case常量
15、表达式2:语句2case常量表达式n:语句ndefault:语句n+1}......3.Switch后面括号内的表达式,ANSI标准允许它为任何类型。4.当表达式的值与某一个case后面的常量表达式相等,就执行此case后面的语句,若所有的case后面的表达式都没有与表达式相等,就执行defaulth后面的语句。5.每一个case的常量表达式的值必须互不相同。6.各个case和default得出现次序不影响执行结果。7.在执行switch语句时,根据switch后面表达式的值找到匹配的入口标号,就继续执行下去,不再进行判断。例如:Switch(grade){c
16、ase‘A’:printf(”85~1
此文档下载收益归作者所有