C语言中的循环结构

C语言中的循环结构

  • 循环结构
  • for 循环
    • 语法形式
    • for 循环示例
  • while 循环
    • 语法形式
    • while 循环示例
  • do while 循环
    • 语法形式
    • do while 循环实践
  • break 和 continue 语句
    • while 循环中的 break 和 continue
      • break 举例
      • continue 举例
    • for 循环中的 break 和 continue
      • break 举例
      • continue 举例
    • do while 循环中的 break 和 continue
      • break 举例
      • continue 举例
  • 循环的嵌套
  • goto 语句

循环结构

  • forwhiledo while 实现循环结构

for 循环

语法形式

  • 表达式1:用于循环变量的初始化
  • 表达式2:用于循环结束条件的判断
  • 表达式3:用于循环变量的调整
for (表达式1; 表达式2; 表达式3)
    语句;//如果循环体想包含更多的语句,可以加上大括号

for 循环示例

//在屏幕上打印 1-10
#include 
int main()
{
    int i = 0;
    for (i = 1; i <= 10; i++)
    {
        printf("%d \n", i);
    }
    return 0;
}

while 循环

语法形式

while (表达式)
    语句;//如果循环体想包含更多的语句,可以加上大括号
//与 if 语句相似
if (表达式)
    语句;

while 循环示例

//在屏幕上打印 1-10
#include 
int main()
{
    int i = 1;
    while (i <= 10)
    {
        printf("%d \n", i);
        i++;
    }
    return 0;
}

do while 循环

语法形式

  • whilefor 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;
  • do while 循环是先直接进入循环体,执行循环语句,然后再执行 while 后的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。
do
    语句;
while(表达式);

do while 循环实践

//在屏幕上打印 1-10
#include 
int main()
{
    int i = 1;
    do
    {
        printf("%d ", i);
		i = i + 1; 
    }
    while(i <= 10);//这里有一个分号
    return 0;
}

break 和 continue 语句

  • break 的作用是用于永久的终止循环,只要 break 被执行,直接就会跳出循环,继续往后执行。
  • continue 的作用是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所差异的。

while 循环中的 break 和 continue

break 举例

#include 
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 的地方终止,不再打印,不再循环。
  • break 的作用就是永久的终止循环,只要 break 被执行,break 外的第一层循环就终止了。

continue 举例

#include 
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 后边的话,可能会造成死循环

for 循环中的 break 和 continue

break 举例

#include 
int main()
{
    int i = 1;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            break;
        printf("%d ", i);
    }
    return 0;
}
//执行结果:1 2 3 4

continue 举例

#include 
int main()
{
    int i = 1;
    for (i = 1; i <= 10; i++)
    {
        if (i == 5)
            continue;
        printf("%d ", i);
    }
    return 0;
}
//执行结果:1 2 3 4 6 7 8 9 10

do while 循环中的 break 和 continue

break 举例

#include 
int main()
{
    int i = 0;
    do 
    {
        if (i == 3) 
        {
            break;//当 i 等于 3 时,break 语句被执行并退出循环。
        }
        printf("%d ", i);
        i++;
    } while (i < 5);
}

//执行结果:0 1 2

continue 举例

#include 
int main()
{
    int i = 0;
    do 
    {
        if (i == 2) 
        {
            i++;
            continue;//当 i 等于 2 时,continue 语句被执行并跳过了第三次迭代。程序执行了 i++ 语句并继续下一次迭代。
        }
        printf("%d ", i);
        i++;
    } while (i < 5);
}
//执行结果:0 1 3 4

循环的嵌套

//打印九九乘法表
#include 
int main() 
{
    int i, j;
    for (i = 1; i <= 9; i++) 
    { //外层循环控制行
        for (j = 1; j <= i; j++) 
        { //内层循环控制列
            printf("%d * %d = %d\t", j, i, i * j);
        }
        printf("\n");
    }
    return 0;
}

goto 语句

goto 语句可以实现在同一个函数内跳转到设置好的标号处。

#include 
int main() 
{
    int i = 0;
loop:
    printf("%d ", i);
    i++;
    
    if (i < 10) 
    {
        goto loop;
    }

    return 0;
}
  • 使用了一个标签 loop 和一个 goto 语句来实现了一个循环输出0到9的数字的程序。
  • 每次输出完数字后,我们用 goto loop 语句来跳到标签 loop 处继续执行,直到 i 的值达到10为止。
  • 虽然使用goto语句可以让我们在程序中跳转到任何一个标签处,但是过多地使用它可能会导致程序不易理解和维护,因此应该慎重使用。

你可能感兴趣的:(C语言学习记录,c语言,开发语言)