📜  C |回路和控制结构|问题1(1)

📅  最后修改于: 2023-12-03 15:29:43.556000             🧑  作者: Mango

C语言中的回路和控制结构

在C语言中,我们常常需要使用回路和控制结构来控制程序的执行流程,使程序能够按照我们的要求执行相应的操作。本文将介绍C语言中常用的回路和控制结构及其使用方法。

回路结构

C语言中有两种类型的回路结构,即for循环和while循环。这两种循环结构的作用相同,都是让程序在满足条件的前提下重复执行一段代码。

for循环

for循环的语法格式如下:

for (初始化表达式; 条件表达式; 循环后表达式)
{
    // 代码块
}

其中,初始化表达式只在循环开始时执行一次,用于初始化循环控制变量;条件表达式在每次循环开始前都会被检查,满足条件时继续循环,不满足时跳出循环;循环后表达式在每次循环结束后被执行,通常用于更新循环控制变量的值。

例如,下面的代码将循环输出1~10之间的整数:

for (int i = 1; i <= 10; i++)
{
    printf("%d ", i);
}
while循环

while循环的语法格式如下:

while (条件表达式)
{
    // 代码块
}

其中,条件表达式与for循环的条件表达式作用相同,满足条件继续循环,不满足时跳出循环。

例如,下面的代码将循环输出1~10之间的整数:

int i = 1;
while (i <= 10)
{
    printf("%d ", i);
    i++;
}
控制结构

C语言中常用的控制结构有条件语句和跳转语句。

条件语句

C语言中的条件语句有if语句和switch语句。

if语句

if语句的语法格式如下:

if (条件表达式)
{
    // 代码块1
}
else
{
    // 代码块2
}

其中,如果条件表达式为真,则执行代码块1,否则执行代码块2。

例如,下面的代码将输出正数、零或负数:

int n = 10;
if (n > 0)
{
    printf("正数");
}
else if (n == 0)
{
    printf("零");
}
else
{
    printf("负数");
}

switch语句

switch语句的语法格式如下:

switch (表达式)
{
    case 常量1:
        // 代码块1
        break;
    case 常量2:
        // 代码块2
        break;
    ...
    default:
        // 代码块n
        break;
}

其中,表达式的值将与各个常量进行比较,如果匹配到了某个常量,则执行相应的代码块。如果没有匹配到任何常量,则执行default后的代码块。

例如,下面的代码将输出不同月份的天数:

int month = 2;
switch (month)
{
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        printf("这个月有31天");
        break;
    case 2:
        printf("这个月有28或29天");
        break;
    default:
        printf("这个月有30天");
        break;
}
跳转语句

C语言中的跳转语句有breakcontinuegoto语句。

break语句

break语句用于终止循环或switch语句的执行。

例如,下面的代码将循环输出1~10之间的整数,当输出到5时跳出循环:

for (int i = 1; i <= 10; i++)
{
    if (i == 5)
    {
        break;
    }
    printf("%d ", i);
}

continue语句

continue语句用于结束本次循环,直接进入下一次循环。

例如,下面的代码将循环输出1~10之间的奇数,使用了continue语句:

for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue;
    }
    printf("%d ", i);
}

goto语句

goto语句用于无条件地转移到指定标签的位置。

例如,下面的代码使用了goto语句:

int a = 1;
if (a == 1)
{
    goto ERROR;
}
printf("不会执行");
ERROR:
printf("执行到了ERROR标签");
结语

回路和控制结构是C语言中非常重要的语法特性,掌握了这些语法,才能写出更加优秀的程序。