欢迎来到天天文库
浏览记录
ID:15707401
大小:55.00 KB
页数:6页
时间:2018-08-05
《计算机二级c语言讲义4》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章选择结构关系运算和逻辑运算各种程序设计语言的选择语句和循环语句都由逻辑判断控制流程。因此,各种程序设计语言都有实现逻辑控制的语法机制。与其他程序设计语言不同的是,C语言中没有逻辑变量和逻辑值。那么,C程序中如何实现逻辑控制呢?原来,按C语言的语法规则,C程序中的一切数值都可以从逻辑意义上理解:非0值代表真,0值代表假。C语言的逻辑运算,其结果有两个:“1”为真,“0”为假。关系运算符和关系表达式1.关系运算符C语言中有六个关系运算符,它们的意义和性质见表。表关系运算符<小于<=小于等于>大于>=大于等于==等于!=不等于这六个关系
2、运算符都需要两个操作对象,是双目运算符。它们的优先级在算术运算符之下而在赋值运算符之上。因此,当赋值运算符、关系运算符及算术运算符混合运算时,先进行算术运算,再进行关系运算,最后是赋值运算。如x=y+z<10,等价于x=((y+z)<10)。连续使用优先级相同的关系运算符时,服从从左向右的结合性。如表达式“3<2<5”等价于“(3<2)<5”。2.关系表达式用关系运算符将C语言中任何类型的两个表达式连接起来可以构成关系表达式。关系表达式的值只有两个:当关系表达式所比较的结果为真时该表达式值为1,否则其值为0。下表中例举了一些关系表达式。
3、其中的第4个表达式6x=5-2>=4其值为0。表达式值2<00(‘a’-‘b’)>003<2<51x=5–2>=401.0/3*3==1.00等价于x=(3>=4),即最后可视为赋值表达式,将一个关系表达式的值赋给变量x。表4.2中的最后一个表达式为1.0/3*3==1.0在关系运算符"=="之左边是一个算术达式。其中的1.0/3是无限循环小数,而机内表示的1.0/3是一个有限位的近似值。可见,整个关系表达式之值为0。逻辑运算和逻辑表达式逻辑运算符:C语言中有三种逻辑运算符&&:逻辑“与”
4、
5、:逻辑“或”!:逻辑“非”其中“逻辑与”运算
6、原理是,仅当其两个操作对象均非0(即为真)时结果为1,否则其结果为0。如5&&1值为1,而0&&6值为0。“逻辑或”运算原理是,仅当两个操作对象均为0(即为假)时其结果为0,否则其结果为1。如5
7、
8、0值为1,而0
9、
10、0值为0。“逻辑非”的运算原理是对其操作对象取非:若x值非0,则!x为0。而!0值为1。2.逻辑表达式逻辑表达式逻辑运算符作用于任何类型的表达式而构成。逻辑运算符的操作对象,不论其类型如何,只有0与非0两个值:0代表逻辑值假,非0代表逻辑值真。6逻辑表达式的值,其结果只有0与1之分:0代表逻辑值假而1代表逻辑值真。C程序对逻
11、辑表达式求值时,一旦表达式的真或假值已经确定,则操作数的求值过程便立即停止。11.2.1if语句if语句的一般形式if语句用关键字if和else描述,其一般形如:if(表达式e)语句S1(1)else语句S2表达式e:关系表达式,逻辑表达式,实际上可任何类型。控制整个语句的执行路线。语句S1和语句S2可以是任何类型的单个语句(包括空语句和复合语句)。if语句的控制原理:先计算表达式e的值。如果表达式e值非0(真),则执行语句S1。然后结束该条件语句而执行其后边的语句。如果表达式e值为0(假),则执行语句S2。然后结束该条件语句而执行其后
12、面的语句。if语句的嵌套if语句一般形式(1)的两个分支语句S1和S2可以是任何类型的语句。特别地,也可以是if语句(单目的或双目的)。当(1)的语句S1和(或)语句S2又是if语句时,就构成了if语句的嵌套。在一个嵌套的if选择结构中会同时出现两个或多关键字if(或else)。C语言的语法规定,嵌套式if语句中,每个else通常是同它前边最近的那个if相匹配。当然,可以使用大括号构成的复合语句强行改变这种匹配法则。对于已知的int型变量x值,计算并输出函数f(x)值。f(x)定义为:程序如下:main(){floatx,f;print
13、f("Inputintx:x<=2:");scanf("%f",&x);6if(x>=0&&x<=2)f=x*x;elseif(x<0)f=x;printf("f(x)=%f",f);}条件表达式语句条件表达式语句的一般形式条件运算符(?:)作用于三个操作对象时构成条件表达式,后面加上分号便成了条件表达式语句。条件表达式语句的一般形式:e1?e2:e3;其中e1、e2、e3都是表达式(任意类型)。条件表达式语句的控制原理:先计算表达式e1的值。如果e1值非0(真),则执行表达式e2并结束整个语句的操作。如果e1值为0(假),
14、则执行表达式e3并结束整个语句的操作。条件表达式语句等价于以下的if语句:if(e1)e2;elsee3;判断一个int型变量的值是否奇数,是则输出Odd,否则输出Even。程序如下:main(){intn
此文档下载收益归作者所有