[C语言]分支语句:if语句、switch语句

2023-10-30

        分支语句也称为选择结构,条件判断语句,顾名思义。要么选择A,要么选择B,或选择其他的一种结构。

        在c语言中,常见的分支语句分别有:if语句和switch语句

目录

1.if语句

        1.1if语句的结构

        1.2if语句的注意点

2.switch语句

        2.1switch语句的结构

       2.2switch语句中的default


1.if语句

        1.1if语句的结构

        if语句的结构大致可以分成三种,单分支,两种分支或多分支的

        大致说明:进入if语句,先判断表达式符不符合条件或判断其真假。符合条件或条件为真则执行if内的语句,不符合条件或条件为假则进入else执行else内的语句。

                        else if只是相当多了一次判断

//类型一
if(表达式)
{
	语句;
}
//类型二
if (表达式)
{
	语句1;
}
else
{
	语句2;
}
//类型三
if(表达式1)
{
	语句1;
}
else if(表达式2)
{
	语句2;
}
else if (表达式3)
{
	语句3;
}

……//这个可以一直else if下去,没有限制

else
{
	语句n;
}

        举例运用:

#include <stdio.h>
int main()
{
	int age = 20;
	if (age >= 18)
	{
		printf("成年\n");
	}
	else
	{
		printf("未成年\n");
	}
	return 0;
}

        1.2if语句的注意点

        if大多数情况都与else一同运用,但有时候由于代码的书写格式不规范会产生歧义。所以建议可以在其后面加上花括号进行划分区,而且else总是与离它最近的且未配对的if对应

2.switch语句

        2.1switch语句的结构

switch(表达式)
{
    语句项;
}
//语句项为一些case语句

case 整型常量表达式: 语句 ;

        一般switch语句会搭配break和default一起使用

        当执行switch语句时,执行一个case语句之后会继续执行下一个case语句直到结束。显然作为分支结构这不是我们想要的内容,所以我们可以在每一个case或者按照所需条件在几个case语句后加上break;来结束当前的switch语句

switch(a)
{
    case 1: printf("hello"); break;
    case 2: printf("world"); 
}

       2.2switch语句中的default

        当表达式的值与case语句的值都不匹配时程序不会报错,只是switch语句被直接跳过。但如果你并不想表达式的值被忽略时,你可以使用default语句来捕获他,一般一个switch语句只会出现一次default语句

        

switch(a)
{
    case 1: printf("a");
    default : printf("ERROR");
}

        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[C语言]分支语句:if语句、switch语句 的相关文章

  • 如何在MVVM中管理多个窗口

    我知道有几个与此类似的问题 但我还没有找到明确的答案 我正在尝试深入研究 MVVM 并尽可能保持纯粹 但不确定如何在坚持模式的同时启动 关闭窗口 我最初的想法是向 ViewModel 发送数据绑定命令 触发代码来启动一个新视图 然后通过 X
  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • C# 和 Javascript SHA256 哈希的代码示例

    我有一个在服务器端运行的 C 算法 它对 Base64 编码的字符串进行哈希处理 byte salt Convert FromBase64String serverSalt Step 1 SHA256Managed sha256 new S
  • 获取按下的按钮的返回值

    我有一个在特定事件中弹出的表单 它从数组中提取按钮并将标签值设置为特定值 因此 如果您要按下或单击此按钮 该函数应返回标签值 我怎样才能做到这一点 我如何知道点击了哪个按钮 此时代码返回 DialogResult 但我想从函数返回 Tag
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • C#:如何防止主窗体过早显示

    在我的 main 方法中 我像往常一样启动主窗体 Application EnableVisualStyles Application SetCompatibleTextRenderingDefault false Application
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内

随机推荐

  • 74-Maven的简单介绍和使用(70-73是项目的修改和创建)

    Maven 专家 管理项目 1 理解Maven 在以前的项目编写中 jar包管理令人头疼 SSM框架 30 的jar包 所以在项目的发展中 产生一系列的新技术Maven Gradle 高新 Maven项目对象模型 可以通过一小段的描述信息来
  • 【Python】数据加密解密技术

    Python如何加密解密 感兴趣的小伙伴可以举一下脚 我看看有多少 咳咳咳 正式开始了 今天给大家分享的是Python如何加密解密 感兴趣的小伙伴要认真学起来 前言 加密算法主要分为 哈希算法 对称加密算法 非对称加密算法 哈希算法 MD5
  • Hostname/IP doesn't match certificate's altnames

    背景 一直用Docker Toolbox on VirtualBox在Windows上开发 创建的boot2docker镜像IP地址是192 168 99 100 这两天因为工作需要 想装一个minikube 安装的时候没有启动Docker
  • JavaSE复习:集合

    一方面 面向对象语言对事物的体现都是以对象的形式 为了方便对多个对象的操作 就要对对象进行存储 另一方面 使用Array存储对象方面具有一些弊端 而Java 集合就像一种容器 可以动态地把多个对象的引用放入容器中 集合与数组的比较 首先说下
  • Web3.0是什么?带你解析Web3.0

    有人还在研究什么是元宇宙和NFT 那个概念已经过时了 据说现在流行的是Web3 0和DAO 如果你只想了解关于Web3 0的观点 那么先简明扼要的告诉你 Web3 0是未来 但就2022年人类科技水平的发展来看 你目前接触到的 向你兜售通过
  • Ubuntu最大连接数

    使用ulimit n查看连接数或ulimit a查看详细信息 1 配置 etc security limits conf sudo vim etc security limits conf 文件尾追加 hard nofile 40960 s
  • pagehelper源码分析

    pagehelper不用说 只要是用过的就会爱上他 Maven依赖
  • 最大降雨量

    import os import sys 请在此输入您的代码 第四周的降雨量最大 1 2 3 46 47 48 49 4 5 6 42 43 44 45 7 8 9 38 39 40 41 10 11 12 34 35 36 37 13 1
  • C#与C++数据类型对应表

    C 调用DLL文件时参数对应表 Wtypes h 中的非托管类型 非托管 C 语言类型 托管类名 说明 HANDLE void System IntPtr 32 位 BYTE unsigned char System Byte 8 位 SH
  • Shopify开发入门-前端保姆级教程

    Shopify开发入门 前端保姆级教程 本文旨在介绍Shopify开发入门 环境 配置等 帮助开发者配置环境 了解各个开发模式的区别及用途 已有Shopify开发经验者可退出 以免浪费你的宝贵时间 本文5k字 图片 链接 代码块较多 请耐心
  • OSPF的防环机制

    文章目录 域间防环 域内防环 有向图转化 有向图的画法 示例 SPF算法 OSPF将整个OSPF域划分为多个区域 区域内部通过拓扑信息计算路由 区域间传递路由信息 实现全网可达 OSPF防环机制主要是体现在域内防环和域间防环 域间防环 OS
  • 并发锁分析

    锁 为什么加锁 并发会造成数据混乱 事务 原子性a 一致性c 隔离性i 持久性d 加锁的影响和优化点 线程切换的开销 缓存命中率 加锁失败会进行线程切换 用户态和内核态的切换开销 栈的切换 寄存器切换 synchronized重量锁的实现是
  • 管螺纹如何标注_螺纹基础知识,搞机械的必须懂这些

    螺纹是零件上常见的一种结构 它被广泛地用于零件之间的连接 也可以起传递运动和动力的作用 主要介绍国家标准对螺纹的结构 尺寸 画法和标注的规定 一 螺纹种类 按牙型可分为三角形 梯形 矩形 锯齿形和圆弧螺纹 按螺纹旋向可分为左旋和右旋 按螺旋
  • 基于CEEMDAN集合经验模态分解算法Python程序

    基于CEEMDAN集合经验模态分解算法Python程序 可用于时间序列和其他领域 特色 1 基于Python 2 数据从excel文件中读取 更换简单 全部完整的代码 保证可以运行的代码看这里 http t csdn cn obJlChtt
  • springboot整合quartz项目使用(含完整代码)

    前言 quartz是一个定时调度的框架 就目前市场上来说 其实有比quartz更优秀的一些定时调度框架 不但性能比quartz好 学习成本更低 而且还提供可视化操作定时任务 例如xxl Job elastic Job这两个算是目前工作中使用
  • 高并发情况下修改系统参数

    单进程最大打开文件数限制 一般的发行版 限制单进程最大可以打开1024个文件 这是远远不能满足高并发需求的 调整过程如下 在 号提示符下敲入 ulimit n 65535 限制修改失败了 会显示 Operationnotpermitted
  • pandas DataFrame数据转为list

    首先使用np array 函数把DataFrame转化为np ndarray 再利用tolist 函数把np ndarray 转为list 示例代码如下 coding utf 8 import numpy as np import pand
  • 仪表识别之数字表识别

    转自 https blog csdn net huneng1991 article details 82049207 这篇文章讲述了仪表上的数字表的识别 看图片效果还是挺好的 这里记录一下备用 2 识别检测方法 这篇文章主要用的方法是机器学
  • “猜数字“游戏,系统随机生成一个[1,100]的数字,由用户输入数字后,计算机提示输入数字“偏大”、“偏小”,并记录猜数次数

    import java util Scanner public class Demo public static void main String args TODO Auto generated method stub Scanner i
  • [C语言]分支语句:if语句、switch语句

    分支语句也称为选择结构 条件判断语句 顾名思义 要么选择A 要么选择B 或选择其他的一种结构 在c语言中 常见的分支语句分别有 if语句和switch语句 目录 1 if语句 1 1if语句的结构 1 2if语句的注意点 2 switch语