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,passed\n",grade); else 牋 printf("\n%d,failed\n",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=%d\n",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 体中的语...