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

文章目录

  • 一、流程控制语句 -- 控制程序的运行过程 == 9条
    • (一)、条件选择流程控制语句:
      • if语句
      • if……else……语句
      • if……else if……语句
      • switch语句
    • (二)、循环流程控制语句:
      • for语句
      • while语句
      • do while……语句
      • continue语句
      • goto语句
      • return语句
      • 结合使用

一、流程控制语句 – 控制程序的运行过程 == 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");
}

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/4412.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深度学习的面试小记

随机梯度下降&#xff08;SGD&#xff09; 一种迭代方法&#xff0c;用于优化可微分目标函数。SGD有一个训练速度的问题&#xff0c;学习率过大&#xff0c;无法获得理想的结果&#xff0c;而学习率过小&#xff0c;训练可能会非常耗时。 在微积分里面&#xff0c;对多元函数的…

VUE3 学习笔记(五)UI框架Element Plus

目录 一、安装&#xff1a; 1. 环境支持 2. 版本 3. 安装&#xff08;包管理器npm安装&#xff09; 二、使用 1. 完整引入 2. Volar 支持 3. 国际化 三、国际中文化时错误解决 一、安装&#xff1a; 官网&#xff1a;一个 Vue 3 UI 框架 | Element Plus (gitee.io) 1…

C/C++开发,编译环境搭建

目录 一、 MinGW&#xff08;win&#xff09; 二、 Cygwin(win) 三、纯粹的linux环境 一、 MinGW&#xff08;win&#xff09; 进入Downloads - MinGW-w64下载页面&#xff0c;选择MinGW-w64-builds跳转下载&#xff0c; 再次进行跳转&#xff1a; 然后进入下载页面&#x…

HDFS概述

在现代的企业环境中&#xff0c;单机容量往往无法存储大量数据&#xff0c;需要跨机器存储。统一管理分布式在集群上的文件系统为分布式文件系统。HDFS&#xff08;Hadoop Distributed File System&#xff09;是Apache Hadoop项目的一个子项目&#xff0c;Hadoop非常适合存储大…

查看mysql InnoDB引擎 线程模型信息

InnoDB 引擎 底层采用大量的NIO 进行实现的。 1. 查看 IO Thread show engine innodb status; 2023-03-24 21:53:10 0x2cec INNODB MONITOR OUTPUTPer second averages calculated from the last 42 seconds ----------------- BACKGROUND THREAD ----------------- srv_mast…

Modelsim仿真使用教程

最近写了个设计《基于FPGA的汉明码编译码器设计》之前用QuartusIImodelsim联合仿真&#xff0c;没有出现任何问题&#xff0c;后面在别的电脑上也安装了两个软件&#xff0c;结果QuartusII中无法正常的启动modelsim软件&#xff0c;没有找到很好的解决办法&#xff0c;干脆直接…

数据结构之小端和大端之谜

这些是什么&#xff1f; 小端和大端是存储多字节数据类型&#xff08;int、float 等&#xff09;的两种方式。在小端机器中&#xff0c;多字节数据类型的二进制表示的最后一个字节首先存储。另一方面&#xff0c;在大端机器中&#xff0c;首先存储多字节数据类型的二进制表示的…

Vue 点击图片放大显示功能

1 方式一&#xff1a;列表中感应鼠标显示大图 我管理后台使用的是 element , 列表使用的是 el-tabe <el-table-columnprop"identifImg"header-align"center"align"center"label"证件照"width"100"><template slot-…

信息打点-主机架构蜜罐识别WAF识别端口扫描协议识别服务安全

文章目录识别-Web服务器-请求返回包识别-应用服务器-端口扫描技术web服务器与应用服务器的区别拓展其他类型服务器识别-其他服务协议-端口扫描技术常见端口及潜在威胁识别-WAF防火墙-看图&项目&指纹1、WAF解释&#xff1a;2、WAF分类&#xff1a;3、识别看图&#xff1…

测试开发进阶系列课程

测试开发系列课程1.完善程序思维--------案列&#xff1a;图书管理系统的创建**&#xff08;一&#xff09;图书管理系统的创建**1.完善程序思维--------案列&#xff1a;图书管理系统的创建 &#xff08;一&#xff09;图书管理系统的创建 1.在main中写入主函数&#xff0c;…

问卷中多选题该怎么分析?

一、案例与问卷 本研究选取大学生作为研究对象&#xff0c;旨在通过理财认知、理财现状、理财偏好三个方面&#xff0c;对大学生理财产品了解情况、使用需求进行调查。本次问卷共分为四个部分&#xff1a;第一部分共5道题&#xff0c;为基本信息题&#xff1b;第二部分共3道题…

《毫无意义的工作》笔记——一个人的工作越明显对他人有益,他得到的酬劳就越低?

目录 一、社会普遍存在的现象 二、为什么要总结无意义工作&#xff1f; 三、假模假样工作发展史&#xff1a;花钱买他人时间 四、时间的道德性和自然工作节奏之间的冲突 五、政府层面来说工作 六、身处狗屁工作并不总是那么糟糕 七、用价值衡量绝对标准的不可能性 一、社…

STM32之TIM编码器接口

编码器简介&#xff1a; 例子讲解&#xff1a;正交编码器有两个输出&#xff0c;一个A相&#xff0c;一个B相&#xff0c;AB接口输出正交信号。然后接入STM32的定时器的编码器接口&#xff0c;编码器接口自动控制定时器时基单元中的CNT计数器进行自增或自减&#xff0c;比如初始…

【笔记】C# 泛型约束

&#x1f5fd; 作者&#xff1a;哈桑c&#xff08;CSDN平台&#xff09; &#x1f320; 专栏&#xff1a;全栈开发自学记录 文章目录什么是泛型约束&#xff1f;示例代码1、值类型约束&#xff08;: struct&#xff09;2、引用类型约束&#xff08;: class&#xff09;3、可为空…

基于springboot实现校园在线拍卖电商系统【源码】

基于springboot实现校园在线拍卖系统演示开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&…

除了四大“门派”菌,一文了解肠道菌群的其它17个小众“门派”细菌

谷禾健康 以前我们科普过肠道菌群在门级别水平分类的肠道细菌四大常见菌门——拟杆菌门&#xff0c;厚壁菌门&#xff0c;变形菌门&#xff0c;放线菌门。 详见&#xff1a;肠道细菌四大“门派”——拟杆菌门&#xff0c;厚壁菌门&#xff0c;变形菌门&#xff0c;放线菌门 但是…

Java 线程调度

一、什么是线程调度 1.当同一时刻有多个线程处于可运行状态&#xff0c;它们需要排队等待CPU资源&#xff0c;每个线程会自动获得一个线程的优先级&#xff08;Priority&#xff09;&#xff0c;优先级的高低反映线程的重要或紧急程度。 2.可运行的线程按优先级排队&am…

C语言的灵魂---指针(进阶)

C语言灵魂---指针&#xff08;进阶&#xff09;1.指针思维导图&#xff1a;2.字符指针3.数组指针与指针数组3.1指针数组3.2数组指针3.3 &数组名与数组名4.数组参数和指针参数4.1 一维数组传参4.2 二维数组传参4.3 一级指针和二级指针传参5.函数指针5.1 函数指针的定义5.2 函…

两数之和(力扣刷题)

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答…

Docker安装Redis集群(主从复制)

Docker安装Redis集群(主从复制) 部署Redis集群 配置阿里云镜像 sudo vim /etc/docker/daemon.json插入如下镜像 {"registry-mirrors": ["https://sdiz8d27.mirror.aliyuncs.com"] }重启docker sudo systemctl daemon-reloadsudo systemctl restart do…
最新文章