S2-分支语句和循环语句(2)下

简介: S2-分支语句和循环语句(2)下

3.2.3 for语句的循环控制变量

建议:

1. 不可在for 循环体内修改循环变量,防止for 循环失去控制。

#include<stdio.h>
int main()
{
  int i = 0;
  for (i = 1; i < 5; i++)
  {
    printf("%d ", i);
    i = 1;
  }
  return 0;
}

输出:1 2 2 2陷入2的死循环,


2. 建议 for 语句的循环控制变量的取值采用 “ 前闭后开区间 ” 写法。

// 前闭后开的写法

for ( i = 0 ; i < 10 ; i ++ )

两边都是闭区间

for ( i = 0 ; i <= 9 ; i ++ )

3.2.4 一些for循环的变种

//代码1
#include<stdio.h>
int main()
{
  for (; ; )
  {
    printf("hehe\n");
  }
  return 0;
}

输出:hehe的死循环

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

省略掉判断部分,判断就恒为真,循环就死循环

#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  for (i = 0; i < 3; i++)
  {
    for (j = 0; j < 3; j++)
    {
      printf("hehe\n");
    }
  }
  return 0;
}

输出:9次hehe(外层循环一次内层循环3次)

//代码3
#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  for (i = 0; i < 3; i++)
  {
    for (; j < 3; j++)
    {
      printf("hehe\n");
    }
  }
  return 0;
}

这里我们省略了内层循环的变量初始化部分,输出是多呢?

输出:3次hehe

//代码4-使用多余一个变量控制循环
#include<stdio.h>
int main()
{
  int i = 0;
  int j = 0;
  for (i = 0, j = 0; i < 2 && j < 5; i++, j++)
  {
    printf("hehe\n");
  }
  return 0;
}

输出:两次hehe

3.3 do......while循环

3.3.1 do......while语句的语法

do

    循环语句;

while(表达式);

注:while(表达式);后有‘;’

3.3.2执行流程


3.3.3do......while的特点

先执行,在判断——循环至少执行一次,使用的场景有限,所以不常用

#include<stdio.h>
int main()
{
  int i = 0;
  do
  {
    i++;
    printf("%d ", i);
  }while (i < 10);
  return 0;
}

3.3.4break和continue在do...while的作用和while一样

#include<stdio.h>
int main()
{
  int i = 0;
  do
  {
    i++;
    if(5==i)
    {
      continue;
    }
    printf("%d ", i);
  }while (i < 10);
  return 0;
}
相关文章
|
5月前
|
Go C语言
分支语句与循环语句,详细讲解
分支语句与循环语句,详细讲解
|
6月前
|
C语言
分支和循环语句
分支和循环语句
37 1
|
算法
分支与循环语句的练习
分支与循环语句的练习
|
6月前
|
缓存 编译器 Go
分支语句和循环语句
分支语句和循环语句
69 0
|
编译器 C语言 C++
分支语句和循环语句上
分支语句和循环语句
58 0
分支语句和循环语句上
|
11月前
|
C语言
分支语句和循环语句(1)
分支语句和循环语句(1)
51 0
|
11月前
|
数据安全/隐私保护 C语言
分支语句与循环语句(2)
分支语句与循环语句(2)
58 0
|
算法 数据安全/隐私保护
分支语句与循环语句——练习
分支语句与循环语句——练习
49 0
|
编译器
分支语句与循环语句题
分支语句与循环语句题
69 0
|
缓存 Go 数据安全/隐私保护
分支语句和循环语句下
分支语句和循环语句
74 0