(1)在三种形式的if语句中,在if关键字之后均为表达式。该表达式通常是逻辑表达式或关系表达式,但也可以是其他表达式,如赋值表达式等,甚⾄也可以是⼀个变量。例:if(a=5)语句; if(b)语句;
只要表达式的值为⾮零,即为“真”。⽐较:
#include int a,b; scanf(\"%d%d\",&a,&b); if (a=b) { printf(\"%d\\n\",a); }} #include 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语句的三种形式中,所有的语句应为单个语句,如果想要在满⾜条件时执⾏⼀组(多个语句),则必须把这⼀组语句⽤{}括起来组成⼀个复合语句。但要注意的是在}后不能再加;号。(建议单个语句也⽤{}括起来,⽅便以后插⼊新语句)例: #include 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);}
因篇幅问题不能全部显示,请点此查看更多更全内容