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

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

目录

前言:

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.lryc.cn/news/163929.html

相关文章:

  • mac 好用的工具推荐
  • 星际争霸之小霸王之小蜜蜂(十二)--猫有九条命
  • 【软件分析/静态分析】chapter8 课程11/12 指针分析—上下文敏感(Pointer Analysis - Context Sensitivity)
  • 时间复杂度与空间复杂度详解
  • 目录操作函数
  • PlantUML入门教程:画时序图
  • C#范围运算符
  • 云数据库知识学习——云数据库产品、云数据库系统架构
  • C++中引用详解!
  • VUE3+TS项目无法找到模块“../version/version.js”的声明文件
  • 数据结构-堆的实现及应用(堆排序和TOP-K问题)
  • Spring 条件注解没生效?咋回事
  • 96. 不同的二叉搜索树
  • Android Jetpack 中Hilt的使用
  • 批量采集的时间管理与优化
  • uniApp监听左右滑动事件
  • 十八、MySQL添加外键?
  • 图像文件的操作MATLAB基础函数使用
  • 【k8s】Kubernetes版本v1.17.3 kubesphere 3.1.1 默认用户登录失败
  • Mysql加密功能
  • redis-win10安装和解决清缓存报错“Error: Protocol error, got “H“ as reply type byte”
  • 【视觉检测】电源线圈上的导线弯直与否视觉检测系统软硬件方案
  • Java elasticsearch scroll模板实现
  • 嵌入式基础知识-信息安全与加密
  • TCP的三次握手与四次挥手
  • 【Face Swapping综述】Quick Overview of Face Swap Deep Fakes
  • etcd选举源码分析和例子
  • Android 网络配置
  • 【网络通信 -- WebRTC】Open WebRTC Toolkit 环境搭建指南
  • 文件上传漏洞(CVE-2022-30887)