admin 管理员组

文章数量: 1184232


2024年3月21日发(作者:模块建房取暖)

if else 语句

TAG: if…else…,if语句,条件控制语句,语句,程序,程序结构

TEXT: if…else…语句:对一个条件的判断通常有两个可能:„真(1)‟或„假(0)‟,单分支结构

只考虑了其条件为„真‟的情况并给出相应的操作,而没有考虑当条件为„假‟时程序应执行什

么动作。当无论条件为„真‟还是为„假‟都需要执行不同的操作时,可以采用双分支选择结构。

C语言是通过if…else语句实现的。if…else…语句可以在条件为„真‟或为„假‟时执行指定的

不同的动作。

牋?if…else语句的执行过程:

牋牋牋 if?(表达式)?语句序列1;

else?语句序列2;

其中:

if、else:C语言的关键字,由if引导条件为„真‟是执行的操作;由else引导条件为„假‟是

执行的操作。

语句序列:当表达式的值为真(或为假)时执行的语句。可以是一条语句或一组语句,如果

是一组语句,需要采用复合语句形式,用{ }将这组语句括起来。

执行过程:当表达式结果为真时,执行语句S1,放弃语句S2的执行,执行if语句的下一

条语句;当表达式结果为假时,执行语句S2,放弃语句S1的执行,执行if语句的下一条

语句。无论如何,对于一次条件判断,语句S1和语句S2只能有一个被执行。不能同时被

执行。

例如:对及格和不及格学生的成绩信息都要输出。

if(grade>=60)

牋 printf("n%d,passedn",grade);

else

牋 printf("n%d,failedn",grade);?

例4-6 输入整数a,b若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

分支选择处理的条件是:a2+b2>100.根据两个整数相除仍然为整数的原则,用(a2+b2)/100

main()

{

int a,b,y;

printf("enter a,b:");

scanf("%d%d",&a,&b);

if(a*a+b*b)>100牋?* if(a2+b2>100) */

y=(a*a+b*b)/100;

else

y=a+b;

printf("y=%dn",y);

}

程序运行结果:

enter a,b:5 8

y=13

enter a,b:10 2

y=1

通常情况下,单分支结构也可以写成双分支结构的形式。因为双分支结构形式是一种对称

形式,它更符合人们的思维习惯。写出来的程序也比较明确、清晰、易读。

例4-3题可改写为:

牋牋 main()

牋牋 {

牋牋牋?int a,absa;

牋牋牋?printf("enter one number: ");

牋牋牋?scanf("%d",&a);

牋牋牋?if(a<0)?

牋牋牋牋牋 absa=-a;

牋牋牋?else

牋牋牋牋牋 absa=a;

牋牋牋?printf("|%d|=%d",a,absa);

牋牋?}

提示?#22312;if…else…结构中,if体和else体中的语句都应该采用“右缩进“的格式书写。

整个程序的缩进距离应该是一致的。使得程序清晰、易读。不遵循统一的缩进格式会使程

序难以阅读。

在C语言中,除了采用if…else…语句可以实现双分支结构外,还可以通过条件表达式实

现双分支结构。

C语言提供的条件表达式的格式:

牋 表达式1?表达式2:表达式3

执行过程:

求解表达式1的值,若该值为„真(非0)‟:则将表达式2的计算结果值作为整个表达式的结果;

否则将表达式3的计算结果值作为整个表达式的结果。

例如:if(a<0) absa=-a;

else?absa=a;?可以由(a<0)??a:a;替换。

例4-3题可改写为:

牋牋 main()

牋牋 {

牋牋牋 int a,absa;

牋牋牋 printf("enter one number: ");

牋牋牋 scanf("%d",&a);

牋牋牋 absa=(a<0)??a:a;牋牋牋?

牋牋牋牋牋牋?printf("|%d|=%d",a,absa);

牋牋?}

使用条件表达式实现双分支结构的条件是:(1)可以由一个if语句实现的双分支结构;(2)

无论条件的结果是„真‟或是„假‟,所执行的只能是一条简单的语句,并且这条语句只能是给

同一个变量赋值的赋值语句。

用条件表达式来代替if语句实现双分支结构,可以使程序变得简洁,提高执行速度。

将一个if…else…结构转换成条件表达式的方法如下:

(1)将原if语句的条件表达式写成e1;

(2)将当条件为真时的执行的赋值语句右端的表达式做e2;


本文标签: 语句 表达式 条件 执行 分支