news 2026/9/26 12:11:06

C语言回学习--回顾(04)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C语言回学习--回顾(04)

(第四篇)

目录

(第四篇)

2.分支与循环

2.1if语句

2.2关系操作符​编辑

2.3条件操作符

2.4.逻辑操作符

2.5switch语句


2.分支与循环

2.1if语句

2.1.1else语句

2.1.2多条语句

(a)如图,虽然printf("庆祝一下“)似乎在为满足条件的if语句下,但是由于if语句只控制一条语句,所以它被当作正常代码执行;

(b)所以一般将if语句想包含的内容使用{}括起来(else,else if)同理;

(c)具体来说,if语句默认只控制紧随其后的一条语句。无论条件是否成立,if后面的第一条语句都会受到条件控制,而第二条及之后的语句则与if无关,无论条件真假都会照常执行。这就是为什么上图中printf("庆祝一下")虽然看起来缩进在if下面,却仍然会被当作普通代码执行的原因。

(d)如果希望if条件成立时执行多条语句,就必须使用花括号{}将这些语句包裹起来,形成一个语句块。例如:

#include <stdio.h> int main() { int score = 85; if (score >= 60) { printf("恭喜你,及格了!\n"); printf("继续加油,争取更高分!\n"); printf("你的成绩是:%d\n", score); } return 0; }

(e)在上面的代码中,由于使用了花括号{},当score大于等于60时,三条printf语句都会被执行。如果不加花括号,则只有第一条printf语句受if控制,后面两条printf语句无论条件是否成立都会执行,这往往不是我们想要的结果。

(f)因此,在编写if语句(以及else、else if)时,建议始终使用花括号{}明确包裹需要控制的语句范围,即使只有一条语句也建议加上,这样既能避免逻辑错误,也能让代码的可读性更好。

2.1.3多分支

2.1.4嵌套if语句

(a)理解:相当于在一个if里面嵌套一个if,发现满足进入外层if的条件后可以直接将其忽略,直接执行内层if;

2.1.5悬空else

(a)不要以为同位置缩进了就是一起的;

2.2关系操作符

(a)多个关系操作符不宜连用;

(1)如图,在此图中,if()内的判断语句遵循从左到右判断的顺序,由于C语言判断为真则返回1,所以i<j传变为1,1<3成立,所以if判断为真,语句执行;

(2)如果实在想要连用,可以将想执行的语句分开并用&&连接,比如:if(i<j<k)改为:if(i<j&&j<k);

2.3条件操作符

例如:

(a)逻辑为:进入printf()后,%s占位,填充的数进行条件操作符判断:先判断第一个条件,如果成立,则结束判断,将后面的值填入%s;如果不成立,则继续判断;当判断全不成立时,直接执行最后语段;

2.4.逻辑操作符

2.4.1取反符:!

2.4.2 逻辑与:&&

2.4.3 逻辑或:||

2.4.4 练习1

(a)分析:此案例中,使用()将不同语句链接:进入if()语句时,先判断前段语句是否成立,即先判断年份是否为非100整年且能被4整除,后进行400整除的判断;

2.4.5短路

(a)仅需记住:

(1)对于&&,从左往右,只要判断为假,后面的语句均不执行;

(2)对于||,从左往右,只要判断为真,后面的语句不再执行;如果判断为假,仍可继续进行;

2.5switch语句

2.5.1switch语句与if语句的对比

(a)如果switch语句的case分支不加break结束switch,则程序会继续执行该case后面的语句;

2.5.2switch语句的default

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 12:10:30

Dify 基于 MCP 接入 SQLBot:config.toml 骨架与连通性验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/26 12:09:04

Windows 0xc0000142错误全解析:DLL初始化失败的原因与修复方法

1. 0xc0000142错误到底是什么&#xff1a;从现象到本质的完整拆解 1.1 一个让无数人抓狂的弹窗 如果你在Windows上双击某个程序&#xff0c;屏幕一黑&#xff0c;弹出一个对话框写着“应用程序无法正常启动(0xc0000142)。请单击‘确定’关闭应用程序”&#xff0c;然后程序就没…

作者头像 李华
网站建设 2026/9/26 12:09:03

Win11下ASP+Access库存系统部署与避坑实战

简介&#xff1a;这是一套基于ASPAccess开发的库存管理系统完整源码&#xff0c;面向Web开发初学者及具备基础数据库操作能力的开发者&#xff0c;适用于中小型企业或教学实训场景中的进销存业务管理需求。资源包为ZIP格式&#xff0c;大小4.85MB&#xff0c;包含全部可运行代码…

作者头像 李华
网站建设 2026/9/26 12:08:47

百考通AI实战:毕业设计从选题到答辩的全流程智能辅助方案

每年三四月&#xff0c;我朋友圈的画风就会突然统一起来——全是论文截图&#xff0c;配文不是“刚刚改完第7版”&#xff0c;就是“今晚要把绪论肝完”。这种痛我太熟了&#xff0c;带过几届毕业生&#xff0c;见过太多人被文献综述、数据分析、导师意见来回拉扯&#xff0c;最…

作者头像 李华