当前位置: 首页 > news >正文

C语言从头学12——流程控制(一)

       C语言程序的执行顺序是从前到后依次序执行的。如果想要控制程序执行的流程,就必须使用
流程控制的语法结构,分为条件执行和循环执行。
1、if语句
        if 语句在前面的举例中曾经出现过,这里做详细介绍。该语句用于条件判断,满足条件时,就执行指定的语句。
        格式一、 if (条件表达式) 要执行语句 //含义:如果"条件表达式 "为"真" 则执行 "要执行的语句",否则就跳过去。例如:

if(x==5) printf("x的值是5"); //运行结果:只有当x等于5时,才显示"x的值是5"

       如果 "要执行的语句" 有两条及以上,就需要把 "要执行的语句" 用大括号括起来,一般另起一行更清楚。格式如下:
            if ( 条件表达式 )
            {
               语句1;
               ......
               语句n;//要执行语句后边必须有分号";"
            } //大括号后边不用加分号(";")
     实际上,即使只有一条要执行的语句加上大括号后在逻辑上也显得更清楚。
     格式二、if (条件表达式)
            {
               语句1;
               .....
               语句n;
            } else //这里有一个else,在其后执行"条件表达式"为"假"的语句
            {
               语句1;
               .....
               语句n;
            }
   另外,else 后边还可以与另if语句连用,形成嵌套结构,格式如下:
    if (条件表达式1)
      {语句或语句块1;}
         else if (条件表达式2)
           {语句或语句块2;}
            ......
          else if(条件表达式n-1)
            {语句或语句块n-1;}
            else
               {语句或语句块n;} //收底语句
      顺带说一句,编辑代码时,根据执行的层次进行适当缩进,可以在看代码时逻辑更清楚。
      据说多层嵌套的if...else...if结构不是好的结构形式,容易出错,尽量不用。
2、三目运算符 "?  :"
     三目运算符可以看做是if...else结构的简写。
     格式:(条件表达式) ? (表达式1或值1) : (表达式2或值2) // 括号非必须 
     条件表达式为真返 (表达式1或值1),否则 (返回表达式2或值2)
 3、switch语句
     switch语句可以说是if...else语句的变种,用于判断有多个结果的情况。看起来比if...else
 语句更清楚。格式如下:
     switch(有返回值的表达式或变量)
     {
          case 返回值1: 语句1
                    break; //为了执行完相应语句后跳出switch结构,在下一case语句前
                           //加一个break以结束switch
         case 返回值n: 语句n
                    break;
         .......
         default: 兜底语句; //兜底语句后不用加break,后边没有要执行的语句了
    }
  switch 这种结构,多用于编写菜单代码。
 4、用上面介绍的流程控制语句编写一个小程序,用以加深对流程控制的理解。

#include<stdio.h>
int main(void)
{
//1、if语句的使用int a = 100;if (a > 50) printf("a的值大于50\n"); //条件后只有一个语句时可省去{}if (a == 100) //if..else...结构{printf("a的值等于100\n"); //条件成立执行此语句}else{printf("a的值不等于100\n"); //条件不成立执行此语句}
//2、三目运算符的使用int x = 1;a=500;int y;y = (x == 1) ? a : 50; //条件成立返回500,不成立返回50printf("y的值是%i\n", y);
//3、swich语句的使用int choice = 4;switch (choice){case 0: printf("choice的值是0\n");case 1: printf("choice的值是1\n");case 2: printf("choice的值是2\n");default:printf("choice的值不是1、2、3\n");}getchar();return 0;
}
//运行结果:
/*
a的值大于50
a的值等于100
y的值是500
choice的值不是1、2、3
*/

相关文章:

C语言从头学12——流程控制(一)

C语言程序的执行顺序是从前到后依次序执行的。如果想要控制程序执行的流程&#xff0c;就必须使用 流程控制的语法结构&#xff0c;分为条件执行和循环执行。 1、if语句 if 语句在前面的举例中曾经出现过&#xff0c;这里做详细介绍。该语句用于条件判断&#xff0c;满…...

10大领域应该怎么记?

文章目录 5大过程组10大领域49个过程输出输入工具与技术 参考文档&#xff1a; https://mp.weixin.qq.com/s/BJ-Dpn0zxTP0TCbeoJXb9A 5大过程组 启动、规划、执行、监控、收尾 10大领域 巧记&#xff1a;【挣饭进城市&#xff0c;咨购风菜干】【狗子整范进—成人风采】 整…...

通过Ubuntu虚拟机+Linux移植LVGL并通过linux Frame buffer显示

文章参考&#xff1a;https://gitee.com/socbis/linux-lvgl lvgl on linux Frame buffer 主机环境: Ubuntu 18.04lvgl 8.0.1 获取源码并运行demo 获取源码 需要3样东西来构建demo : lvgl核心控件库: 从此处获取源码 lvgl&#xff0c;选择版本 Release v8.0.1. 显示和触摸接…...

M功能-支付平台(三)

target&#xff1a;离开柬埔寨倒计时-221day 前言 今天周六&#xff0c;但是在柬埔寨还是工作日&#xff0c;想着国内的朋友开始休周末就羡慕呀&#xff0c;记不清在这边过了多少个周六了&#xff0c;多到我已经习惯了。而且今天技术部还停电了&#xff0c;真的是热的受不了呀…...

5G工厂长啥样

5G工厂是一种新型的工业互联网基础设施&#xff0c;利用5G为代表的新一代信息通信技术集成&#xff0c;打造新型工业互联网基础设施。在5G工厂中&#xff0c;自动化和智能化设备广泛使用&#xff0c;高度互联的工厂网络得以实现&#xff0c;远程监控和管理成为可能&#xff0c;…...

使用Python操作Jenkins

大家好&#xff0c;Python作为一种简洁、灵活且功能丰富的编程语言&#xff0c;可以与各种API轻松集成&#xff0c;Jenkins的API也不例外。借助于Python中的python-jenkins模块&#xff0c;我们可以轻松地编写脚本来连接到Jenkins服务器&#xff0c;并执行各种操作&#xff0c;…...

网络协议测试仪设计方案:474-便携式手提万兆网络协议测试仪

便携式手提万兆网络协议测试仪 一、平台简介 便携式手提万兆网络协议测试仪&#xff0c;以FPGA万兆卡和X86主板为基础&#xff0c;构建便携式的手提设备。 FPGA万兆卡是以Kintex-7XC7K325T PCIeX4的双路万兆光纤网络卡&#xff0c;支持万兆网络数据的收发和网络协议…...

使用numpy手写一个神经网络

本文主要包含以下内容&#xff1a; 推导神经网络的误差反向传播过程使用numpy编写简单的神经网络&#xff0c;并使用iris数据集和california_housing数据集分别进行分类和回归任务&#xff0c;最终将训练过程可视化。 1. BP算法的推导过程 1.1 导入 前向传播和反向传播的总体…...

使用Spring AOP实现接口参数变更前后对比和日志记录

推荐一个程序员的常用工具网站,效率加倍,嘎嘎好用:程序员常用工具云服务器限时免费领:轻量服务器2核4G腾讯云:2核2G4M云服务器新老同享99元/年,续费同价阿里云:2核2G3M的ECS服务器只需99元/年,续费同价记录接口调用前后的参数变化是一个常见的需求,这不仅有助于调试和…...

免费无限换脸,火了,图片/视频/直播都行!

最强换脸AI工具Facefusion软件在近期更新到了2.6.0版本&#xff0c;带来了一系列的更新和改进&#xff0c;今天为大家分享一下最新的整合包。 Facefusion2.6.0版本介绍 FaceFusion不仅仅是一款换脸软件&#xff0c;它更是一个多功能的数字人和实时直播助手&#xff0c;真正开启…...

无线领夹麦克风哪个品牌好?本期文章揭秘无线麦克风哪个品牌好用

​在当下这个全民皆为媒体的时代大潮中&#xff0c;视频分享已然成为了引领风尚的指向标。在自媒体领域竞争愈发激烈的态势下&#xff0c;若要在这片广阔海洋中扬帆远航&#xff0c;优秀的作品毫无疑问是吸引观众的关键所在。而想要塑造出这样的卓越之作&#xff0c;除了需要创…...

操作系统实验--终极逃课方法

找到图片里的这个路径下的文件 &#xff0c;结合当前题目名称&#xff0c;把文件内容全部删除&#xff0c;改为print print的内容为下图左下角的预期输出的内容...

C语言实现正弦信号扫频

C语言实现正弦信号扫频 包含必要的头文件:首先,你需要包含 <stdio.h> 和 <math.h> 头文件,分别用于输入输出和数学函数的使用。 定义扫频参数:定义正弦扫频的参数,例如起始频率、结束频率、扫频时间等。 生成正弦波信号:使用正弦函数生成扫频信号,可以根…...

实用篇| huggingface网络不通

之前文章《Transformer原理》中介绍过,Transformers 是由 Hugging Face 开发的一个包&#xff0c;支持加载目前绝大部分的预训练模型。随着 BERT、GPT 等大规模语言模型的兴起&#xff0c;越来越多的公司和研究者采用 Transformers 库来构建应用。 Hugging Face是一家美国公司…...

NLP与训练模型-GPT-3:探索人工智能语言生成的新纪元

在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;一直是备受关注的研究方向之一。随着深度学习技术的发展&#xff0c;尤其是Transformer模型的出现&#xff0c;NLP领域取得了巨大的进步。其中&#xff0c;由OpenAI推出的GPT-3模型更是引起了广泛的关注和热…...

iOS内购欺诈漏洞

iOS内购欺诈漏洞 1.iOS内购欺诈漏洞概述2.伪造的凭证3.漏洞修复方案 1.iOS内购欺诈漏洞概述 黑产别的App上低价充值&#xff08;比如1元&#xff09;换取苹果真实凭证&#xff0c;再在目标App上下单高价&#xff08;648元&#xff09;商品&#xff0c;传入该凭证&#xff0c;如…...

【网络服务】正向代理和反向代理到底是什么意思

&#x1f680; 个人主页 极客小俊 ✍&#x1f3fb; 作者简介&#xff1a;程序猿、设计师、技术分享 &#x1f40b; 希望大家多多支持, 我们一起学习和进步&#xff01; &#x1f3c5; 欢迎评论 ❤️点赞&#x1f4ac;评论 &#x1f4c2;收藏 &#x1f4c2;加关注 前言 在学习和…...

【算法】记忆化搜索

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《算法神殿》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、不同路径二、最长递增子序列三、猜数字大小 ||四、矩阵中的最长递增路径总结 引言 记忆化搜索&…...

博客系统多模块开发

创建工程 创建父工程 删除src目录&#xff0c;在pom.xml添加依赖&#xff1a; <!--统一版本 字符编码--><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.b…...

pdf阅读器哪个好用?五款PDF阅读器大比拼

pdf阅读器哪个好用&#xff1f;在数字化时代&#xff0c;PDF文档因其跨平台、跨设备的便捷性&#xff0c;已成为工作、学习和生活中不可或缺的一部分。而一款优秀的PDF阅读器&#xff0c;则能极大地提升我们处理PDF文档的效率与体验。今天&#xff0c;就让我们一起探索五款备受…...

华硕笔记本终极控制神器:G-Helper轻量化替代方案完整指南

华硕笔记本终极控制神器&#xff1a;G-Helper轻量化替代方案完整指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook,…...

终极指南:使用Python脚本突破百度网盘限速壁垒

终极指南&#xff1a;使用Python脚本突破百度网盘限速壁垒 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在云存储服务日益普及的今天&#xff0c;百度网盘凭借其庞大的用户基…...

用RT-Thread Studio玩转STM32 PWM:从电机控制到呼吸灯,一个框架搞定

用RT-Thread Studio玩转STM32 PWM&#xff1a;从电机控制到呼吸灯&#xff0c;一个框架搞定 在嵌入式开发领域&#xff0c;PWM&#xff08;脉冲宽度调制&#xff09;技术堪称"瑞士军刀"般的存在。无论是调节电机转速、控制舵机角度&#xff0c;还是实现LED呼吸灯效果…...

KAN网络实战:5分钟看懂如何用它‘可视化’发现物理定律(以安德森定域化为例)

KAN网络&#xff1a;用可视化方法发现物理定律的AI协作者 在科学研究的前沿&#xff0c;物理学家们常常需要从海量数据中识别出隐藏的规律和模式。传统的人工智能方法虽然能够提供预测结果&#xff0c;却往往难以解释其内部机制&#xff0c;这让科学家们难以信任和验证这些&quo…...

鸿蒙备考题库页面构建:学习进度可视化与练习模式网格设计

鸿蒙备考题库页面构建&#xff1a;学习进度可视化与练习模式网格设计 前言 在 HarmonyOS 6.0 应用开发中&#xff0c;在线教育类页面的核心挑战在于如何将学习进度、练习入口、知识图谱等多维信息高效整合。本文将以“备考题库”应用的主页面为例&#xff0c;深入解析如何在鸿…...

编译和链接+预处理

编译&#xff08;compile&#xff09;和链接&#xff08;link&#xff09;在以前我们提到过&#xff0c;C语言是一门编译型的计算机语言&#xff0c;C语言的源代码都是文本文件&#xff0c;文本文件本身无法运行&#xff0c;电脑不能执行C语言代码&#xff0c;计算机能够执行的…...

用LLM嵌入向量破解工业微缺陷检测的长尾难题

1. 项目概述&#xff1a;当大模型“看走眼”时&#xff0c;我们该怎么教它识别那些几乎看不见的异常&#xff1f;你有没有遇到过这样的情况&#xff1a;一个工业质检系统&#xff0c;对明显划痕、缺料、锈蚀这类“教科书式”缺陷识别率高达99%&#xff0c;可一旦面对0.3毫米宽的…...

警惕AI领域未经证实的技术传闻与虚构命名

我不能按照您的要求生成关于“TAI #200: Anthropic’s Mythos Capability Step Change and Gated Release”的博文内容。原因如下&#xff1a;该标题中出现的“Mythos”并非 Anthropic 官方公开发布或确认存在的模型、能力或产品名称。截至2024年7月&#xff0c;Anthropic 官方…...

10B小模型为何在真实业务中碾压百B大模型

1. 项目概述&#xff1a;小模型正在悄悄改写大模型的游戏规则最近在几个技术团队的内部分享会上&#xff0c;我连续三次被问到同一个问题&#xff1a;“你们还在追着百B参数的大模型跑吗&#xff1f;”——问话的人里&#xff0c;有刚从云厂商调来的架构师&#xff0c;有带AI产…...

2021年5月AI工程落地三大技术水位观测

1. 项目概述&#xff1a;这不是一份榜单&#xff0c;而是一份2021年5月AI技术落地的“现场目击报告”“The AI Monthly Top 3 — May 2021”这个标题乍看像一份轻量级行业简报&#xff0c;但如果你在2021年真正泡在AI工程一线&#xff0c;就会明白它背后沉甸甸的分量。那会儿&a…...