控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。
九种控制语句统称为流程控制语句。它们用于控制程序的执行流程,包括条件判断、循环、跳转等操作。常见的流程控制语句有if语句、switch语句、for循环、while循环、do-while循环、break语句、continue语句和return语句。这些语句可以相互嵌套使用,以实现复杂的程序逻辑。
可分成以下三类语句: 1.条件判断语句也叫分支语句: if语句、switch语句; 2.循环执行语句: do while语句、while语句、for语句; 3.转向语句: break语句、goto语句、continue语句、return语句。
do-while语句、while语句和for语句在C语言中的用法如下:
代码语言:javascript复制//do-while语句、while语句和for语句在C语言中的用法如下:
//1. do-while语句:
#include <stdio.h>
int main() {
int i = 0;
do {
printf("%d ", i);
i ;
} while (i < 5);
return 0;
}
//2. while语句:
#include <stdio.h>
int main() {
int i = 0;
while (i < 5) {
printf("%d ", i);
i ;
}
return 0;
}
//3. for语句:
#include <stdio.h>
int main() {
for (int i = 0; i < 5; i ) {
printf("%d ", i);
}
return 0;
}
continue:是用于跳过本次循环的continue后边的代码,直接去判断部分,看是否进行下一次判断在C语言中,continue语句通常与for循环一起使用。当程序执行到continue语句时,它会跳过当前循环体中的余下部分,并立即开始下一次循环。
下面是一个使用continue语句的例子:
代码语言:javascript复制#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i ) {
if (i == 5) {
continue; // 当i等于5时,跳过本次循环的余下部分,直接进行下一次循环
}
printf("%dn", i); // 打印出0到9的数字,但不包括5
}
return 0;
}
在这个例子中,当i等于5时,程序会执行continue语句,跳过当前循环体的余下部分(即printf语句),然后立即开始下一次循环。因此,输出结果为0到4的数字,不包括5。
break:在C语言中,break语句通常用于跳出当前循环结构。当程序执行到break语句时,它会立即结束当前循环,不再执行循环体中的余下部分。
下面是一个使用break语句的例子
代码语言:javascript复制#include <stdio.h>
int main() {
int i;
for (i = 0; i < 10; i ) {
if (i == 5) {
break; // 当i等于5时,跳出当前循环,不再执行循环体中的余下部分
}
printf("%dn", i); // 打印出0到4的数字,但不包括5
}
return 0;
}
在这个例子中,当i等于5时,程序会执行break语句,跳出当前for循环,不再执行循环体中的余下部分(即printf语句)。因此,输出结果为0到4的数字,不包括5。
goto:goto语句只能在本函数内跳转,在C语言中,goto语句用于无条件跳转到程序中的某个标签处。它通常与if语句一起使用,以便在满足某个条件时跳过一段代码。下面是一个使用goto语句的例子:
代码语言:javascript复制#include <stdio.h>
int main() {
int num = 5;
if (num > 10) {
goto end; // 如果num大于10,跳转到end标签处
}
printf("num小于等于10n");
end:
printf("这是end标签处n");
return 0;
}
在这个例子中,当num大于10时,程序会执行goto语句,跳转到end标签处,然后继续执行后面的代码。如果num小于等于10,程序将正常执行并输出"num小于等于10"。
switch语句在C语言中的用法如下:
switch语句是一种多分支选择结构,它根据一个表达式的值来选择执行不同的代码块。switch语句的语法如下:
代码语言:javascript复制switch (expression) {
case constant-expression:
// 语句块1
break;
case constant-expression:
// 语句块2
break;
...
default:
// 默认语句块
}
其中,expression是一个整数或字符型变量,用于与case后面的常量表达式进行比较;case后面的常量表达式必须是整型或字符型常量,不能是变量或表达式;每个case后面的语句块可以包含多个语句,但必须以break语句结束;default语句块是可选的,用于处理没有匹配到任何case的情况。
switch语句的执行过程如下:首先计算expression的值,然后依次与case后面的常量表达式进行比较,如果匹配成功,则执行对应的语句块,直到遇到break语句或switch语句结束;如果没有匹配到任何case,则执行default语句块(如果有的话)。
代码语言:javascript复制#include <stdio.h>
int main() {
int num;
printf("请输入一个整数(1-3):");
scanf("%d", &num);
switch (num) {
case 1:
printf("你输入的是1
");
break;
case 2:
printf("你输入的是2
");
break;
case 3:
printf("你输入的是3
");
break;
default:
printf("你输入的不在1-3之间
");
}
return 0;
}
好好学习,多坚持一天,结果会不同,加油各位!!