- 分支(条件判断)语句
- 循环语句
- 转向语句
- if判断语句
if是一种判断语句通常搭配else来使用,如果表达式为真,则执行语句,如果表达式为假,则结束语句,或是跳至else语句。(0表示假,非0表示真)
需要注意的是:else是和它离最近的if匹配的。
- switch语句
switch语句常用于多分支的情况,switch语句要想实现多分支,必须搭配break使用才能实现真正的多分支。
switch()
{
case 1:
语句:
break;
case 2:
语句:
break;
default:
语句:
}
break为结束或跳出语句,default和else语句的作用一样。
- while循环语句
while(表达式)//当表达式条件满足,停止循环
循环语句;
while语句也可以搭配break和continue使用。
break在while循环中的作用:只要循环中遇到break,就停止后面的所有循环,直到循环结束,while中的break是永久终止循环。
continue在while循环中的作用:continue是用于终止本次循环,也就是continue后面的代码不会执行,而是直接跳转到while语句中的判断部分,进行下一次的循环判断。
- for语句
for语句和while语句比较相似,执行的流程一样
for(表达式1;表示2;表达式3)
//表达式1赋值,表达式2判断,表达式3执行
循环语句;
for语句也可以搭配break和continue使用,意义和在while循环语句中一样。
- do while语句
do while循环至少要循环一次,使用的场景有限,所以不经常使用。
do while中的break和continue与while中的意义也是一样的
- 另外附上两个好玩的程序
//猜数字
#include <stdlib.h>
#include <time.h>
void menu()
{
printf("****************************************\n");
printf("***** 1.开始 0.退出 *****\n");
printf("****************************************\n");
}
void game()
{
//1.生成一个随机数
int ret = 0;
int guess = 0;//接收生成的随机数
ret = rand()%100+1;//生成一个1-100之间的数
//printf("%d\n", ret);
//2.猜数字
while (1)
{
printf("请猜数字:>");
scanf_s("%d", &guess);
if (guess > ret)
{
printf("猜大了\n");
}
else if (guess < ret)
{
printf("猜小了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
srand((unsigned int)time(NULL));//用时间戳来设置一个随机数
int input = 0;
do
{
menu();
printf("请选择>:");
scanf_s("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
break;
}
} while (input);
return 0;
}
while循环实现
#include <stdio.h>
#include <stdlib.h>
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");
while (1)
{
printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
scanf("%s", input);
if (0 == strcmp(input, "我是猪"))
{
system("shutdown -a");
break;
}
}
return 0;
}
goto语句实现
#include<stdio.h>
#include<stdlib.h>
int main()
{
char input[10] = { 0 };
system("shutdown -s -t 60");
again:
printf("电脑将在1分钟内关机,如果输入:我是猪,就取消关机!\n请输入:>");
scanf("%s", input);
if (0 == strcmp(input, "我是猪"))
{
system("shutdown -a");
}
else
{
goto again;
}
return 0;
}