选择(分支)与循环

if选择语句

语句:由分号结尾的一句话就是一条语句。

...
int a;//创建变量a的语句
;//空语句
int a //错误的写法
//***分号不能乱加,也不能少加***
...

简单的if选择语句

...
if(条件)
{
语句;//当条件满足时则执行语句,否则什么也不做
}
//***当语句只有一条语句时“{ }”可省略***
...

if(条件)
{
语句;
}
else
{
//当if条件不满足时则跳到else里的语句来
语句;
}
...

多种if选择语句

...
if(条件1)
{
语句1;
}
else if(条件2)
{
语句2;
}
else
{
语句3;
}
//解释:当条件1满足时则执行语句1(下面的else if/else直接跳过),当条件1不满足时则看条件2满足否?若满足则执行语句2(下面的else if/else直接跳过),否则执行语句3

注:else与离得最近的还未匹配的if进行匹配,“=”与“==”不可乱用

switch分支语句

switch分支语句

switch语句常常用于多分支的情况。

例:假如让你编写一个游戏菜单,实现一个按1键进入游戏,按2键重启游戏,按3键重玩游戏,按0键退出游戏。

分析:用if语句也能写出来,但用switch语句更方便,更简洁。

下面让我们来用switch语句实现上述需求。

#include <stdio.h>

void menu()
{
printf("**************************\n");
printf("***1.进入游戏 2.重启游戏***\n");
printf("***3.重玩游戏 0.退出游戏***\n");
printf("**************************\n");
}

int main()
{
int num = 0;
menu();//打印菜单函数
printf("请选择数字:>")
scanf("%d",&num);//输入函数,即录入num的值
switch(num)
{
case 0:
printf("游戏退出。\n");
break;
case 1:
printf("play。\n");
break;
case 2:
printf("restart.\n");
break;
case 3:
printf("play again.\n");
break;
case 4.0://错误的写法,case后面只能是整形常量表达式
;
break;

default:
语句;
break;

}
return 0;
}

switch(整形表达式 ){case语句;default语句;},“()”里只能是整形表达式;case语句后面只能接整形常量表达式;default语句当case语句没有一个满足时则跳到default语句中;break语句用于退出switch语句(跳出switch语句)