C语言之分支和循环语句(下)

简介: C语言之分支和循环语句(下)
多组输入

如果我们想要调用一次程序多输入几个来显示星期几的话只要用 do while循环和switch语句就好了。

#include<stdio.h>
int main()
{
  int day = 0;
  do
  {
    scanf("%d", &day);
    switch (day)
    {
    case 1:
      printf("星期一\n");
      break;
    case 2:
      printf("星期二\n");
      break;
    case 3:
      printf("星期三\n");
      break;
    case 4:
      printf("星期四\n");
      break;
    case 5:
      printf("星期五\n");
      break;
    case 6:
      printf("星期六\n");
      break;
    case 7:
      printf("星期日\n");
      break;
    case 0:
      printf("退出程序");
      break;
    default:
      printf("输入错误\n");
      break;
    }
  } while (day);
  return 0;
}

那么运行结果是怎么样的,我们一起来看一下

我们就实现了多组输入,当我们想要结束程序的时候,是需要输入0,会结束循环后执行完剩余的代码,也就退出程序了

接下来给大家稍微分析一下代码的为什么会这样执行,首先switch语句放在do while循环中,while的判断条件是day,那么每次都输入一个数字只要不是0,那么,我们都知道,c语言中0为假,非0为真,也就是因此,才把0设置为退出程序的原因,非0就为真,那么循环就继续执行下去了。

循环语句

在C语言中,循环语句用于重复执行一段代码,直到满足特定条件为止。

while循环

while循环:

while循环在循环次数未知或需要根据特定条件来判断时使用。

语法结构

它的基本语法如下:

while (condition) {

// 循环体,执行这里的代码

}

其中,condition是循环条件,当条件为真时执行循环体,当条件为假时结束循环。在进入循环体之前,会先判断条件是否为真,如果不真,则跳过循环体。

while语句代码示例

接下来我们用while循环打印一下1到100中所有3的倍数,来看一下while是怎样工作的。

#include<stdio.h>
int main()
{
  int n = 1;
  while (n <= 100)
  {
    if (n % 3 == 0)
    {
      printf("%d ", n);
    }
    n++;
  }
  return 0;
}

这样便会打印出1到100的所有3的倍数了

while循环是先判断条件是否成立,在执行while循环中的代码,当条件不成立的时候,跳出循环。

do while循环

do-while循环是一种先执行循环体,再判断条件的循环结构。

语法结构

它的基本语法如下:

do {

// 循环体,执行这里的代码

} while (condition);

其中,condition是循环条件,当条件为真时继续执行循环,当条件为假时结束循环。不同于for循环和while循环,在do-while循环中,循环体至少会被执行一次,因为条件是在循环体执行后判断的。

do while语句代码示例

接下来我们用do while循环打印一下1到100中所有3的倍数,来看一下和while有什么区别。

#include<stdio.h>
int main()
{
  int n = 1;
  do 
  {
    if (n % 3 == 0)
    {
      printf("%d ", n);
    }
    n++;
  } while (n <= 100);
  return 0;
}
• 1
• 2
• 3
• 4
• 5
• 6
• 7
• 8
• 9
• 10
• 11
• 12
• 13
• 14

也同样能够打印出1到100中所有3的倍数,那么它与while循环的区别就在于,它是先执行代码后判断条件是否成立,成立则继续循环,不成立则跳出循环。

for循环

for循环是在已知循环次数的情况下使用的循环结构。

语法结构

它的基本语法如下:

for (initialization; condition; increment/decrement) {
    // 循环体,执行这里的代码
}
• 1
• 2
• 3

其中,initialization是循环初始化语句,用于设置循环的初始条件;condition是循环条件,当条件为真时执行循环体,当条件为假时结束循环;increment/decrement是递增或递减表达式,每次循环后更新循环变量的值。

for语句代码示例

同样的,我们还是用for循环来打印出1到100中所有3的倍数

#include<stdio.h>
int main()
{
  int n = 0;
  for (n = 1; n <= 100; n++)
  {
    if (n % 3 == 0)
    {
      printf("%d ", n);
    }
  }
  return 0;
}
• 1
• 2
• 3
• 4
• 5
• 6
• 7
• 8
• 9
• 10
• 11
• 12
• 13

同样也能打印出1到100中所有3的倍数,在这里给大家稍微讲解一下for循环的执行顺序

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

// 循环体

}

执行顺序解抛

执行的顺序如下:

第一步 : i=0 初始化值

第二步 : i<5 进行条件判断,如果为真,则继续执行

第三步 : 执行循环体的内容

第四步 : i++ 变量i自增

第五步 : 回到第二步,条件判断为真,则执行循环体内容,再到i++一直循环,

直到第二步的判断条件为假,则退出该循环

到此就解释完了for循环的执行顺序

总结

到这里就向大家分享完了,文章都是个人拙见,有不好的地方欢迎大家指出,以后会持续更新,希望能和小伙伴们深入交流一下编程技术。

目录
相关文章
|
2月前
|
C语言
初识C语言2——分支语句和循环语句
初识C语言2——分支语句和循环语句
79 5
|
2月前
|
C语言
【c语言】分支语句
C语言通过三种基本结构——顺序、选择和循环,构建复杂的程序逻辑。本文主要介绍了C语言的选择结构,即if-else语句及其变体,包括简单的if语句、if-else组合、else if多分支判断、嵌套if以及解决悬空else问题的方法。此外,还详细讲解了逻辑运算符和关系运算符的使用,以及如何利用条件操作符简化逻辑判断。最后,文章对比了if-else与switch语句在实现多分支逻辑时的应用,并解释了switch语句中的break和default关键字的作用。
41 8
|
2月前
|
C语言
【c语言】循环语句
循环结构是C语言中用于简化重复操作的重要工具,主要包括while循环、do-while循环和for循环。while循环是最基本的形式,通过不断检查条件来决定是否继续执行循环体。do-while循环则先执行循环体,再检查条件,至少执行一次。for循环逻辑更复杂,但使用频率最高,适合初始化、条件判断和更新变量的集中管理。此外,循环中还可以使用break和continue语句来控制循环的提前终止或跳过当前迭代。最后,循环可以嵌套使用,解决更复杂的问题,如查找特定范围内的素数。
54 6
|
2月前
|
Serverless C语言
C语言控制语句:分支、循环和转向
C语言控制语句:分支、循环和转向
|
2月前
|
算法 编译器 C语言
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
【C语言】实现猜数字游戏(分支语句与循环语句的运用)
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
20 0
|
2月前
|
小程序 C语言
初识C语言:走近循环
初识C语言:走近循环
|
C语言 SDN
《C语言及程序设计》程序阅读——用循环累加
返回:贺老师课程教学链接  写出下面程序运行的结果。(1) #include &lt;stdio.h&gt; int main( ) { int i,m=1; for(i=5; i&gt;=1; i--) { m=(m+1)*2; printf("m=%d\n",m); } return 0; } (2)#include
803 0
|
C语言
《C语言及程序设计》实践项目——用循环累加
返回:贺老师课程教学链接  【项目1:分数的累加】编程序,输出1/3-3/5+5/7-7/9…+19/21的结果提示:如果直接解决上面的问题有困难,可以设计一条“由易到难”的路线,逐渐解决其中要解决的问题,让自己的思路明朗起来。(1)1+2+...+20  ——这个应该会(2)1+1/2+1/3+…+1/20  ——分数的累加,注意两个整型相除,商也为整型,而显然求和结果应该是小数(3)1/2
995 0
|
C语言
C语言及程序设计初步例程-34 用循环累加
贺老师教学链接  C语言及程序设计初步 本课讲解 求1+1/2+1/3+…+1/20? #include &lt;stdio.h&gt; int main() { int i=1; double sum=0.0, t; while (i&lt;=20) { t=1.0/i; sum=sum+t; i++;
919 0