C语言分支与循环结构——分支结构
📅 2026/7/10 22:51:09
👁️ 次浏览
众所周知C语言有几大分支结构if语句else语句switch语句其中If语句要和else语句连用switch语句要和case分支连用现在我就来介绍一下这两个语句。一、If语句1.语法结构if(条件表达式语句当条件表达式里的条件为真时执行语句否则不执行。2.else语句if...else语句(1)语法形式if(表达式 //这里有一个注意点当if与else分支中的语句多于1条时要加大括号 { //防止出现语法错误。 语句1 // 这里举一个例子判断一个数是否是正数 } if (a 0) printf(a is positive\n); // 只有这一行受 if 控制 count; // 这一行无条件执行无论 a 是否大于 0 else // count会被无数次执行无论a是否大于0 { 语句2 }这里我们拿一个例子来运用一下if...else语句。2举例#include stdio.h int main() { int age0; //定义变量age scanf(%d,age); //输入age if(age18) printf(已成年\n); else printf(未成年\n);//if...else判断是否成年大于等于18成年否则不成年 return 0; }上述判断是否成年的例子很好地运用了if...else语句非常简单大家可以把这段代码复制自己运行输入一个年龄判断。3.分支中包含多条语句这个其实就是刚才所说的if和else分支中有多条语句要加大括号。否则会语法错误。我们还是拿一个例子说明分数判断#include stdio.h int main() { int score0; scanf(%d,score); if(score60) { printf(及格\n); printf(恭喜\n); } else { printf(不及格\n); printf(继续努力\n); } return 0; }这个例子中由于if...else分支有多条语句一定要加大括号否则二者下面的printf里的字符串会不断输出构成语法错误所以大家平常在写代码时一定要注意。4.嵌套if语句(1)定义就是一个if分支里再嵌套一个if语句拿一个例子大家应该会更好理解。(2)举例#include stdio.h int main() { int n0; scanf(%d,n); if(n0) printf(正数\n); else { if(n0) printf(负数\n); else printf(是0\n); } return 0; }这个例子是输入一个数判断是正数负数还是0只有一个嵌套理解起来容易一些。5.悬空else问题(1)原则else总是离它最近的if相配对这个原则叫就近原则。(2)举例#include stdio.h int main() { int a0; int b2; if(a1) { if(b2) printf(hehe\n); else printf(haha\n);//根据就近原则下面的if与else相配对 } return 0; }如果代码改成这样#include stdio.h int main() { int a0; int b2; if(a1) { if(b2) printf(hehe\n); } else { printf(haha\n); } return 0; }只是else换了一下位置结果就不一样了这个else是与上面的if对齐的不是与下面的。所以大家要看清楚else与哪个if对齐避免判断错误。二、错题及总结在这里给大家展示两道我之前刷题时遇到的错题并总结一下1.三角形判断来源牛客网这道题就是根据三角形两边之和大于第三边的原理来判断三种三角形等边等腰普通三角形例如三角形三边为a,b,c,有三种情况就是abc,acb,bca,现在我展示我的错误代码和正确代码。#define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { int a,b,c; scanf(%d %d %d,a,b,c); if((abc)(acb)(bca)) { printf(Ordinary triangle!\n);//普通三角形 } else if((ab)||(bc)||(ac)) { printf(Isosceles triangle!\n);//等腰三角形 } else if(abc) { printf(Equilateral triangle!\n);//等边三角形 } else printf(Not a triangle!\n); return 0; }这道题的代码一共有两个错误1判断逻辑错误按照原来代码如果给出用例a3,b3,c3,会直接打印普通三角形下面均不会判断应该判断能否构成三角形另外一个是应先判断等边三角形再判断等腰三角形因为二者的的前提均是两边相等这就会导致当你输入3 3 3时会输出等腰三角形不会输出等边。2判断等边时条件书写错误C语言没有abc这种写法应该分开写写成ab bc。下面我给大家展示一下正确代码#define _CRT_SECURE_NO_WARNINGS #include stdio.h int main() { int a,b,c; scanf(%d %d %d,a,b,c); if(!(abc acb bca)) { printf(Not a triangle!\n);//不是三角形 } else if((ab)(bc)) { printf(Equilateral triangle!\n);//等边三角形 } else if((ab)||(bc)||(ac)) { printf(Isosceles triangle!\n);//等腰三角形 } else printf(Ordinary triangle!\n);//普通三角形 return 0; }2.判断是不是字母 来源牛客网这道题考的是ASCII码大写字母A~Z对应的ASCII码区间是65~90小写字母的ASCII码区间是97~122大家可以了解一下注意写代码的时候要写成字符形式加一对单引号不要写成字符串。下面我给大家展示一下我的错误和正确的代码。#include stdio.h int main() { char ch1,ch2; while(scanf( %c %c, ch1,ch2)!EOF) { if((ch1Ach1Z)||(ch1ach1z)) { printf(%c is an alphabet.\n,ch1); } else { printf(%c is not an alphabet.\n,ch1); } if((ch2Ach2Z)||(ch2a ch2z)) { printf(%c is an alphabet.\n,ch2); } else { printf(%c is not an alphabet.\n,ch2); } } return 0; }这段代码只满足判断两个字符是否是字母不满足多对字符判断可以通过部分用例。我下面的这段代码是对的。#include stdio.h int main() { char ch; while (scanf( %c, ch) ! EOF) { if((chA chZ)||(cha chz)) { printf(%c is an alphabet.\n,ch); } else { printf(%c is not an alphabet.\n,ch); } } return 0; }这段代码就可以不断读取单个字符满足题目要求多组字符判断是否是字母。3.总结关于用if-else语句的编程题目大家一定要掌握它的语法结构才能写对它在做题的时候要仔细读题涉及多组输入的题目时一定要考虑循环防止出错。
在四川,设备搬迁是不少企业发展过程中会面临的重要环节。选择一家口碑好的设备搬迁企业至关重要,它能让设备顺利、安全地完成搬迁,减少企业的损失。下面就来分析一下像四川久德地久这类口碑好的设备搬迁企业究竟好在哪里。
专业技术实力强
四…
📅 2026/7/10 22:50:09
大家读完觉得有帮助记得关注和点赞!!!摘要O-RAN架构与AI/ML解决方案正不断提升蜂窝网络的管理能力,实现对多种用例的RAN自动化智能控制闭环。确保能源可持续性对于最小化移动网络对全球能耗的影响至关重要。本演示展示了BeGREEN…
📅 2026/7/10 22:50:09
北辰-母协议 | 向Steve Jobs致敬的开源治理宣言
╔═══════════════════════════════════════════════════════════════╗
║ 【文档性质】P0-ETERNAL(永恒定锚级) …
📅 2026/7/10 22:50:09
openeuler/libvirt存储管理最佳实践:从本地磁盘到共享存储 【免费下载链接】libvirt libvirt is a toolkit to manage virtualization platforms. 项目地址: https://gitcode.com/openeuler/libvirt
前往项目官网免费下载:https://ar.openeuler.o…
📅 2026/7/10 23:56:30
1. 项目概述:当模型拖入Unity场景后“变黑”意味着什么?刚接触Unity不久的朋友,或者即使是工作了几年的开发者,都可能遇到过这个让人心头一紧的瞬间:你从资源商店下载了一个精美的模型,或者从同事那里拿到了…
📅 2026/7/10 23:56:30
openEuler QARobot扩展开发:如何自定义问答领域和功能模块 【免费下载链接】QARobot Its a QA robot on a web page which can answer some common questions 项目地址: https://gitcode.com/openeuler/QARobot
前往项目官网免费下载:https://ar.…
📅 2026/7/10 23:56:30
7月4日,一则消息在制造业圈子里炸开了锅——今年1至5月,中国进出口银行新发放科技贷款超3400亿元,支持企业2500余家。
3400亿,什么概念? 平均每天超过22亿真金白银流入科技企业。
更值得关注的是,这笔钱重…
📅 2026/7/10 23:56:30
开源项目贡献指南:从零开始参与openEuler DIM_tools项目 【免费下载链接】dim_tools DIM userspace tools 项目地址: https://gitcode.com/openeuler/dim_tools
前往项目官网免费下载:https://ar.openeuler.org/ar/
想要参与开源项目却不知从何入…
📅 2026/7/10 23:56:30
前端错误监控工具链:Sentry 自建部署与 SourceMap 私密上传方案
一、生产环境错误的不可追查性:当 minified 代码中的报错让你无从下手
生产环境的前端代码经过压缩混淆后,错误堆栈显示的是 at a (main.abc123.js:1:23456)。你拿着这串字符…
📅 2026/7/10 23:55:30
一、为什么接口自动化测试,适合用AI赋能?
大家可自行先思考一个问题:
AI赋能测试全流程,为什么优先推荐从接口自动化切入?
有三个典型原因:
接口输入结构化,AI最擅长"吃"
接口有OpenA…
📅 2026/7/10 0:00:53
终极原神FPS解锁器完整指南:轻松突破60帧限制 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock
原神FPS解锁器是一款专为《原神》玩家设计的开源工具,通过先进的Wri…
📅 2026/7/10 0:00:53
YesPlayMusic:如何用高颜值播放器重塑你的网易云音乐体验?🎵 【免费下载链接】YesPlayMusic 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux :electron: 项目地址: https://gitcode.com/gh_mirrors/ye/YesPlayMusic…
📅 2026/7/10 0:00:53
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/10 22:46:54
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/10 22:46:54
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/10 22:46:54
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/10 22:46:54
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/10 22:46:54
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/10 22:46:54