分支语句简单讲

2023-10-27

分支语句之if语句

  if(表达式)

        语句1;

else

        语句2;

 if语句中if,else后默认只有一条语句,若要跟多条语句,要用{}把语句括起来、例如下面

if(age<18)
    printf("未成年\n");
    printf("不能喝酒\n");
else
printf("成年\n");

 没有匹配if的非法else,就说明了我上面只能跟一条语句的正确性,当我们把if后面的语句用{}括起来,我们就能解决这个问题了。

同时我们要记住如果是一个多分支的语句,我们也可以用if语句

if()
else if()
else if()
……//多分支
else 

        

简单讲完这个if语句之后,我们可以打出这样一段代码

int main()
{
int a=0;
int b=2;
if(a==1)
    if(b==2)
        printf("hehe\n");
    else
        printf("haha\n");
return 0;
}

当我们把这段代码反正放在vs上运行时报错,原因就是if(a==1)语句

这是由于a=0,而a==1为假,就会导致下面整个代码都不会再运行

由此讲到这里,我们可以利用if语句解决一些问题

例如,

判断一个数是否为奇数

int main()
{
int a;
scanf("%d\n",&a);//在程序运行时输入一个数字
if(a%2==0)
    printf("a不为奇数\n")
else
    printf("a为奇数")
return 0;
}

输出1——100的奇数

int main()
{
int i=0;
while(i<100)
    {
        if(i%2==0)
        printf("%d",i);
        i++;
    }
return 0
}

分支语句之switch语句

switch (整形表达式)

{

语句项;(语句项就是一些case语句,case  整形常量表达式)

}

我们以星期几为例

int main()
{
   int a;
    printf("请输入");
    scanf("%d",&a);
    switch (a)
    {
    case 1:printf("Monday\n");break;
    case 2:printf("Tuesday\n");break;
    case 3:printf("Wednesday\n");break;
    case 4:printf("Thursday\n");break;
    case 5:printf("Friday\n");break;
    case 6:printf("Saturday\n");break;
    case 7:printf("Sunday\n");break;
    default:printf("error\n");break;
    }
}

下面就介绍一下break,和default

break: 就是如果有一个case语句没有接break的话,假设我们输入了一个2,而从1到5的case语句都没有break语句,则输出就会变成从上往下依次输出Tuesday,Wednesday,Thursday,Friday,Saturday

而假如我们在case 4上加上了一个break;,而从1到5只有4上面加了break,结果就会变成Tuesday,Wednesday,Thursday

而default:就是在case语句走不通时,就用上了default,当我们输入了8时,case语句里面没有找到 case 8,这时候8就会转移到了default上去,就会输出:错误 

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

分支语句简单讲 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 为什么 GCC 不允许我创建“内联静态 std::stringstream”?

    我将直接前往 MCVE include
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • git 代码管理工具3

    团队协作分支开发模式 一个好的 github 项目一般都有多个分支 master dev release分支 新建分支 branch git branch branch1 切换到目标分支 git checkout branch1 在本地的b
  • 如何通过轨迹信息判断驾驶人是否为同一人?

    轨迹识别问题旨在验证传入的轨迹是否是由所要求的人员产生 即给定一组单独的人员历史轨迹 例如行人 出租车司机 以及由特定人员生成的一组新轨迹 判定两组轨迹是否由同一个人员生成 这个问题在许多实际应用中都很重要 例如出租车驾驶人员身份认证 汽车
  • 用于独立系统应用的光伏MPPT铅酸电池充电控制器建模(Simulink实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Simulink实现 详细文章 1 概述 本文介绍了MATLAB Simu
  • android开发浅谈之写在前面的话

    自我介绍 先简单的介绍一下我的主要工作经历吧 时间 东家 主要工作 2011年8月 深圳大学毕业 那是安卓开始崛起的前夜 自己整上午整下午的看网上的新品手机 基本上注定了自己从事手机相关的职业选择了 2011年8月 2013年8月 深圳康佳
  • 使用canvas画迁徙线并加上动态效果与小飞机图标

    首先在页面中放上地图图片 并建立三个canvas标签 分别用于点 迁徙线 动态效果 div class mapBox div class map img src assets shanxi svg alt div div
  • 【每日一题见微知著】记录一次力扣周赛全AC

    2185 统计包含给定前缀的字符串 给你一个字符串数组 words 和一个字符串 pref 返回 words 中以 pref 作为 前缀 的字符串的数目 字符串 s 的 前缀 就是 s 的任一前导连续字符串 class Solution p
  • HashMap集合 嵌套ArrayList集合

    开发工具与关键技术 IDEA 撰写时间 2022 5 17 HashMap集合 嵌套ArrayList集合 首先创建一个HashMap集合 HashMap的键值对分别为String和ArrayList字符串的集合 然后在创建一个Arrayl
  • org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0]. Default versio

    org apache tomcat util descriptor web WebXml setVersion Unknown version string 4 0 Default version will be used
  • python nltk下载_Python-如何下载NLTK数据?

    小编典典 要下载特定的数据集 模型 请使用nltk download 函数 例如 如果你要下载punkt句子标记器 请使用 python3 gt gt gt import nltk gt gt gt nltk download punkt
  • cocos2dx opengl入门系列一-序言

    入门序言 在开始这个系列之前有必要说明一下这个系列的结构 系列会从最简单的opengl画三角形 gt 再画四边形 gt 显示一个纹理 gt 显示多重纹理 完 就是这样简单直接 好吧 这么简单的原因是本人水平有限 还有一个原因是cocos2d
  • 屏的接口类型种类以及接口定义分析

    一 屏的接口类型大致有 1 SPI SPI 采用较少 连线为CS SLK SDI SDO四根线 连线少但是软件控制比较复杂 一般用于低速黑白小尺寸屏 2 I2C I2C一般用于低速黑白小尺寸屏 3 CPU 在功能机上用的多 4 RGB 大屏
  • Markdown高级

    Markdown高级 警告 Markdown 未正式支持的解决方法 概述 大多数使用 Markdown 的人会发现基本和扩展的语法元素可以满足他们的需求 但很有可能 如果你使用 Markdown 的时间足够长 你会不可避免地发现它不支持你需
  • 微信小程序报错 Error: errCode: -1

    如果你是因为请求云数据库内的数据 那就是权限问题 解决方法如下 勾选 所有用户可读 仅创建者可读写 如果你需要让所有用户都可读写那要怎么办呢 答案是创建云函数 调用云函数写入数据库 因为云函数就是创建者权限
  • RISC-V IDE MRS使用笔记(三):提升浮点计算效率

    RISC V IDE MRS使用笔记 三 提升浮点计算效率 MRS内置CH32V30X系列芯片 此系列芯片支持FPU 浮点计算单元 想要打开时需要开启相应的扩展 如下图所示 此时如果编译单精度类型的浮点变量 就会启用FPU进行浮点计算 提高
  • windows 64位 安装mvn提示 不是内部或外部命令

    在安装mvn的过程中当在mvn的目录下去执行mvn命令的时候是可以正常执行的 当设置好环境变量后执行后发现提示mvn不是内部命令 原因是设置的MAVEN HOME变量未被Path解析 解决办法是 直接把path中的 MAVEN HOME b
  • vue子组件弹窗 el-dialog

    弹窗 在vue中结合elementui 在父组件中通过点击事件 控制子组件弹窗显示 将父组件的值通过props的方式传递给子组件弹窗 子组件通过computed的方式来获取值和设置新值 在set中调用 emit update porp 方法
  • 51nod 1165 整边直角三角形的数量(两种解法)

    链接 http www 51nod com Challenge Problem html problemId 1165 直角三角形 三条边的长度都是整数 给出周长N 求符合条件的三角形数量 例如 N 120 共有3种不同的满足条件的直角3角
  • Understanding and Detecting Software Upgrade Failures in Distributed Systems

    分布式系统中的升级故障 Tips 摘要 介绍 方法论 升级故障的严重程度 升级故障的根本原因 升级故障的触发因素 测试和检测升级故障 未来研究方向 相关工作和总结 后记 Tips 作者主页 论文下载地址 摘要 升级是破坏分布式系统可用性的不
  • iOS内购(IAP,In App Purchases-在APP内部支付),设置及使用

    项目中使用到了中间货币 金币 的形式来进行功能使用 模式是使用RMB换成 金币比如 1RMB 10金币 所以会集成第三方的支付平台 使用了微信和支付宝的第三方平台过后 发现审核失败 被苹果拒绝 查了一查原因 才是因为苹果对app内的中间币的
  • 分支语句简单讲

    分支语句之if语句 if 表达式 语句1 else 语句2 if语句中if else后默认只有一条语句 若要跟多条语句 要用 把语句括起来 例如下面 if age lt 18 printf 未成年 n printf 不能喝酒 n else