📅  最后修改于: 2023-12-03 15:29:43.556000             🧑  作者: Mango
在C语言中,我们常常需要使用回路和控制结构来控制程序的执行流程,使程序能够按照我们的要求执行相应的操作。本文将介绍C语言中常用的回路和控制结构及其使用方法。
C语言中有两种类型的回路结构,即for
循环和while
循环。这两种循环结构的作用相同,都是让程序在满足条件的前提下重复执行一段代码。
for循环的语法格式如下:
for (初始化表达式; 条件表达式; 循环后表达式)
{
// 代码块
}
其中,初始化表达式只在循环开始时执行一次,用于初始化循环控制变量;条件表达式在每次循环开始前都会被检查,满足条件时继续循环,不满足时跳出循环;循环后表达式在每次循环结束后被执行,通常用于更新循环控制变量的值。
例如,下面的代码将循环输出1~10之间的整数:
for (int i = 1; i <= 10; i++)
{
printf("%d ", i);
}
while循环的语法格式如下:
while (条件表达式)
{
// 代码块
}
其中,条件表达式与for循环的条件表达式作用相同,满足条件继续循环,不满足时跳出循环。
例如,下面的代码将循环输出1~10之间的整数:
int i = 1;
while (i <= 10)
{
printf("%d ", i);
i++;
}
C语言中常用的控制结构有条件语句和跳转语句。
C语言中的条件语句有if
语句和switch
语句。
if语句的语法格式如下:
if (条件表达式)
{
// 代码块1
}
else
{
// 代码块2
}
其中,如果条件表达式为真,则执行代码块1,否则执行代码块2。
例如,下面的代码将输出正数、零或负数:
int n = 10;
if (n > 0)
{
printf("正数");
}
else if (n == 0)
{
printf("零");
}
else
{
printf("负数");
}
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语言中的跳转语句有break
、continue
和goto
语句。
break语句用于终止循环或switch语句的执行。
例如,下面的代码将循环输出1~10之间的整数,当输出到5时跳出循环:
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
break;
}
printf("%d ", i);
}
continue语句用于结束本次循环,直接进入下一次循环。
例如,下面的代码将循环输出1~10之间的奇数,使用了continue语句:
for (int i = 1; i <= 10; i++)
{
if (i % 2 == 0)
{
continue;
}
printf("%d ", i);
}
goto语句用于无条件地转移到指定标签的位置。
例如,下面的代码使用了goto语句:
int a = 1;
if (a == 1)
{
goto ERROR;
}
printf("不会执行");
ERROR:
printf("执行到了ERROR标签");
回路和控制结构是C语言中非常重要的语法特性,掌握了这些语法,才能写出更加优秀的程序。