[C语言]分支与循环

news2025/1/11 11:17:37

导言:
在人生中我们总会有选择,**如下一顿吃啥?**又或者每天都是在重复,吃饭!!!!,当然在C语言中也有选择和重复那就是分支语句与循环语句
在这里插入图片描述


文章目录

  • 分支
  • 循环
    • 循环中的关键字


分支

在C语言中可以实现分支的有俩种语法

  1. if ,else if ,else
//他可以实现单分支也可以实现多分支

//简单的单分支的情况
int decide;
scanf("%d",&decide);
printf("是否要好好学习C语言(Y/N):")
if(decide == "Y")
	printf("你在不懈努力下学会C语言")
else
	printf("你没有学会C语言");


//多分支,最近学习考试给分不是已经按照不及格,及格,良,优秀,而不是分数,那按照上面的当分支的情况显然无法满足
int mark;
if(mark<60)
	printf("不及格");
else if(mark<80)
	printf("及格");
else if(mark <90)
	pritf("优秀");
else
	printf("优秀");

tips:

//当你只有1条语句的时候 `{}`是可以省去的,但是他会引发一个问题
int a =20;
if(a >10)
	if(a == 20)
		printf("haha");
else
	printf("hehe");
	
//你会不会立说结果是 hehe呢,其实是haha,因为else会与最近的if匹配,那么上述的代码调整一下就是如下所示:
int a =20;
if(a >10)
	if(a == 20)
		printf("haha");
	else
		printf("hehe");

//那么你在这里其实也可以看出一个现象,那就是if+else+无落多少个else if 都只算一条语句
  1. switch
//多用于不同数据同一结果,多分支来简化,主要语法如下
switch()
{
	case1:
		break;
	case2:
		break;
	case3:
		break
	case4:
		break
	case5:
		break
	default:
		break;
}


//1. case就等同与if但是他的值只有和switch的值一样才可以进入
//2. 如果case 后没有break就会一直执行下面case
//3. default可放在任何位置


int i =0;
switch(1)
{
	case 1:
	case=2:
	case 3:
	case 4:
	case 5:
	default:
		i++;
}
//结果是1 当进入case 1 没有brea解说判断则会一直往下知道找到break,或者判断结束

循环

  1. while(条件) { 语句 }
//一般用于不知道需要循环次数的情况
//这个其实就是if的进化版,if只执行一次,而while可执行多次

//不知道你是否听过1万小时定律,就是某件事知道学习进行1w小时那么你就算是在这件事上有话语权
int hour = 0; //与条件相关的变量
while(hour <10000) //条件
{
	hour++;//调整部分/执行的语句
}
printf("在你不懈的努力下,你终于在这件事有了一定的话语权")
  1. for( ; ; ) {}
//用于知道循环次数的情况
int hour;
for(hour = 0/*初始化*/;hour<10000/*条件*/;hour++/*调整部分*/)
{
	//循环体
}
printf("在你不懈的努力下,你终于在这件事有了一定的话语权")

//1. for循环初始化可以定义变量但是事在C99版本出的之前版本不匹配,那么跨平台性就不好所以建议分离出来,且分离出来那个变量还可以再次使用
// 2. 且初始化部分和调整部分可以省但是建议写上,方便自己观看,也可以减少出现bug的次数
int i,j,number=0;
for(i = 0;i<10;i++)
{
	for(;j<3;j++)
	{
		number++;
	}
}
//你觉得number是多少,如果你说30那么你就进坑了,因为j没初始化j在第一次循环就是3那么就不会进入循环了
  1. do {}while();
//一般用于循环体的内容需要一定一次的情况下,如开机启动
//实现1万小时的代码
int hour =0;
do
{
	hour++;
}while(hour==10000);
printf("在你不懈的努力下,你终于在这件事有了一定的话语权")


//如启动10次程序
int number =0 ;
do {
	//循环体
	//启动程序
	number ++;
}while(number <10/*判断*/);

循环中的关键字

  1. continue
//用于跳过本次循环,也就是执行到这句代码后面的代码都不执行了
int arr[]={1,2,3,4,5,6,7,8,9}
int index= 0;
while(index <=sizeof(arr)/sizeof(arr[0]))
{
	if(arr[index++] ==5)
		continue;
	printf("%d",arr[i]);
}
//结果1,2,3,4,6,7,8,9
  1. break
//用于终止循环
int arr[]={1,2,3,4,5,6,7,8,9}
int index= 0;
while(index <=sizeof(arr)/sizeof(arr[0]))
{
	if(arr[index++] ==5)
		break;
	printf("%d",arr[i]);
}
//结果1,2,3,4
  1. goto
//多用于跳出多层嵌套的循环,可以用于服务器出问题进行备份,如下伪代码
copy:
	//备份数据
while(1)
{

	while(1)
	{
		while(1)
		{
			while(1)
			{
				if(/*出问题/*)
					goto copy;
			}
		}
	}
}

//goto 可以跳转到任何设置过标签的位置,有没有点像哈利波特传送哈哈哈,但是这里会导致代码逻辑混乱,一般不建议使用

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于灵动微MM32F3270微控制器的监护仪

监护仪是各类医用电子仪器中应用极为普遍的一种。监护仪不仅可以提高护理工作的效率&#xff0c;更重要的是&#xff0c;它为更全面、更准确的掌握患者病情&#xff0c;提高医疗服务质量提供了更可靠的保障。 基于灵动微MM32F3270微控制器的监护仪&#xff1a; -信号采集&…

Vue2学习笔记の使用Vue脚手架

目录 使用Vue脚手架脚手架文件结构关于不同版本的Vuevue.config.js配置文件ref属性props配置项mixin(混入)插件scoped样式总结TodoList案例webStorage组件的自定义事件全局事件总线&#xff08;GlobalEventBus&#xff09;消息订阅与发布&#xff08;pubsub&#xff09;nextTic…

网络拓扑的类型及重要性

什么是网络拓扑 拓扑是网络的布局&#xff0c;它决定了网络如何与不同设备通信&#xff0c;网络中节点和连接的物理和逻辑结构都显示在网络拓扑图中。 IT 管理员最好使用网络拓扑软件来确定每个节点的正确布局并帮助流量流&#xff0c;精心设计的网络拓扑使组织能够快速加倍处…

元宇宙和数字孪生的异同探究

元宇宙和数字孪生&#xff0c;作为两个备受瞩目的概念&#xff0c;都在不同领域引起了巨大的关注。虽然它们都涉及数字化世界的构建&#xff0c;但元宇宙和数字孪生在概念、应用和影响方面存在一些异同点。 相似之处&#xff1a; 数字表示&#xff1a; 元宇宙和数字孪生都依赖…

javaweb01

1.什么是BS什么是CS C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机&#xff0c;并采用大型数据库系统&#xff0c;如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。 B/s是Brower/Server的缩写&#xff0c;客户机上只要安装…

新风机是什么?

新风机是空气净化设备中的一种&#xff0c;能够将新鲜外界空气引入室内&#xff0c;同时将室内的污浊空气排出去&#xff0c;从而实现室内空气的循环和净化。新风机主要是由风机、过滤器、热交换器和控制面板等部分组成。 风机&#xff1a;新风机中风机是一个非常重要的部件&am…

Linux虚拟机安装Docker容器虚拟化技术

注意&#xff1a;本文以 VMware Workstation 为例。VirtualBox 中执行的命令也和这个一样哦。 一&#xff1a;Docker介绍 Docker 是一种流行的容器虚拟化技术,可以帮助开发者打包应用以及依赖到容器中,实现应用的快速部署和分发。 关于 Docker 的几个关键概念&#xff1a; -…

[JavaWeb]【十一】web后端开发-SpringBootWeb案例(登录)

目录 一、登录功能 1.1 思路 1.2 LoginController 1.3 EmpService 1.4 EmpServiceImpl 1.5 EmpMapper 1.6 启动服务-测试 1.7 前后端联调 二、登录校验&#xff08;重点&#xff09; 2.1 问题 2.2 问题分析 2.3 登录校验​编辑 2.4 会话技术 2.4.1 会话技术 2.4.2 …

(6)(6.2) 任务命令

文章目录 前言 6.2.1 概述 6.2.2 导航命令 6.2.3 条件命令 6.2.4 DO命令 前言 本文介绍了 Copter、Plane 和 Rover 切换到自动模式时支持的任务指令。 &#xff01;Warning 这是一项正在进行中的工作&#xff0c;尚未经过全面审核。有关 Copter 的更佳列表&#xff0c;请…

一款word文档编写辅助插件——企升编辑器

面向用户群体&#xff08;官方网址: www.gbtool.cn&#xff09;招投标人员&#xff0c;用统一的模板来编写标书&#xff0c;并最终合并标书。项目经理&#xff0c;编写项目开发计划书&#xff0c;项目验收文档等。开发人员&#xff0c;编写项目需求规格说明书、设计说明书、技术…

SpringMVC入门笔记

一、SpringMVC简介 1. 什么是MVC MVC是一种软件架构的思想&#xff0c;将软件按照模型、视图、控制器来划分 M&#xff1a;Model&#xff0c;模型层&#xff0c;指工程中的JavaBean&#xff0c;作用是处理数据 JavaBean分为两类&#xff1a; 一类称为实体类Bean&#xff1…

Windows11系统安装CUDA和CuDNN

为了方便调试&#xff0c;在Windows上安装了一套CUDA和CuDNN&#xff0c;记录一下过程。 1. 安装显卡驱动&#xff08;已安装驱动可跳过&#xff09; 在一台配有GPU的电脑上安装CUDA&#xff0c;首先要确保电脑已经安装了显卡驱动。若未安装&#xff0c;可在NVIDIA官网下载并…

如何使用ArcGIS进行可视化分析

概述 通视分析是指以某一点为观察点&#xff0c;研究某一区域通视情况的地形分析&#xff0c;利用DEM判断地形上任意两点之间是否可以互相可见的技术方法&#xff0c;分为视线通视分析和视域通视分析&#xff0c;前者判断任意两点之间能否通视&#xff0c;后者从任一点出发&am…

Idea Maven 构建,运行Java程序,二次开发Jmeter

Idea Maven 构建 1. maven下载2. Idea 配置3. 配置Maven镜像4. 在Maven项目pom.xml中添加依赖5. 创建jar包&#xff0c;更新pom&#xff0c;执行代码 1. maven下载 【官网】https://maven.apache.org/download.cgi 【其他版本】https://dlcdn.apache.org/maven/maven-3/ 2. …

【开发】tips:视频汇聚/视频云存储/视频监控管理平台EasyCVR如何提升网络稳定

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

数据结构(5)

堆 堆可以看作一颗完全二叉树的数组对象。 特性&#xff1a; 1.堆是完全二叉树&#xff0c;除了树最后一层不需要满&#xff0c;其余层次都需要满&#xff0c;如果最后一层不是满的&#xff0c;那么要求左满右不满 2.通常使用数组实现&#xff0c;将二叉树结点依次放入数组中…

二、数学建模之整数规划篇

1.定义 2.例题 3.使用软件及解题 一、定义 1.整数规划&#xff08;Integer Programming&#xff0c;简称IP&#xff09;&#xff1a;是一种数学优化问题&#xff0c;它是线性规划&#xff08;Linear Programming&#xff0c;简称LP&#xff09;的一个扩展形式。在线性规划中&…

渗透测试和红队技术解析:分析渗透测试方法、工具和技巧,深入了解红队行动背后的战术和策略

章节一&#xff1a;引言 在当今数字化世界中&#xff0c;信息安全已经成为各个组织和企业的头等大事。为了确保其信息系统的安全性&#xff0c;渗透测试和红队行动变得愈发重要。本文将带您深入探讨渗透测试的方法、工具和技巧&#xff0c;并剖析红队行动的战术和策略。 章节…

【前端实习生备战秋招】—前端性能优化篇,建议收藏

【前端实习生备战秋招】—前端性能优化篇&#xff0c;建议收藏 文章目录 【前端实习生备战秋招】—前端性能优化篇&#xff0c;建议收藏一、CDN1. CDN的概念2. CDN的作用3. CDN的原理4. CDN的使用场景 二、懒加载1. 懒加载的概念2. 懒加载的特点3. 懒加载的实现原理4. 懒加载与…

分类行为的排斥作用

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点&#xff0c;AB训练集各由5张二值化的图片组成&#xff0c;让A中有2个1&#xff0c;B中有1个1&#xff0c;且不重合&#xff0c;排列组合&#xff0c;统计迭代次数并排序。 其中有6组数据 构造平均列A 构造平均…