if和else关键字对条件进行判断。请先看下面的代码:
#include <stdio.h>
int main()
{
int age;
printf("请输入你的年龄:");
scanf("%d", &age);
if(age>=18){
printf("恭喜,你已经成年,可以使用该软件!\n");
}else{
printf("抱歉,你还未成年,不宜使用该软件!\n");
}
return 0;
}
可能的运行结果:
请输入你的年龄:23↙
恭喜,你已经成年,可以使用该软件!
请输入你的年龄:16
抱歉,你还未成年,不宜使用该软件!
age>=18是需要判断的条件,>=表示“大于等于”,等价于数学中的≥。if后面的语句(第8行);如果条件不成立,也即 age 小于 18,那么执行else后面的语句(第10行)。
if(判断条件){
语句块1
}else{
语句块2
}
{ }包围的一个或多个语句的集合。如果语句块中只有一个语句,也可以省略{ },例如:
if(age>=18) printf("恭喜,你已经成年,可以使用该软件!\n");
else printf("抱歉,你还未成年,不宜使用该软件!\n");
#include <stdio.h>
int main()
{
int a, b, max;
printf("输入两个整数:");
scanf("%d %d", &a, &b);
if(a>b) max=a;
else max=b;
printf("%d和%d的较大值是:%d\n", a, b, max);
return 0;
}
运行结果:
if(判断条件){
语句块
}
#include <stdio.h>
int main()
{
int a, b, max;
printf("输入两个整数:");
scanf("%d %d", &a, &b);
max=b; // 假设b最大
if(a>b) max=a; // 如果a>b,那么更改max的值
printf("%d和%d的较大值是:%d\n", a, b, max);
return 0;
}
运行结果:
if(判断条件1){
语句块1
} else if(判断条件2){
语句块2
}else if(判断条件3){
语句块3
}else if(判断条件m){
语句块m
}else{
语句块n
}
#include <stdio.h>
int main(){
char c;
printf("Input a character:");
c=getchar();
if(c<32)
printf("This is a control character\n");
else if(c>='0'&&c<='9')
printf("This is a digit\n");
else if(c>='A'&&c<='Z')
printf("This is a capital letter\n");
else if(c>='a'&&c<='z')
printf("This is a small letter\n");
else
printf("This is an other character\n");
return 0;
}
运行结果:{ }包围,但要注意的是在}之后不需要再加分号;(当然加上也没错)。
#include <stdio.h>
int main(){
int a,b;
printf("Input two numbers:");
scanf("%d %d",&a,&b);
if(a!=b){ //!=表示不等于
if(a>b) printf("a>b\n");
else printf("a<b\n");
}else{
printf("a=b\n");
}
return 0;
}
运行结果:
if(a!=b) // ①
if(a>b) printf("a>b\n"); // ②
else printf("a<b\n"); // ③
③和②配对,而不是和①配对。
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有