C语言循环结构

简介: C语言循环结构

前言

提示:这里可以添加本文要记录的大概内容:

1.掌握C语言循环结构的基本用法

2.循环包括for循环,while循环,do~循环

3.循环结构使用时所需要注意事项

1. for循环

for(表达式1;表达式2;表达式3)

表达式1:用于变量的初始化

表达式2:用于循环语句的判断

表达式3:用于变量调整


,表达式1初始化部分只被执⾏1次,剩下的就是表达式2、循环语句、表达式3在循环。

表达式1.2.3都可以省略,但是新手尽量不要省略,以免带来不必要的麻烦

for循环的实践

在屏幕上打印1~10的值


#include <stdio.h>
 int main()
 {
 int i = 0;
 for(i=1; i<=10; i++){
  printf("%d ", i);
  }
return 0;
 }
//输出结果为1.2.3.4.5.6.7.8.9.10


同样for循环也可以嵌套

如:输出9*9乘法表


#include<stdio.h>
int main()
{
  int a, b;
  for(a=1;a<=9;a++){
  for(b=1;b<=a;b++){
    printf("%d*%d=%d\t",a,b,a*b);
    }
    printf("\n");
  }
  return 0;
}


be33856dbff74c0685494281ef7dce77.png

for循环嵌套使用还是非常好玩的


2. while循环

while 语句的语法结构和 if 语句⾮常相似

为逻辑判断语句

结构为

while(a){
  循环语句;
}


(a)a为真(非零)则循环,a为假(为零)则不执行循环语句,先判断后循环

例子:在屏幕上打印1~10的值


#include <stdio.h>
int main()
{
  int i = 1;
  while(i<=10)
  {
  printf("%d ", i);
  i = i+1;
  }
  return 0;
}
//结果为1 2 3 4 5 6 7 8 9 10


练习:

输⼊⼀个正的整数,逆序打印这个整数的每⼀位

例如:

输⼊:1234,输出:4 3 2 1

输⼊:521,输出:1 2 5


解析:


要想得到n的最低位,可以使⽤n%10的运算,得到的余数就是最低位,如:1234%10得到4

要想去掉n的最低位,找出倒数第⼆位,则使⽤ n=n/10 操作就可以去掉最低位的,如:

n=1234/10得到123,123相较于1234就去掉了最低位,123%10就得到倒数第⼆位3。

循环1和2两个步骤,在n变成0之前,就能到所有的位。

#include <stdio.h>
int main()
{
  int n = 0;
  scanf("%d", &n);
  while(n)
  {
    printf("%d ", n%10);
    n /= 10;
  }
  return 0;
}


3.do-while循环

在循环语句中 do while 语句的使⽤最少

使用格式


do{
 语句;
}while(表达式);


while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳

出循环;

⽽ do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表

达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。

所以在 do while 语句中循环体是⾄少执⾏⼀次的,这是 do while 循环⽐较特殊的地⽅。

同上例子:


输⼊⼀个正整数,计算这个整数是⼏位数?
例如:
输⼊:1234 输出:4
输⼊:12 输出:2


#include <stdio.h>
int main()
{
  int n = 0;
  scanf("%d", &n);
  int cnt = 0;
  do{
    cnt++;
    n = n / 10;
   } while (n);
  printf("%d\n", cnt);
 return 0;
}


这⾥并⾮必须使⽤ do while 语句,但是这个代码就⽐较适合使⽤ do while 循环,因为n即使是

0,也是1位数,要统计位数的。

4.break和continue语句

• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执

⾏。

• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所

差异的。

while循环break例子:


#include <stdio.h>
int main()
{
  int i = 1;
  while(i<=10){
    if(i == 5)
    break;//当i等于5后,就执⾏break,循环就终⽌了
    printf("%d ", i);
    i = i+1;
  }
 return 0;
}


输出:1 2 3 4

解析:打印了1,2,3,4后,当i等于5的时候,循环正 break 的地⽅终⽌,不再打印,不再循环。

while循环continue例子:


#include <stdio.h>
int main()
{
  int i = 1;
  while(i<=10){
    if(i == 5)
    continue;
 //当i等于5后,就执⾏continue,直接跳过continue的代码,去循环的判断的地⽅
 //因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊和死循环
    printf("%d ", i);
  i = i+1;
    }
  return 0;
}


解析: continue 可以帮助我们跳过某⼀次循环 continue 后边的代码,直接

到循环的判断部分,进⾏下⼀次循环的判断,如果循环的调整是在 continue 后边的话,可能会造成

死循环。


5. for循环中的break和continue

其实和 while 循环中的 break ⼀样,这里就不在举例子了

看for循环中 continue举例

#include <stdio.h>
int main()
{
  int i = 1;
  for(i=1; i<=10; i++){
    if(i == 5)
    continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
    printf("%d ", i);
   }
  return 0;
}
//输出结果为:1 2 3 4 6 7 8 9 10,跳过5


在这⾥我们也可以对⽐⼀下 while 循环和 for 循环中 continue 的区别:

bb471b2d231f4ce4841f2aab463de5a6.png

while中直接跳回判断,而for循环先++在判断

6.goto语句实现循环

goto语句

C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数

内跳转到设置好的标号处。

如:


#include <stdio.h>
int main()
{
  printf("hehe\n");
  goto next://goto后面的可以是随机的,但是要有对于的出口
  printf("haha\n");//相当于时空门有人口出口
  next:
  printf("跳过了haha的打印\n"); 
 return 0;
}


goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建

议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出

使⽤ goto 就⾮常的⽅便了。

如:


for(...){
    for(...){
    for(...){
      if(disaster)
      goto error;
      }
    }
  }
  error:


本来 for 循环想提前退出得使⽤ break ,⼀个 break 只能跳出⼀层 for 循环,如果3层循环嵌套

就得使⽤3个 break 才能跳出循环,所以在这种情况下我们使⽤ goto 语句就会更加的快捷。


相关文章
|
1天前
|
C语言
C语言刷题(循环结构程序设计)
C语言刷题(循环结构程序设计)
|
2天前
|
C语言
【C语言基础篇】结构控制(中)循环结构
【C语言基础篇】结构控制(中)循环结构
|
27天前
|
C语言
C语言中的循环结构详解与实战
C语言中的循环结构详解与实战
13 0
|
29天前
|
C语言
C语言循环结构程序设计详解及代码实例
C语言循环结构程序设计详解及代码实例
24 0
|
1月前
|
C语言
C语言循环结构
C语言循环结构
26 1
|
1月前
|
C语言
在C语言中,for语句是一种常用的循环结构控制语句
在C语言中,for语句是一种常用的循环结构控制语句
20 0
|
1月前
|
C语言
c语言循环结构
c语言循环结构
15 0
|
1月前
|
C语言
C语言循环结构
C语言循环结构
27 0
C语言循环结构
|
1月前
|
算法 程序员 C语言
【C语言】循环结构
本文介绍了C语言中的三种循环结构:`while`、`do-while`和`for`循环,它们用于重复执行任务直到满足特定条件。`while`循环在满足条件前评估,`do-while`至少执行一次,`for`循环适合已知循环次数的情况。文中通过示例展示了如何使用这三种循环,并强调了避免无限循环、正确更新循环变量以及注意嵌套循环复杂性的重要性。理解循环结构对编写高效C程序至关重要。
39 2