条件语句
一、if语句
1.if语句
if(条件表达式){
代码
}
如果表达式为真则执行{}里的代码,如果不满足表达式的条件则跳过。
特别注意if条件表达式后面是没有;的
实例
请输入您的年龄,如果大于18,输出已成年
代码:
#include "stdio.h"
int main() {
int age;
scanf("%d", &age);
if (age > 18) {
printf("已成年!");
}
return 0;
}
或
#include "stdio.h"
int main() {
int age;
scanf("%d", &age);
if (age > 18)
printf("已成年!");
return 0;
}
执行结果:
注意两个代码是等效的,因为if语句有两类写法,一种是带{},一种是不带{},带{}的如果满足if条件则执行{}里面的语句,不带{}的只有下面的一行代码属于if语句里的内容(注意这里判断一行语句并非是真正的行列里的一行而是依靠;区分的,每行语句以分号结尾) 。
相关报错:[错误] 非法字符 '\243' 在程序中
原因:有中文字符,可能是引号也可能是分号。
if条件语句的判断:
1.(数字)为真
2.(x=1;)语句(去掉分号即可“;”代表一个语句的结束)不能为条件表达式
3.(x=4,x-2)x=4,x-2的值为2,为真
4.('字母')字母对于的ascll码不为0就为真
5.a=4,b=4(a>3&&b<5)为真(如果不理解如何判断&&和||请看上一篇)
2.if-else语句
if(条件表达式){
语句序列1
}
else{
语句序列2
}
如果表达式为真则执行{}里的语句序列1,如果不满足表达式的条件则执行else里的语句序列2
实例
请输入您的年龄,如果大于18,输出已成年,否则输出未成年
代码:
#include "stdio.h"
int main() {
int age;
scanf("%d", &age);
if (age > 18)
{
printf("已成年!");
} else {
printf("未成年!");
}
return 0;
}
执行结果:
3. if-else if-else语句
对于同类型的判断用else if就相当于if语句只是里面的条件不一样,所以前面加了一个else。如果执行了if语句或else if语句则后面的条件的else if语句不在执行。
实例
请输入您的年龄,如果小于12,输出儿童,如果大于18小于65,输出青年,否则输出老年
代码:
#include "stdio.h"
int main() {
int age;
scanf("%d", &age);
if (age < 12) {
printf("儿童!");
} else if (age > 18 || age < 65) {
printf("青年");
} else {
printf("老年!");
}
return 0;
}
执行结果:
注意c语言里不能直接写18<age<65,要把它分开写,写成age>18||age<65 ,因为它的执行结果是这样的,比如age为32,18<32为真的值为1,然后那这个1和65比较大小,1<65为真执行if语句,但是age为12,18<12为假的值为0,然后那这个0和65比较大小,0<65为真,执行if语句。不管输入什么这个条件都为真,都执行这个条件语句。
总结:
在if条件语句里只要不是0和false都为真都满足