if语句
if...
//语法结构
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
#include <stdio.h>
int main()
{
if(3 == 5)
printf("hehe\n");//不输出
return 0;
}
#include <stdio.h>
int main()
{
if(3 == 3)
printf("hehe\n");//输出hehe
return 0;
}
#include <stdio.h>
int main()
{
int a = 10;
if(a = 3)//一个=是赋值
printf("hehe\n");//输出hehe
return 0;
}
if...else...
如果if语句后面要跟多条语句,必须用{}将多条语句括起来。
#include <stdio.h>
int main()
{
age = 18;
if(age < 18)
{
printf("未成年\n");
printf("不能饮酒\n");
}
else
print("成年\n");
return 0;
}
if...else if...else...
//多分支
#include <stdio.h>
int main()
{
int age = 10;
if(age < 18)
printf("青少年\n");
else if(age >= 18 && age < 28)
printf("青年\n");
else if(age >= 28 && age < 40)
printf("中年\n");
else if(age >= 40 && age < 60)
printf("壮年\n");
else if(age >= 60 && age <= 100)
printf("老年\n");
else
printf("老寿星\n");
return 0;
}
在c语言中,0表示假,非0表示真。
悬空else
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
// 不输出
原因:else是与离它最近的if匹配
代码书写需注意:
1.变量的命名(有意义,规范)
2.空格,空行,换行
练习
1.判断一个数是否为奇数
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d",&num);
//判断
if(num % 2 == 1)
printf("奇数\n");
else
printf("不是奇数\n");
return 0;
}
2.输出1-100之间的奇数
#include <stdio.h>
int main()
{
int i = 1;
while (i < 100)
{
if (i % 2 == 1)
printf("%d\n", i);
i++;
}
return 0;
}
switch语句
switch
表达式必须是整型
字符本质野是整型
switch(整型表达式)
{
case 整型常量表达式:
语句;
}
#include <stdio.h>
int main()
{
switch(day)
{
case 1:
printf("星期一\n");
break;//跳出switch语句
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
}
return 0;
}
练习
1.输入1-5,输出的是"weekday”;输入6-7,输出"weekend";
#include <stdio.h>
int main()
{
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
//所有case都不能执行时
default:
printf("选择错误\n");
break;
}
return 0;
}
编程好习惯:在每个switch语句中都放一条default子句是一个好习惯,甚至可以在后边再加一个break。
2.根据下列代码,求m和n的值
#include <stdio.h>
int main()
{
int n = 1;
int m = 2;
switch (n)//1
{
case 1:
m++;//3
case 2:
n++;//2
case 3:
//switch语序嵌套使用
switch (n)//2
{
case 1:
n++;
case 2:
m++;//4
n++;//3
break;
}
case 4:
m++;//5
break;
default:
break;
}
printf("m = %d, n = %d\n", m, n);// m = 5 n = 3
return 0;
}