C语言的分支与循环
c语言中常用的循环语句有:if语句、while语句、do while语句、switch语句、for语句。简单介绍一下这几种语句。
if语句
语法定义形式
if(条件表达式)
{ }
else
{ }
条件表达式中,真用非0表示,假用0表示。
运行流程图:
用if语句判断一个人时儿童、青年、壮年还是老年。年龄12岁以下为儿童,12-25为青年,25-55为壮年,55岁以上为老年。
#include <stdio.h>
int main()
{
int age=0;
printf("请输入年龄:\n");
scanf("%d",&age);
if(age<=12)
{
printf("儿童\n");
}
else if(12<age<=25)
{
printf("青年\n");
}
else if(25<age<=55)
{
printf("壮年\n");
}
else
{
printf("老年\n");
}
return 0;
}
运行结果:
注意:程序中有多个if或else时,else自动与最近的一个if组成一对。
while语句
语法定义形式
while(条件表达式)
{ }
运行流程图:
在循环语句中,遇到break直接结束所有循环,遇到continue跳过本次循环,进行下一次循环。
用while语句打印出1-20。
#include <stdio.h>
int main()
{
int num = 1;
while (num <= 20)
{
printf("%d ", num);
num++;
}
return 0;
}
运行截图
do while语句
语法定义形式:
do
{ }
while(条件表达式)
运行流程图:
switch语句
语法定义形式
switch( )
{
case 0:
break;
case 1:
break;
…
default:
break;
}
注意:case后面只能跟整形常量,switch后面的条件表达式只能是常量
执行流程图:
用do while语句、switch语句实现一个猜数字游戏
#include <stdio.h>
void menu()
{
printf("********************\n");
printf("*******1.paly*******\n");
printf("*******0.exit*******\n");
printf("********************\n");
}
void game()
{
int num = 0;
num = srand((unsigned int)time(NULL)) % 100 + 1;//生成一个1到100之间的随机数
int guess = 0;
while(1)
{
printf("请输入:");
scanf("%d", &guess);
if (guess > num)
printf("猜大了!\n");
else if (guess < num)
printf("猜小了!\n");
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
int main()
{
int input = 0;
do
{
menu();
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("游戏结束,下次再见\n");
break;
default:
printf("输入错误,请重新输入:\n");
break;
}
} while (input);
return 0;
}
运行结果:
for语句
语法定义形式
for( 表达式1 ;表达式2 ;表达式3 )
{ }
运行流程图:
用for语句打印一个九九乘法表
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
for (i = 1; i <= 9; i++)
{
//j = 1;
for (j = 1; j<=i;j++)
{
printf("%d*%d=%2d\t", j, i, j * i);
}
printf("\n");
}
return 0;
}
执行结果图: