一、if语句
语法结构:
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
如果条件成立,要执行多条语句,则应该使用代码块。
#include <stdio.h>
int main()
{
if(表达式)
{
语句表达式1;
}
else
{
语句表达式2;
}
return 0;
}
这里的{}就是一个代码块。
练习
输出1~100之间的奇数
#include <stdio.h>
int main()
{
int n =1;
while (n <= 100)
{
if (n % 2 == 1)
printf("%d ", n);
n++;
}
return 0;
}
二、switch语句
switch(整型表达式)
{
语句项
}
//语句项即为一些case语句
//如下:
case 整型常量表达式
语句
在switch语句中的 break
在switch语句中,我们没办法直接实现分支,搭配break使用才能实现
例如我们要打印今天星期几的时候,当我们运行到对应的case时要结束语句,则需加上break
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
switch (n)
{
case 1:
printf("星期一\n");
break;
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;
default:
printf("输入错误\n");
break;
}
return 0;
}
default语句
如果表达的值与所有的case标签的值都不匹配怎么办?
结构就是所有的语句都被跳过而已程序并不会终止,也不会报错,因为这种情况在C中并不认为是
个错误。
如果你并不想忽略不匹配所有标签的表达式的值时,可以在语句列表中增加一条default子句,把
default:写在任何一个case标签可以出现的位置。
当switch表达式的值并不匹配所有case 标签的值时,这个default 子后面的语句就会执行
所以每个switch语句中只能出现一条default子句。但是它可以出现在语句列表的任何位置,而且语
句流会像执行一个case标签一样执行default语句。
具体操作可以参考上面的代码
That's it.