编程语言应用

首页 » 常识 » 预防 » 入门必学,If如果C程序中分支结构该怎么
TUhjnbcbe - 2023/7/15 21:21:00

分支结构(也称为选择结构)是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。

好了,本文到此结束。如果对编程、计算机、程序员方面感兴趣的话,欢迎私信联系我,随时交流!点个

1
查看完整版本: 入门必学,If如果C程序中分支结构该怎么