一,if语句:
1.单纯的if:
# include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
if(i ==1) printf("i为 1\n");
return 0;
}
if就是如果的意思嘛,它的格式是
if(条件)
{
语句;
}
(当你只在其中写一条语句时,是可以不用花括号的,但是多条语句时,必须要用花括号,其实无论是几条语句最好都把括号带上,这样会使程序看起来更清晰一些)
即当if后面的括号里的条件成立时,执行后面的语句,如上面代码所示,如果输入的i是1,则会执行printf(“i为 1\n”);语句,在屏幕上会显示,i为 1
如果输入的i非1,则程序无输出结果。
2.if…else语句:
# include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
if(i ==1) printf("i为 1\n");
else printf("i非 1\n");
return 0;
}
else 是否则的意思,
语句格式为
if(条件) 语句1;
else 语句2;
如上述代码,当输入1,条件成立,则执行语句1;当输入…比如说2时,条件不成立,则执行与条件相对相反的else语句,执行语句2;
(这种相对相反的关系被称为布尔型,在以后你可能经常会看到这个名词。)
3.if…else if…else语句:
else if是…另一种条件下的意思,
它的格式为:
if(条件 1) 语句 1;
else if(条件 2) 语句 2;
else if(条件 3) 语句 3;
else if(条件 4) 语句 4;
:
else 语句 n;
(只要需要,你想写几个else if就可以写几个else if)
# include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
if(i ==1) printf("i为 1\n");
else if(i == 2) printf("i为 2\n");
else if(i == 3) printf("i为 3\n");
else printf("i不是1也不是2,不是3,是其它的整数\n");
return 0;
}
二,switch语句:
# include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
switch(i)
{
case 1:
printf("哈哈\n");
break;
case 2:
printf("嘿嘿\n");
break;
case 3:
printf("哼哼\n");
break;
default:
printf("啦啦\n");
}
return 0;
}
它的格式是:
switch(字符的变量或是数字的变量)
{
case 数字或字符:
语句1;
break;
case 数字或字符:
语句 2;
break;
:
default:
语句 n;
break;
}
case的意思是条件,就是说switch后面的括号中变量中存的是什么,
default的意思是默认,当case 们都匹配不上switch后的变量时,就会执行default中的语句。
break是打破的意思,意思是跳出当前区域,这里指的是switch,break是必要的,因为如果你不使用break,可能会出现以下情况:
如:
# include <stdio.h>
int main()
{
int i;
scanf("%d",&i);
switch(i)
{
case 1:
printf("哈哈\n");
break;
case 2:
printf("嘿嘿\n");
case 3:
printf("哼哼\n");
break;
default:
printf("啦啦\n");
}
return 0;
}
我们删去了case 2:中的break,你在运行的过程中就会发现,当输入"2"时,会在屏幕上显示,
嘿嘿
哼哼
竟然把case 3中的语句也执行了!!!我们可以大胆猜测switch的运行原理,就是当swtich接收到变量的值时,会在众多的case 中进行比对,当找到匹配的case 进入执行该语句,然后像滑滑梯一样往下执行,如果没有break拦着,就会将该case以下的语句全部执行。
看起来很麻烦的样子,但是,swtich不常用,我们有逻辑更清晰的if语句,用switch干什么嘛,是吧?
欢迎提问哦。