搜索
您的当前位置:首页正文

使用if语句时应注意的问题(初学者)

来源:六九路网
使⽤if语句时应注意的问题(初学者)

(1)在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其他表达式,如赋值表达式等,甚⾄也可以是⼀个变量。例:if(a=5)语句; if(b)语句;

只要表达式的值为⾮零,即为“真”。⽐较:

#includevoid main(){

int a,b;

scanf(\"%d%d\",&a,&b); if (a=b) {

printf(\"%d\\n\",a); }}

#includevoid main(){

int a,b;

scanf(\"%d%d\",&a,&b); if (a==b) {

printf(\"%d\\n\",a); }}

注;若if后的a==5输⼊成a=5,则输出结果永远为真。

如何避免:将a==5改为5==a(习惯上的改变,这只是⼀个例⼦)

(2)在if语句中,条件判断表达式必须⽤括号括起来,在语句之后必须加分号。

(3)在if语句的三种形式中,所有的语句应为单个语句,如果想要在满⾜条件时执⾏⼀组(多个语句),则必须把这⼀组语句⽤{}括起来组成⼀个复合语句。但要注意的是在}后不能再加;号。(建议单个语句也⽤{}括起来,⽅便以后插⼊新语句)例:

#includevoid main(){

int a,b;

scanf(\"%d%d\",&a,&b); if (a>b) {

a++; b++; } else {

a=0; b=10; }

printf(\"%d,%d\",a,b);}

补例1:写⼀个程序完成下列功能:1、输⼊⼀个分数score;2、score<60      输出E3、60<=score<70 输出D4、70<=score<80    输出C5、80<=score<90 输出B

6、90<=score      输出A

#include

void main(){

int score;

printf(\"input a score\\n\"); scanf(\"%d\",&score); if(score<60) {

printf(\"The score is E\"); }

else if((score>60 || score==60)&&score<70) {

printf(\"The score is D \"); }

else if((score>70 || score==70)&&score<80) {

printf(\"The score is C\"); }

else if((score>80 || score==80)&&score<90) {

printf(\"The score is B\"); }

else if(score>90||score==90) {

printf(\"The score is A\"); }}

补例2:输⼊3个数a,b,c,要求按由⼩到⼤的顺序输出。提⽰:if  a>b  将a和b互换;   if  a>c  将a和c互换;   if  b>c  将b和c互换;

#include

void main(){

int a,b,c,temp;

printf(\"input three numbers\\n\"); scanf(\"%d%d%d\",&a,&b,&c); if(a>b) {

temp=a; a=b; b=temp; }

if(a>c) {

temp=a; a=c; c=temp; }

if(b>c) {

temp=b; b=c; c=temp; }

printf(\"%d %d %d \\n\",a,b,c);}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top