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 语句就会更加的快捷。


相关文章
|
5月前
|
算法 C语言
C语言------循环结构II
这篇文章是C语言循环结构II的实训教程,通过多个实例程序,教授如何综合运用选择结构和循环语句解决问题,体会算法在程序设计中的作用,并复习程序调试功能和技巧。
C语言------循环结构II
|
8月前
|
C语言
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
【C语言】循环结构程序设计(第二部分 -- 习题讲解)
|
7月前
|
C语言
【C语言基础篇】结构控制(中)循环结构
【C语言基础篇】结构控制(中)循环结构
|
4月前
|
C语言
C语言程序设计核心详解 第四章&&第五章 选择结构程序设计&&循环结构程序设计
本章节介绍了C语言中的选择结构,包括关系表达式、逻辑表达式及其运算符的优先级,并通过示例详细解释了 `if` 语句的不同形式和 `switch` 语句的使用方法。此外,还概述了循环结构,包括 `while`、`do-while` 和 `for` 循环,并解释了 `break` 和 `continue` 控制语句的功能。最后,提供了两道例题以加深理解。
117 7
|
5月前
|
算法 C语言
C语言------循环结构
这篇文章是C语言循环结构I的实训教程,介绍了while、do-while和for循环的使用方法,循环程序设计中的常用算法,无条件控制语句在循环中的控制作用,以及循环嵌套的理解和执行过程,并通过多个实例代码演示了这些概念的应用。
C4.
|
8月前
|
程序员 C语言
C语言循环结构与程序设计
C语言循环结构与程序设计
C4.
79 0
|
5月前
|
算法 编译器 C语言
六:《初学C语言》— 循环结构
【8月更文挑战第1天】本篇文章详细讲解了while循环;for循环;do...while循环,break、continue语句及goto语句,并在文章中附上多个教学示例代码及一个猜数字小游戏
59 0
六:《初学C语言》— 循环结构
|
7月前
|
C语言
C语言循环结构详解:for、while、do while、break与continue
C语言循环结构详解:for、while、do while、break与continue
222 0
|
7月前
|
C语言
C语言刷题(循环结构程序设计)
C语言刷题(循环结构程序设计)
|
8月前
|
C语言
C语言循环结构
C语言循环结构
110 1

热门文章

最新文章