1. if
与switch
的使用及差异
分支语句本质上就是选择,我们可以通过分支语句来选择然后执行不同的命令。
而分支语句有if
和switch
两种,这两个都可以进行多分支选择,但两者还是有着很大的区别,两者各有优劣,各自有着不同的使用场景。
其中if语句先是判断表达式的对错,然后再执行语句。
下面先看一下最简单的一个if语句。
#include <stdio.h>
int main()
{
if(表达式);
语句1//表达式正确,执行语句1
else
语句//表达式错误,执行语句2
return 0;
}
而switch语句是输入一个整型(也可以是字符),然后选择对应的语句执行
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d",a);//输入一个数字
switch(a)//得到a的值
{
case 1://输入1,打印学习
printf("学习");
break;//这个可以中断程序,跳出switch,否则会执行case2
case 2://输入2,打印玩游戏
printf("玩游戏");
break;
}
return 0;
}
这些都是if和switch最基本的用法,从这里可以看出两者还是有着很大的不同的,下面就更详细的说明两者的用法。
2.if
语句的详细使用
- 在if中,如果需要执行多选择,那么可以在if语句中进行嵌套使用。
这里举一个例子说明。
#include <stdio.h>
int main()
{
int studyday = 0;
scanf("%d",studyday);
if(a>100)
{
if(a>1000)//(例一)
{
printf("c语言高手");
printf("自律达人");
}
else//(例二)
printf("c语言小白")
}
else
return 0;
}
这里需要注意的是if
和else
默认只执行紧跟着的一条语句(例二),如果执行多条,需要加上大括号(例一)
这就是一个嵌套if语句,但是如果嵌套过多可能会不利于观察。
所以还可以使用else if
构成多重判断。
if else
多重判断
这里就简单使用if else
来达到多选择。
#include <stdio.h>
int main()
{
int studyday = 0;
scanf("%d",studyday);
if(a>10)
printf("c语言小白")
if else(a>100)
printf("自律达人");
if else(a>1000)
printf("c语言高手");
else
return 0;
}
3.switch
语句的使用
switch
语句简单点说就是输入一个整型(字符型),然后跳到对应的执行语句,最后通过break结束语句。
而switch
只有会遇到break
时才跳出程序,于是多个整形(字符)来控制同一个程序,如下面输入1/2/3
都可以打印学习。
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d",a);//输入一个数字
switch(a)//得到a的值
{
case 1:
case 2;
case 3;
printf("学习");//输入1或2或3,打印玩游戏
break;
case 4://输入4,打印玩游戏
printf("玩游戏");
break;
default;
printf("无");
break;
}
return 0;
}
最后还有一个default
使用时,如果输入不是1/2/3/4
的任意值,最后都会打印无