【C语言】分支(选择)和循环语句

目录

  • 简述
  • 选择语句
    • 简述
    • if语句
      • 单if结构
        • 语法格式
      • if-else结构
        • 语法结构
      • 语法结构
  • 循环结构
    • break和continue
    • while循环
      • 语法结构
    • for循环
      • 语法结构
    • do while循环
      • 语法结构

在这里插入图片描述

简述

在c语言中分支和循环语句是极其重要的,就像生活中你难免要做一些判断和循环往复做一些事。

选择语句

简述

分支语句也叫判断语句,在c语言中有两种分支语句。

  • 一种是if-else语句。
  • 另一种是Switch-case语句。

if语句

单if结构

if结构就是没有else语句,只有一个if来判断进不进入代码块。

语法格式

单if语句语法格式如下:

if(表达式)
{
	//代码块
}

符合 if 后面表达式就执行代码块中的内容,不符合就不执行。

if-else结构

if-else结构既有if也用else,有两种结构,看含不含else if语句

语法结构
  1. 不含else if
if(表达式)
{
	//代码块1
}
else
{
	//代码块2
}

符合 if 后面表达式就执行代码块1中的内容,不符合就执行代码块2中的内容。

  1. else if
if(表达式1)
{
	//代码块1
}
else if(表达式2)
{
	//代码块2
}
else if(表达式3)
{
	//代码块3
}
else
{
	//代码块4
}

符合 表达式几就执行代码块几中的内容,都不符合就执行代码块4中的内容。

要点:

  • 在这种语法结构下else if可以无限多。
  • 最后的else可以没有。
  • 如果符合多个表达式,会由上至下开始匹配,执行最先的表达式下的代码块,只执行这一个,剩下的不会在执行。

​## switch-case语句

语法结构

基本实现就是 switch(整型表达式){语句}。
注意在switch语句的判断表达式中只能是整型表达式,
整型表达式是表达式由整型数据表示。

switch(整型表达式)
{
case 1:
//代码块1
case 2:
//代码块2
case 3:
//代码块3
default:
//代码块4
}

整型表达式的结果是几就从case几开始执行下面的代码块。

要想只执行当前结构下case的语句就需要加上关键字break。

switch(整型表达式)
{
case 1:
//代码块1
	break;
case 2:
//代码块2
	break;
case 3:
//代码块3
	break;
default:
//代码块4
	break;
}

要点:

  • default就是除case以外没包含的所有情况。
  • case可以无限加。
  • default也可以没有。
  • 而且case之间和default之间没有先后要求。

循环结构

break和continue

在介绍循环语句中我先介绍两个关键字break 和 continue。

在生活中我们经常会遇见循环做一件事时遇见突然事件发生就不会再做了。想上个b班一天挣一点钱,突然一天你中彩票了,你还会去上班吗。

而break和 continue就是在程序中的终止语句。

一条循环语句中执行break就不会在执行循环了直接跳出去,
而continue就是这次循环不再执行,进入下一次循环。

就像上班到一半你中彩票了就执行break语句不在上班以后都不上班,而像突然老板发善心让你剩下半天工作不用做了,你明天还是要去上班。

while循环

语法结构

while(表达式){
	//代码块
}

当表达式为真就进入循环执行代码块,直到表达式为假才出循环。

for循环

语法结构

for(表达式1 ; 表达式2; 表达式3){
	//代码块
}

执行顺序和注意事项:

  1. 进for循环先执行表达式1且只执行一次。
  2. 再执行代码块。再执行表达式2(表达式2必须是布尔表达式)。
  3. 在执行表达式3。
  4. 表达式1和表达式3都可以不写。

do while循环

语法结构

do{
//代码块
}while(布尔表达式);

先进来执行代码块,在判断表达式结果为真就回去再次执行,
表达式结果为假就出循环。

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

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

相关文章

ESP8266[ 关于-巴发云MQTT/TCP:arduino 设置回调函数 ] 日志2024/6/29

ESP8266 [ 关于-巴发云MQTT/TCP:arduino 设置回调函数 ] 日志2024/6/29 arduino库:#include <PubSubClient.h> 回调函数 是其库设置好的 可以改名字 这里只写上关键代码 设置客户端为 A 关键代码: A.setCallback(回调名) //MQTT 回调处理mqttmsgg(自定义…

el-scrollbar组件使用踩坑记录

一、el-scrollbar和浏览器原生滚动条一起出现 问题描述 el-scrollbar组件主要用于替换浏览器原生导航条。如下图所示&#xff0c;使用el-scrollbar组件后&#xff0c;发现未能成功替换掉浏览器原生导航条&#xff0c;二者同时出现。 引发原因 el-scrollbar的height属性如果…

idea常用问题记录

文章目录 1.ant构建报错编译错误1.1 解决办法 1.ant构建报错编译错误 Compile failed;xxx 1.1 解决办法

如何通过指纹浏览器使用代理IP?

1.指纹浏览器定义 指纹浏览器是 一种浏览器技术&#xff0c;它根据用户设备的硬件、软件和配置等特征生成唯一标识符&#xff08;称为“指纹”&#xff09;。此指纹用于识别和追踪用户身份&#xff0c;即使用户更改其 IP 地址或清除浏览器数据&#xff08;如缓存和 Cookie&…

仓库管理系统带万字文档基于spingboot vue的前后端分离仓库管理系统java项目java课程设计java毕业设计

文章目录 仓库管理系统一、项目演示二、项目介绍三、万字项目文档四、部分功能截图五、部分代码展示六、底部获取项目源码带万字文档&#xff08;9.9&#xffe5;带走&#xff09; 仓库管理系统 一、项目演示 仓库管理系统 二、项目介绍 基于spingboot和vue的前后端分离仓库管…

【工具】VS Code使用global插件实现代码跳转

&#x1f41a;作者简介&#xff1a;花神庙码农&#xff08;专注于Linux、WLAN、TCP/IP、Python等技术方向&#xff09;&#x1f433;博客主页&#xff1a;花神庙码农 &#xff0c;地址&#xff1a;https://blog.csdn.net/qxhgd&#x1f310;系列专栏&#xff1a;善假于物&#…

Android SQLite 数据库存学习与总结

Android 系统内置了一个名为 SQLite 数据库。那么 SQLite 是一种什么样的数据库&#xff0c;它有那些特点&#xff0c;应该怎么操作它&#xff1f;下面&#xff0c;让我们就来认识一下它吧。 1、概念&#xff1a; SQLite 是一种轻量级的关系型数据库&#xff0c;它不仅支持标准…

C++ (第二天下午---面向对象之类与对象)

一、面向过程与面向对象 1、面向过程 面向过程是一种以事件为中心的编程思想&#xff0c;编程的时候把解决问题的步骤分析出来&#xff0c;然后用函数把这些步骤实现&#xff0c;在一步一步的具体步骤中再按顺序调用函数。 举个例子&#xff0c;下五子棋&#xff0c;面向过程…

通过docker overlay2 目录名查找占用磁盘空间最大的容器名和容器ID

有时候经常会有个别容器占用磁盘空间特别大&#xff0c; 这个时候就需要通过docker overlay2 目录名查找占用磁盘空间最大的容器名和容器ID&#xff1a; 1、 首先进入到 /var/lib/docker/overlay2 目录下,查看谁占用的较多 [rootPPS-97-8-ALI-HD1H overlay2]# cd /var/lib/doc…

Vue 全局状态管理新宠:Pinia实战指南

文章目录 前言全局状态管理基本步骤&#xff1a;pinia 前言 随着Vue.js项目的日益复杂&#xff0c;高效的状态管理变得至关重要。Pinia作为Vue.js官方推荐的新一代状态管理库&#xff0c;以其简洁的API和强大的功能脱颖而出。本文将带您快速上手Pinia&#xff0c;从安装到应用&…

【C语言】bool 关键字

在C语言中&#xff0c;bool类型用于表示布尔值&#xff0c;即真或假。C语言本身在标准库中并未提供布尔类型&#xff0c;直到C99标准引入了stdbool.h头文件。该头文件定义了bool类型&#xff0c;以及两个常量&#xff1a;true和false。在此之前&#xff0c;通常使用整数来表示布…

[方法] 为Cinemachine添加碰撞器

选中场景中的Cinemachine物体&#xff0c;在 Inspector 面板的最下方单击 Add Extension 下拉框&#xff0c;选择 CinemachineCollider。 之后在添加的碰撞器组件中选择要与之碰撞的层&#xff08;Collide Against&#xff09;和忽略的层&#xff08;Transparent Layers&#x…

配置atuin记录

https://atuin.sh/ 运行 curl --proto https --tlsv1.2 -LsSf https://setup.atuin.sh | sh报错 $ curl --proto https --tlsv1.2 -LsSf https://setup.atuin.sh | sh curl: (77) error setting certificate verify locations:CAfile: /etc/ssl/certs/ca-certificates.crtCAp…

2025中国淄博化工展|淄博化工技术展|淄博化工装备展

CTEE2025第九届中国&#xff08;淄博&#xff09;化工技术装备展览会 时间&#xff1a;2025年5月16-18日 地点&#xff1a;山东淄博国际会展中心 主办单位:山东省机械工业科学技术协会 青岛蓝博国际会展有限公司 众所周知&#xff0c;山东省是我国化工大省。2023年上半年&am…

Unity 动画事件

Unity中的动画事件是一种在动画播放过程中触发自定义行为的方法。动画事件允许开发者在动画的特定时间点执行代码&#xff0c;例如播放声音、改变游戏状态或触发其他动画。以下是使用Unity动画事件的一些关键点&#xff1a; 动画事件的创建&#xff1a;在Unity的Animation窗口…

Linux kfence使用与实现原理

0 背景 为了更好的检测linux kernel中内存out-of-bounds、mem-corruption、use-after-free、invaild-free等问题&#xff0c;调研了kfence功能&#xff08;该功能在linux kernel 5.12引入&#xff09;&#xff0c;帮助研发更好的分析与定位这类内存错误的问题。 一、kfence介…

【Unity 人性动画的复用性】

Unity的动画系统&#xff0c;通常称为Mecanim&#xff0c;提供了强大的动画复用功能&#xff0c;特别是针对人型动画的重定向技术。这种技术允许开发者将一组动画应用到不同的角色模型上&#xff0c;而不需要为每个模型单独制作动画。这通过在模型的骨骼结构之间建立对应关系来…

V Rising夜族崛起的管理员指令大全

使用方法&#xff1a; 如果没有启用控制台需要先启用控制台 打开游戏点击选项&#xff08;如果在游戏内点击ESC即可&#xff09;&#xff0c;在通用页面找到启用控制台&#xff0c;勾选右边的方框启用 在游戏内点击键盘ESC下方的波浪键&#xff08;~&#xff09;使用控制台 指…

JAVA妇产科专科电子病历系统源码,前端框架:Vue,ElementUI

JAVA妇产科专科电子病历系统源码&#xff0c;前端框架&#xff1a;Vue&#xff0c;ElementUI孕产妇健康管理信息管理系统是一种将孕产妇健康管理信息进行集中管理和存储的系统。通过建立该系统&#xff0c;有助于提高孕产妇健康管理的效率和质量&#xff0c;减少医疗事故发生的…

LSH算法:高效相似性搜索的原理与Python实现I

局部敏感哈希&#xff08;LSH&#xff09;技术是快速近似最近邻&#xff08;ANN&#xff09;搜索中的一个关键方法&#xff0c;广泛应用于实现高效且准确的相似性搜索。这项技术对于许多全球知名的大型科技公司来说是不可或缺的&#xff0c;包括谷歌、Netflix、亚马逊、Spotify…