C语言入门Day_18 判断和循坏的小结

news2024/11/19 15:18:11

目录

前言:

1.判断

2.循环

3.课堂笔记

4.思维导图


前言:

判断语句和循环语句都可以大致分为三个部分,第一个部分是固定的语法格式;第二部分是代码的执行顺序,第三部分是判断和循环成立与否的判断条件

1.判断

1.1

我们来看看 if 的代码执行顺序:

if(5>1){
   prinrf("5>1\n");
}
if (1<5){
   prinrf("5>1\n");
}

1.先执行判断语句 

 if (5 > 1) {

2.判断成立,执行代码块中的语句   

printf("5>1\n");

}

3.判断语句永远会被执行   

if (1 < 5) {

4.判断条件不成立,不执行剩下的语句

printf("5>1\n");

}

1.2

然后是if-else的双向判断:

我们来看看if-else的代码执行顺序:

if(1>5){
  printf("1>5\n");
} else{
  printf("1<5\n");
}

1.if判断语句第一个执行 

if (1 > 5) {

2.判断条件不成立,不执行if代码块中的代码

printf("1 > 5\n");

3.直接执行else语句

} else {

4.以及else代码块中的代码

printf("1 < 5\n");

}

1.3

最后是if-else if-else的多向判断/复杂判断:

我们看看多向判断的代码执行顺序:

if(1>5){
  printf("1>5\n");
}else if(1==5){
  printf("1==5\n");
} else {
  printf("1<5\n");
}

1.if判断语句首先执行,判断条件不成立

if (1 > 5) 

2.跳过if语句的代码块,进入else-if的判断,仍然不成立

else if(1 == 5) 

3.进入else判断语句

 else 

4.最后进入else判断语句的代码块

printf("1 < 5\n");

if,else if,else 是互斥关系,程序只会执行其中一个判读分支的代码块。

2.循环

首先是for循环,for循环中用两个分号分为了三个部分:

初始定义;判断条件;迭代操作

2.1

我们看看代码的执行顺序:

for(int i=0;i<3;i++){
   printf("%d\n",i);
}

1.第一次for循环,先初始定义,然后进行判断

for(int i =0;i < 3;i++) {

2.执行第一次循环代码块

printf("%d\n", i);

}

for(int i=0;i<3;i++){
   printf("%d\n",i);
}

3.第二次for循环,进行迭代操作,和条件判断

for(int i =0;i < 3;i++) {

4.执行第二次循环代码块

printf("%d\n", i);

for(int i=0;i<3;i++){
   printf("%d\n",i);
}

5.第三次for循环,进行迭代操作,和条件判断

 for(int i =0;i < 5;i++) {

6.执行第三次循环代码块

printf("%d\n", i);

2.2

while循环do-while循环也是类似的代码执行顺序。

do-while循环和while循环的核心差异在于do-while循环是先执行-再判断,while是先判断-再执行

没有特殊情况的话,我们推荐while循环

这是一个死循环,又叫无限循环,我们看看它的执行顺序:

while(true){
     printf("true!\n");
}

1.循环的判断条件,条件为真

while(true){

2.执行循环的代码块

printf("true!\n");

}

while(true){
     printf("true!\n");
}

3.循环的判断条件永远为真

while(true){

4.重复执行循环的代码块,永不结束

printf("true!\n");

}

2.3

作为判断和循环的核心之一,判断条件是个很重要的部分,判断条件为,后续的代码块就会执行;判断条件为,则不会执行后续的代码块。

判断条件无论是逻辑运算,还是比较运算,还是直接是一个布尔数,本质都是一个布尔数

2.4

判断和判断之间可以进行嵌套,循环和循环之间也可以进行嵌套,循环和判断之间仍然可以进行嵌套。

嵌套可以无数层,但是我们为了代码可读性和代码简洁性,不推荐太多层的嵌套。

2.5

针对循环代码顺序,我们可以通过breakcontinue来进行更精细化的控制。

break终结整体的循环结构,又称大循环;0.

continue跳过当下的这一次循环,又称小循环。

3.课堂笔记

1.判断条件为真才会执行代码块里的代码

if判断
if (5 > 1) { 
printf("5>1\n");
}

 

2.当if判断条件不为真时,执行else代码块

if-else 判断
if (1 > 5) {    
printf("1 > 5\n");
} else {    
printf("1 < 5\n");
}

3.当if判断条件不为真时,执行else if代码块

else if判断
if (1 > 5) {   
 printf("1 > 5\n");
} else if(1 == 5) {
 printf("1 == 5\n");
} else {    
printf("1 < 5\n");
}

4.使用for循环输出0,1,2,3,4

for循环
for(int i =0;i < 5;i++){    
printf("%d\n", i);
}

5.while循环先判断再执行

while循环
while(true){   
printf("true!\n");
}

6.break的作用为立即退出本层循环; continue语句的作用是跳过本循环中剩余的语句而强制执行下一次循环

break & continue
int i = 0;
while(true){   
   printf("true!\n");
}
  i++;  
  if(i < 5){
     continue; 
  } else {      
     break;
  } 
}

4.思维导图

 在撰写这篇文章时,我参考了《白纸编程》这个app的观点和思想,我要感谢他们对我的启发和帮助。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1001107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

小米13Pro/13Ultra刷面具ROOT后激活LSPosed框架微X模块详细教程

喜欢买小米手机&#xff0c;很多是因为小米手机的开放&#xff0c;支持root权限&#xff0c;而ROOT对普通用户来说更多的是刷入DIY模块功能&#xff0c;今天ROM乐园小编就教大家如何使用面具ROOT&#xff0c;实现大家日常情况下非常依赖的微X模块功能&#xff0c;体验微X模块的…

10.2 整流电路

在分析整流电路时&#xff0c;为了突出重点&#xff0c;简化分析过程&#xff0c;一般均假定负载为纯电阻性&#xff1b;整流二极管为理想二极管&#xff0c;即导通时正向压降为零&#xff0c;截止时反向电流为零&#xff1b;变压器无损耗&#xff0c;内部压降为零等。 一、整…

信息化发展35

IT审计技术&#xff0d;风险评估技术 常用的IT 审计技术包括风险评估技术、审计抽样技术、计算机辅助审计技术及大数据审计技术。 IT 风险评估技术一般包括&#xff1a; 1 &#xff09;风险识别技术&#xff1a; 用以识别可能影响一个或多个目标的不确定性&#xff0c; 包括德…

W11下CMake MinGW配置OpenCV和Qt

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 前言 前几天将cuda版本的opencv给编译成功了&#xff0c;当时用的VS的MSVC&…

初阶扫雷(超详解)

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;C语言小游戏 &#x1f388;推荐相关博文&#xff1a;初阶三子棋&#xff08;超详解&#xff09; 初阶扫雷 1.游戏介绍2.基本思路3.实现前的准备4.实现步骤4.1 打印菜单4.2 初始化扫雷棋盘4.3 打印扫雷棋…

服务器基准测试实践:SysBench的搭建与基本使用

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;AWS/阿里云资深使用…

Java 中的比较 equals 和 ==

这个问题在 Java 面试的时候大概率会被问到。 不是因为这个问题有什么复杂的&#xff0c;只是因为这个地方超出人类认知&#xff0c;你相信吗&#xff1f; 比较什么 如果你上培训班或者在学校学习的话&#xff0c;你的老师大概率可能会告诉你对于&#xff1a; 基本类型&…

【数据结构面试题】栈与队列的相互实现

目录 1.队列实现栈 1.1创建栈 1.2判断是否为空 1.3入栈 1.4出栈 1.5获取栈顶元素 1.6完整代码 2. 用栈实现队列 2.1创建队列 2.2判断是否为空 2.3入队列 2.4出队列 2.5获取队头元素 2.6完整代码 1.队列实现栈 用队列实现栈https://leetcode.cn/problems/impleme…

Java笔记:Volatile

一、简介 volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制&#xff1a;同步块&#xff08;或方法&#xff09;和 volatile 变量&#xff0c;相比于synchronized&#xff08;synchronized通常称为重量级锁&#xff09;&#xff0c;volatile更轻量级…

比较Visual Studio Code中的文件

目录 一、比较两个文件 1.1VS code中的文件大致分为两类&#xff1a; 1.2如何比较VS code中的两个文件&#xff1f; 二、并排差异模式&#xff1a;VS code中的一种差异模式 三、内联差异模式&#xff1a;VS code中的另一种差异模式 四、VS code忽略在行首或者行尾添加或删除…

Shazam音乐检索算法原理及实现

算法基本流程如下&#xff1a; 1. 采集音乐库 2. 音乐指纹采集 3. 采用局部最大值作为特征点 4. 将临近的特征点进行组合形成特征点对 5. 对每个特征点对进行hash编码 编码过程&#xff1a;将f1和f2进行10bit量化&#xff0c;其余bit用来存储时间偏移合集形成32bit的hash码 …

使用LambdaQueryWrapper再也不担心字段拼写错误了 [MyBatis-Plus系列] - 第485篇

历史文章&#xff08;文章累计480&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 E…

数据结构--二叉树-堆(1)

文章目录 树概念相关的基本概念树的表示 二叉树概念特殊二叉树性质 堆二叉树的顺序结构堆的概念 堆的实现初始化数组初始化为堆向上调整向下调整插入删除打印、摧毁、判空、获取堆顶数据验证 堆的应用堆排序TopK问题 树 概念 树是一种常见的非线性的数据结构&#xff0c;&…

Docker 入门:如何打包、部署并运行你的应用

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f6e0;️ 全栈技术 Full Stack: &#x1f4da…

cmake构建和编译

什么是CMake&#xff1f; CMake本身是一个工具集&#xff0c;由五个可执行的程序组成&#xff1a;cmake、ctest、cpack、cmake-gui和ccmake&#xff0c;其中cmake可以说是出镜率最高的明星级别程序了&#xff0c;它用于在构建项目的第一步&#xff0c;进行项目的配置、生成和构…

SQL4 查询结果限制返回行数

描述 题目&#xff1a;现在运营只需要查看前2个用户明细设备ID数据&#xff0c;请你从用户信息表 user_profile 中取出相应结果。 示例&#xff1a; iddevice_idgenderageuniversityprovince12138male21北京大学Beijing23214male复旦大学Shanghai36543female20北京大学Beijin…

健身房预约小程序开发全攻略

随着健身行业的快速发展&#xff0c;健身房预约小程序成为了方便、快捷的预约方式&#xff0c;为健身爱好者提供了更好的服务。本文将介绍如何开发健身房预约小程序。 第一步&#xff1a;登录小程序制作平台 首先&#xff0c;进入后台&#xff0c;点击【轻应用小程序】中的【去…

MATLAB入门-数据的导入和导出

MATLAB入门-数据的导入和导出 注&#xff1a;本篇文章是课程学习笔记&#xff0c;课程链接为&#xff1a;头歌 常见的几个导入数据的方法 load函数 load函数专门用于引入MATLAB的.mat格式数据&#xff0c;十分的简单方便。 例如&#xff1a;一个-ASCII编码形式存储的数据文件…

usb学习笔记

框架 usb 驱动是基于usb core 的&#xff0c;设备插上之后&#xff0c;host 层自然会进行识别&#xff0c;设备驱动通过core层的接口操作设备&#xff0c;而不用直接面对usb硬件。对于应用层需要封装成一个usb 的设备。 驱动是基于urb 数据进行操作的。 49 static void usb_mo…

关于this

参考阮一峰老师对于this的原理理解 一&#xff1a;this的定义 在严格模式下和非严格模式下&#xff0c;this的在全局中会有差别 来自阮一峰老师对于this的由来的理解 由于函数可以在不同的运行环境中运行&#xff0c;所以需要一种机制&#xff0c;能够在函数的内部获取当前运…