分支结构(也称为选择结构)是C程序设计中三大基本结构之一,根据条件来判断执行哪些语句,如果给定的条件成立,就执行相应的语句,如果不成立,就执行另外一些语句。
例如,用户输入的成绩可以根据表3-1的成绩等级评定来输出相应的等级。
表3-1成绩等级评定表
用户输入成绩,程序会做出判断,根据不同的成绩输出不同的等级。本例中四个输出语句,只有一个被执行,其他三个被跳过,没有执行。
超实用性的Python零基础入门到进阶视频源码淘宝¥2购买已下架关系运算符和表达式
1.关系运算符
在程序中经常需要比较两个数的大小关系,以确定程序下一步的工作。比较两个数大小的运算符称为关系运算符。进行关系运算后其结果为逻辑值(即“1”或者“0”),C语言一共提供了6种关系运算符:
小于运算符,如ab。
=小于或等于运算符,如a=b+5。
大于运算符,如a(b+c)。
=大于或等于运算符,如x=y。
==等于运算符,如a==b。
!=不等于运算符,如4!=7。
说明:
(1)关系运算符都是双目运算符,其结合性均为左结合。
(2)在六个关系运算符中,、=、、=的优先级相同,高于==和!=,==和!=的优先级相同。
(3)关系运算符的优先级低于算术运算符,高于赋值运算符。
(4)“==”是关系运算符,用来比较两个变量或表达式的值。而“=”是赋值运算符,用于赋值运算。
(5)由两个字符组成的运算符之间不可以加空格,如=不能写成:V=。
2.关系表达式
用关系运算符将两个或两个以上运算对象连接起来的式子,称关系表达式。进行关系运算的对象可以是常量、变量或表达式。
例如:
a+bc-d
59
(a=3)=(b=5);
‘a’’b’
(ab)==(bc)
都是合法的关系表达式。
关系表达式的运算结果应理解为1(真)或0(假),在C语言中用“1”表示“真”,“0”表示“假”。例如:
intx=3,y=4,z=5;则表达式
xy其值为1(即“真”)
x+yz其值为0(即“假”)
x(yz)其值为1(即“真”)
xyz其值为0(即“假”)
说明:
(1)当关系运算符两边的值类型不一致时,若一边是整型,一边是实型,系统自动将整型转换为实型,然后进行比较。
(2)若x和y都是实型,应当避免使用==这样的关系表达式,因为通常存在内存中的实型数据时有误差的,因此不可能精确相等,这将导致关系表达式x==y的值总为0。
(3)关系表达式常常用于选择结构、循环结构的判定条件。
(4)关系表达式的值还可以参与其他种类的运算,例如算术运算、逻辑运算。
(5)当表示x在一定区间时,不能像数学一样写成连式,必须写成两个关系表达式再用逻辑表达式将其连接起来。如:表示x大于3小于5,不能写成3x5。
输出关系表达式的值。
#includestdio.h
intmain()
{
charc=k;
inti=1,j=2,k=3;
floatx=3e+5,y=0.85;
printf(%d,%d\n,a+5c,-i-2*j=k+1);
printf(%d,%d\n,1j5,x-5.25=x+y);
printf(%d,%d\n,i+j+k==-2*j,k==j==i+5);
return0;
}
程序运行结果:
1,0
1,1
0,0
本例中,字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k==j==i+5,根据运算符的左结合性,先计算k==j,该式不成立,其值为0,再计算0==i+5,也不成立,故表达式值为0。
逻辑运算符和表达式
1.逻辑运算符
关系表达式只能描述单一条件,对于复杂的复合条件,就需要将若干个关系表达式连接起来才能描述。例如,描述“x=3”、同时“x=5”,就需要借助于逻辑表达式。
C语言中提供了三种逻辑运算符:
(1)(逻辑与)相当于“同时”
(2)
(逻辑或)相当于“或者”
(3)!(逻辑非)相当于“否定”
例如:
ab当且仅当a,b同时为“真”时,运算结果为“真”,否则为“假”。
a
b当且仅当a,b同时为“假”时,运算结果为“假”,否则为“真”。
!a当a为“真”,运算结果为“假”,当a为“假”时,运算结果为“真”。
与运算符()和或运算符(
)均为“双目运算符”,它要求有两个运算量,具有左结合性。非运算符(!)为单目运算符,只要求一个运算量,且具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如图3-1所示。
2.逻辑运算的值
逻辑运算的值为“真”和“假”两种,分别用“1”和“0”来表示。例如,intx=2,y=6;
Z=(y3)其值z=1
Z=(xy)其值z=0
例如,intx=2,y=3,z=5,b=0,a;
a=x+yzb0相当于a=((x+y)z)(b0)其值为:a=0
a=xy
!b相当于a=(xy)
(!b)其值为:a=1
图3-1运算符优先级
虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:
由于5和3均为非“0”因此53的值为“真”,即为1。
3.逻辑表达式
逻辑表达式是指用逻辑运算符将一个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。
例如判断一个整数n能否被3和5整除,可用如下逻辑表达式来表示:
n%3==0n%5==0
又如,表示x的取值在[5,9]或(,)的表达式为:
(x=5)(x=9)
(x)(x)
注意不能写成5=x=9
x。
说明:
实际系统在计算逻辑表达式时,只有在必须执行下一个表达式求解时,才真正求解这个表达式。
(1)对于逻辑与运算,如果第一个操作数被判定为“假”,系统将不再判定或求解第二个操作数。
例如,inta=0,b=0;ab++;逻辑表达式结果为0,a=0,b=0。
(2)对于逻辑或运算,如果第一个操作数被判定为“真”,系统将不再判定或求解第二个操作数。
例如,inta=1,b=0;a
b++;逻辑表达式的结果为1,a=1,b=0。
好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个