【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:
//代码块1break;
case 2:
//代码块2break;
case 3:
//代码块3break;
default:
//代码块4break;
}

要点:

  • 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.mzph.cn/news/864852.shtml

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

相关文章

SpringBoot 中的参数校验:构建健壮应用的基石

前言 在开发Web应用时,处理用户输入是不可避免的一环。然而,用户输入往往充满不确定性,可能是格式不正确、类型不匹配,甚至包含恶意内容。为了确保应用的稳定性和安全性,对输入参数进行有效校验显得尤为重要。Spring …

【触想智能】工业平板电脑在新能源领域上的应用分析

工业平板电脑是一种具有高性能和稳定性的计算机设备,适用于在恶劣环境下进行数据采集、运营管理和现场操作。 随着新能源技术的快速发展,工业平板电脑不断地得到应用,并且已成为新能源领域中的重要工具之一。本文将从四个方面探讨工业平板电脑…

WSO2 products 文件上传漏洞(CVE-2022-29464)

前言 CVE-2022-29464 是一个影响多个 WSO2 产品的严重远程代码执行(RCE)漏洞。这些产品包括 WSO2 API Manager、WSO2 Identity Server 和 WSO2 Enterprise Integrator 等。由于用户输入验证不当,该漏洞允许未经身份验证的攻击者在服务器上上…

代码随想录算法训练营第九天|151.翻转字符串里的单词、右旋字符串、28. 实现 strStr()、459.重复的子字符串

打卡Day9 1.151.翻转字符串里的单词2.右旋字符串3.28. 实现 strStr()4.459.重复的子字符串 1.151.翻转字符串里的单词 题目链接:翻转字符串里的单词 文档讲解: 代码随想录 思路:首先,移除多余的空格;然后&#xff0c…

TensorRT学习(二)TensorRT使用教程(Python版)

本文适合快速了解TensorRT使用的整体流程,具体细节还是建议参考TensorRT的官方文档。 加速原理: 加速原理比较复杂,它将会根据显卡来优化算子,以起到加速作用(如下图所示)。简单的来说,就是类似于你出一个公式1+1+1,而你的显卡支持乘法,直接给你把这个公式优化成了1*…

生成式AI赋能金融信贷:减少信用评分偏差

信用评分在确定谁获得信贷以及以何种条件获得信贷方面发挥着关键作用。然而,尽管这一点很重要,但传统的信用评分系统长期以来一直受到一系列关键问题的困扰——从偏见和歧视,到有限的数据考虑和可扩展性挑战。例如,一项针对美国贷…

【代码随想录】【算法训练营】【第56天】 [卡码98]所有可达路径

前言 思路及算法思维,指路 代码随想录。 题目来自 卡码网。 day 56,周二,继续ding~ 题目详情 [卡码98] 所有可达路径 题目描述 卡码98 所有可达路径 解题思路 前提: 思路: 重点: 代码实现 C语言…

【JPCS出版,PSESG 2024,8月16-18】2024年电力系统工程与智能电网国际学术会议

2024年电力系统工程与智能电网国际学术会议(PSESG 2024)于2024年8月16-18日在中国北京隆重召开。 会议旨在为从事“电力系统工程”、“智能电网”、“储能技术”等领域的专家学者、工程技术人员、研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势&#xf…

GPT-5即将登场:AI赋能下的未来工作与日常生活新图景

随着OpenAI首席技术官米拉穆拉蒂在近期采访中的明确表态,GPT-5的发布已不再是遥不可及的梦想,而是即将在一年半后与我们见面的现实。这一消息无疑在科技界乃至全社会引发了广泛关注和热烈讨论。从GPT-4到GPT-5的飞跃,被形容为从高中生到博士生…

SpringBoot之内容协商

现象演示 假设有一个需求是根据终端的不同,返回不同形式的数据,比如 PC 端需要以 HTML 格式返回数据,APP、小程序端需要以 JSON 格式返回数据。这时我们是 coding 几个相似的接口?还是在一个接口里面做复杂判断处理?两…

SQL执行慢排查以及优化思路

数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?我把思考的流程整理成了下面这张图。 整个流程划分成了观察(Show status)和行动(Action)两个部分。字母 S 的部分代表观察&#xf…

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

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

分文件编译(简单学生系统)

定义学生基本信息 ①输出所有学生信息 ②删除某个学生后,输出所有学生信息 ③修改某个学生信息后,输出所有学生信息 ④查找某个学生的信息 main.c #include"k11*.h" int main(int argc, const char *argv[]) {struct student p[4]{{"…

Echarts-柱状图

1.案例1 1.1代码 option = {textStyle: {color: #fff // 标题文字颜色为白色},tooltip: {trigger: axis,axisPointer: {type: shadow,},},legend: {textStyle: {color: white}},grid: {top: 15%,left: 4%,right: 4%,bottom: 7%,containLabel: true},xAxis:{type: category,da…

仿全民飞机大战射击网页游戏源码

仿全民飞机大战设计网页游戏源码,画质精美的飞机大战手机端游戏源码 微信扫一扫免费下载源码

Mac|install vue

安装Node:Node.js — Download Node.js 选择系统为mac,安装步骤在终端输入 (放文字版在这里~方便复制) # installs nvm (Node Version Manager) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/ins…

78.Vue 3 重用性模态框组件

模态框是大多数 Web 应用程序中的基本构建块。虽然最初实现起来可能看起来有点棘手,但实际上,使用 Vue 和一些 Flexbox 技巧,这不仅可行,而且非常简单。 让我们一起实现一个基础的模态框组件。 架构如下: AppModal.vue…

docker-compose搭建prometheus、grafana

一、安装prometheus 1、安装 version: 3.1services:prometheus:image: prom/prometheus:v2.48.0container_name: prometheushostname: prometheusrestart: alwaysvolumes:- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml- ./prometheus/:/etc/prometheus/port…

第二篇——始计篇:“计”是最早的SWOT分析

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 第二次详读孙子兵法,当初听讲解的时候,就觉得自己…