C语言基础——流程控制语句

一、流程控制语句 – 控制程序的运行过程 == 9条

顺序执行 – 从上到下执行,从左到右执行(运算符的优先级)。
从main函数开始,到main函数结尾结束。(C语言)
(以下代码均在Ubuntu的Linux操作系统下运行)

(一)、条件选择流程控制语句:

if
if……else……
if……else if……
switch()
场景1:查分系统:输入你的成绩,系统自动识别优、良、及格和不及格
优秀:90<= score <= 100
良: 70<= score < 90
及格:60<= score < 70
不及格:

if语句

#include <stdio.h>

/*:查分系统:输入你的成绩,系统自动识别优、良、及格和不及格
优秀:90<=score<=100
良:70<=score<90
及格:60<=score<70
不及格:<60*/
//如果表达式1为真,执行程序1。--只需要一种结果
int main()
{
	int score=0;
	printf("请输入成绩:");
	scanf("%d",&score);
	if(score<60)
	{
		printf("哟哟哟,都没及格~\n");
	}
}

运行结果:
在这里插入图片描述

if……else……语句

#include <stdio.h>

/*:查分系统:输入你的成绩,系统自动识别优、良、及格和不及格
优秀:90<=score<=100
良:70<=score<90
及格:60<=score<70
不及格:<60*/
//如果表达式1为真,执行程序1,否则执行程序2。--只需要2种结果
int main()
{
	int score=0;
	printf("请输入成绩:");
	scanf("%d",&score);
	if(score<60)
	{
		printf("哟哟哟,都没及格~\n");
	}else
		printf("耶~及格了\n");
}

运行结果:
在这里插入图片描述

if……else if……语句

#include <stdio.h>
/*:查分系统:输入你的成绩,系统自动识别优、良、及格和不及格
优秀:90<=score<=100
良:70<=score<90
及格:60<=score<70
不及格:<60*/
/*如果表达式1为真,执行程序1,否则判断表达式2是否为真,为真,执行程序2,否则,执行else--
程序3.--多个结果。--需要多种结果*/
int main()
{
	int score=0;
	printf("请输入你的成绩(0~100):");
	scanf("%d",&score);
	if(score>=90&&score<=100)
	{
	printf("你的成绩很优秀\n");
	}else if(score>=70&&score<90)
	{
	printf("你的成绩一般般\n");
	}else if(score>=60&&score<70)
	{
	printf("耶~及格了\n");
	}else if(score<60)
	{
	printf("哟哟哟~不及格\n");	
	}else
	{
	printf("输入错误啦!\n");
}
}

运行结果:
在这里插入图片描述

switch语句

#include "stdio.h"
/*:需求:按下不同按键,播放不同的歌曲(printf()打印歌曲名字)*/
int main()
	{
	int key=0;
	printf("请输入1个键值:");
	scanf("%d",&key);
	switch(key)
	{
	case 1:printf("合拍\n");break;
	case 2:printf("断桥残雪\n");break;
	case 3:printf("千百度\n");break;
	case 4:printf("千古\n");break;
	case 5:printf("雅俗共赏\n");break;
	case 6:printf("叹服\n");break;
	case 7:printf("拆东墙\n");break;
	case 8:printf("胡萝卜须\n");break;
	case 9:printf("我乐意\n");break;
	case 0:printf("粉色的信笺\n");break;
	default:printf("河山大好\n");break;
	}
}

运行结果:
在这里插入图片描述
不使用break,会执行之后的每一句代码如下:

#include "stdio.h"
/*需求:输入月份,计算出,从1月1日,到现在的月份,该年一共经历多少天?*/
int main()
{
	int month=0;
	int day=0;
	printf("请输入1个月份:");
	scanf("%d",&month);
	switch(month)
	{
	case 1:day+=31;
	case 2:day+=28;
	case 3:day+=31;
	case 4:day+=30;
	case 5:day+=31;
	case 6:day+=30;
	case 7:day+=31;
	case 8:day+=31;
	case 9:day+=30;
	case 10:day+=31;
	case 11:day+=30;
	case 12:day+=31;
	default:printf("输入错误\n");break;
	}
	printf("到这个月一共经历了%d天",day)
}

(二)、循环流程控制语句:

for() while() do……while()
代码格式:
for(表达式1;表达式2;表达式3)
{
//程序
}
表达式1:循环初始值
表达式2:循环判断条件
表达式3:循环执行条件

for语句

#include "stdio.h"
/*for(表达式1;表达式2;表达式3)
{
//程序
}
表达式1:循环初始值
表达式2:循环判断条件
表达式3:循环执行条件
需求:在屏幕上打印0~9*/
int main()
{
	int i;
	for(i=0;i<10;i++)
	printf("%d\n",i);
}

运行结果:
在这里插入图片描述

while语句

#include "stdio.h"
#include "stdlib.h"
/*不知道使用多少次?while()do……while()
while(表达式1)
{
程序1;
}
如果表达式1为真,执行程序1---直到表达式1为假,停止循环。
需求:猜数*/
int main()
{
	int num=rand()%100;
	int in_num=0;
	printf("请输入要猜的数:");
	scanf("%d",&in_num);
	while(in_num!=num)
	{
		printf("不~对~继续猜:");
		scanf("%d",&in_num);
		
	}
	printf("真6,这么快就猜到了!");
}

运行结果:
在这里插入图片描述

do while……语句

while是先判断条件再执行程序
do while是先执行程序再判断条件(如输入密码,需要先输入后验证)。

continue语句

#include "stdio.h"
#include "stdlib.h"
/*continue--一般用于循环体中,遇到continue,不再执行continue后续代码,直接执行循环条件。
例如:循环打印1~30,遇到能够整除3,就不打印这个数。
1.实现1~30打印
2.遇到3的倍数,continue*/
int main()
{
	int i=0;
	for(i=1;i<30;i++)
	{
		if(i%3==0)
		continue;
		printf("%d\n",i);
	}
}

运行结果:
在这里插入图片描述

goto语句

#include "stdio.h"
#include "stdlib.h"
/*小孩识字:使用goto实现循环
1.屏幕上显示1,小孩输入1,输入不对,提示重新输入,输入正确,进入下一个
2.屏幕上显示2,小孩输入2,输入不对,提示重新输入,输入正确,进入下一个
3.屏幕上显示3,小孩输入3,输入不对,提示重新输入,输入正确,进入下一个
*/
int main()
{
	int num=0;
p1 :
	printf("请输入1:");
	scanf("%d",&num);
	if(num!=1)
	{
		printf("没关系再来一次!\n");
		goto p1;
	}
	printf("好厉害鸭~\n");

p2 :
	printf("请输入2:");
	scanf("%d",&num);
	if(num!=2)
	{
		printf("没关系再来一次!\n");
		goto p2;
	}
	printf("好厉害鸭~\n");
p3 :
	printf("请输入3:");
	scanf("%d",&num);
	if(num!=3)
	{
		printf("没关系再来一次!\n");
		goto p3;
	}
	printf("好厉害鸭~\n");
}

运行结果;
在这里插入图片描述

return语句

放在函数中讲

结合使用

#include "stdio.h"
#include "stdlib.h"
/*电脑随机产生1个数(0~100)你来猜:
1.产生1个随机数
2.屏幕获取你要猜的数据
3.和随机数比对,猜对,过关
不对,继续
最少1次最大100次*/
int main()
{
	int num=rand()%100;//产生0~100随机数
	int in_num=0;
	int i=0;
	printf("请输入你要猜的数据:");
	scanf("%d",&in_num);
	//植入木马程序--寻找密码
	for(i=0;i<=100;i++)
		{
		if(i==num)
			break;
		}
	in_num=i;
	while(in_num!=num)
	{
	printf("请继续猜:");
	scanf("%d",&in_num);//你再次输入
	}
	printf("真棒,恭喜过关!\n");
}

运行结果:
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值