当前位置: 代码迷 >> 综合 >> 第二章 条件判断语句(分支语句) 循环语句(中)| C语言[0基础 入门 保姆级别 通俗易懂 教程]
  详细解决方案

第二章 条件判断语句(分支语句) 循环语句(中)| C语言[0基础 入门 保姆级别 通俗易懂 教程]

热度:75   发布时间:2023-12-06 01:49:37.0

第二章 条件判断语句(分支语句)& 循环语句(中)| C语言[0基础 入门 保姆级别 通俗易懂 教程]

在这里插入图片描述


作者介绍:

?作者:热爱编程不起眼的小人物?
?作者的Gitee:代码仓库
?系列文章推荐:实现Strcpy函数 - 通过函数发现 “程序之美” | 不断优化、优化、再优化~
第二章 条件判断语句(分支语句)& 循环语句(上)| C语言[0基础 入门 保姆级别 通俗易懂 教程]
?我和大家一样都是初次踏入这个美妙的“元”宇宙? 希望在输出知识的同时,也能与大家共同进步、无限进步?


文章目录

  • 第二章 条件判断语句(分支语句)& 循环语句(中)| C语言[0基础 入门 保姆级别 通俗易懂 教程]
  • 前言
  • 一、浅尝条件判断语句(分支语句)和循环语句
    • Ⅰ.语句
  • 二、循环执行语句
    • Ⅰ.while循环语句
    • Ⅱ.for循环语句
    • Ⅲ.do...while()循环语句
  • 总结


前言

可以说下列我们即将所接触到的语句在学习C语言的过程中有着密不可分、千丝万缕的关系哦~
不仅可以跟好地帮助我们读懂、学习别人优秀地代码,更能更近一步提升自己地代码能力哦~

以下内容干货满满,跟上步伐吧~


一、浅尝条件判断语句(分支语句)和循环语句

让我们一同看看在初步接触C语言中经常运用到的语句吧!

可以说这些语句在学习C语言的过程中有着密不可分、千丝万缕的关系哦~
只有我们扎实好基础,才能更好地建设上层建筑!!!

条件判断(分支语句)

  • if 语句
  • switch 语句

循环语句

  • while 语句
  • for 语句
  • do while 语句

go to 语句


在真正进入了解C语言的分支和循环语句中,我们得先了解了解什么是“语句”

Ⅰ.语句

C语言中语句可分为以下五类:

  1. 表达式语句
  2. 函数调用语句
  3. 控制语句
  4. 复合语句
  5. 空语句
而本文介绍的是: 控制语句

C语言中控制语句可分为以下三类:

  1. 条件判断语(分支语句):if语句、switch语句;
  2. 循环执行语句 : do while语句、while语句、for语句;
  3. 转向语句:break语句、goto语句、continue语句、return语句;

二、循环执行语句

Ⅰ.while循环语句

  1. while循环语句的语法结构

在已知if语句的基础下,如果想将 “此判断”执行多次
那我们便需要用到 “循环语句”

while( 表达式 )   //此处的“表达式”可等价于判断语句的“判断部分” 循环语句;

while循环语句执行的流程:
在这里插入图片描述

!!!特别注意 !!!

在执行单语句的时候,可忽略“{ }”去括住单条循环语句;

但在执行多条语句的的时候,我们应当用“{ }”去括住多条循环语句;

一对“{ }” 所括住的是 一个代码块

  1. 理论存在,实践开始:
int main()
{
    int i = 1;while(i<=10)  //这部分为控制循环的关键部分{
    printf("%d ", i);i = i+1;}printf("\n");return 0;
}

在这里插入图片描述

综上:控制while循环语句的,本质是 “判断部分”

  1. while语句中的break

break语句—可以使循环达到一定条件后,跳出整个循环,即结束循环继续往下执行程序

int main()
{
    int i = 1;while (i <= 10){
    if (i == 5)break;printf("%d ", i);i = i + 1;}return 0;
}

在这里插入图片描述
总结:
break在while循环中的作用:

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以:while中的break是用于永久终止循环的

  1. while语句中的continue
#实例1int main()
{
    int i = 1;while (i <= 10){
    if (i == 5)continue;printf("%d ", i);i = i + 1;}return 0;
}

在这里插入图片描述

所以当执行continue后,就会跳过当前循环,即如上的 “i=i+1”不会执行【相当于i始终停留于i=的阶段】
那后续循环便永远卡在“continue”部分,即 “死循环”

#实例2int main()
{
    int i = 1;while(i<=10){
    i = i+1;if(i == 5)continue;printf("%d ", i);}return 0;
}

在这里插入图片描述

实例2于与实例1不同,因为将 “i的自增” 提前了,所以不会造成实例1的死循环的情况
所以 实例2会打印1~11的数字(除了“5”)

总结:
continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分进行下一次循环的入口判断


Ⅱ.for循环语句

  1. for循环语句的语法结构

可以简单地理解为 “三合一的while循环” 【精简版的while循环】

for(表达式1; 表达式2; 表达式3)循环语句;

其中:
表达式1:为 初始化部分,用于初始化循环变量
表达式2:为条件判断部分,用于判断循环时候终止
表达式3:为调整部分,用于循环条件的调整的【如“自增”……】

for循环语句执行的流程:
在这里插入图片描述

Eg:

int main()
{
    int i = 0;// i=1 为 初始化部分// i<=10 为判断部分// i++ 为 调整部分for(i=1; i<=10; i++){
    printf("%d ", i);}return 0;
}

在这里插入图片描述

现在让我们来对比一下for循环while循环

int i = 0;//实现相同的功能,使用while
i=1;//初始化部分
while(i<=10)//判断部分
{
    printf("hehe\n");i = i+1;//调整部分
}//**********************////实现相同的功能,使用for
for(i=1; i<=10; i++)
{
    printf("hehe\n");
}

我们便不难发现:while循环中依然存在循环的三个必须条件,但是由于风格的问题使得三个部分很可能偏离较远,这样查找修改就不够集中和方便。所以,for循环的风格更胜一筹

  1. for循环中的break和continue

现在for循环中也可以出现break和continue,他们的意义和在while循环中是一样的

但是,也有点例外
在这里插入图片描述

这是因为,i自增的语句被放到for里整合起来,于是下面的continue便不会像while循环一样影响到调整部分

补充:for循环中的初始化部分判断部分调整部分是可以省略的但是不建议初学时省略,容易导致问题 [死循环等]。


Ⅲ.do…while()循环语句

  1. do…while()循环语句的语法结构
do循环语句;
while(表达式);

do循环与前两个循环最大的不同:循环至少执行一次
【但使用的场景有限,所以不是经常使用

Eg:

int main()
{
    int i = 10;do{
    printf("%d\n", i);}while(i<10);return 0;
}

在这里插入图片描述

即使一开始就不符合判断条件,也先会执行一次,判断条件不符后,再退出循环

  1. do…while()循环语句中的continue
int main()
{
    int i = 10;do{
    if(5 == i)continue;printf("%d\n", i);i--;}while(i<10);return 0;
}

在这里插入图片描述

这种情况下便造成死循环了~


总结

综上,我们已经基本了解了C语言中语句的 “循环执行语句” 啦~
但这,仅仅是 开端? ,后续还会带领大家更加的深入语句的相关知识哦~

?如果有错误?,欢迎指正呀?
?如果觉得收获满满,可以点点赞?支持一下哟~?
在这里插入图片描述

  相关解决方案