控制语句用于控制程序的执行流程,以实现程序的各种结构方式(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语言中的用法如下:
//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语句的例子:
#include <stdio.h> int main() { int i; for (i = 0; i < 10; i++) { if (i == 5) { continue; // 当i等于5时,跳过本次循环的余下部分,直接进行下一次循环 } printf("%d\n", i); // 打印出0到9的数字,但不包括5 } return 0; }
在这个例子中,当i等于5时,程序会执行continue语句,跳过当前循环体的余下部分(即printf语句),然后立即开始下一次循环。因此,输出结果为0到4的数字,不包括5。
break:在C语言中,break语句通常用于跳出当前循环结构。当程序执行到break语句时,它会立即结束当前循环,不再执行循环体中的余下部分。
下面是一个使用break语句的例子
#include <stdio.h> int main() { int i; for (i = 0; i < 10; i++) { if (i == 5) { break; // 当i等于5时,跳出当前循环,不再执行循环体中的余下部分 } printf("%d\n", i); // 打印出0到4的数字,但不包括5 } return 0; }
在这个例子中,当i等于5时,程序会执行break语句,跳出当前for循环,不再执行循环体中的余下部分(即printf语句)。因此,输出结果为0到4的数字,不包括5。
goto:goto语句只能在本函数内跳转,在C语言中,goto语句用于无条件跳转到程序中的某个标签处。它通常与if语句一起使用,以便在满足某个条件时跳过一段代码。下面是一个使用goto语句的例子:
#include <stdio.h> int main() { int num = 5; if (num > 10) { goto end; // 如果num大于10,跳转到end标签处 } printf("num小于等于10\n"); end: printf("这是end标签处\n"); return 0; }
在这个例子中,当num大于10时,程序会执行goto语句,跳转到end标签处,然后继续执行后面的代码。如果num小于等于10,程序将正常执行并输出"num小于等于10"。
switch语句在C语言中的用法如下:
switch语句是一种多分支选择结构,它根据一个表达式的值来选择执行不同的代码块。switch语句的语法如下:
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语句块(如果有的话)。
#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; }
好好学习,多坚持一天,结果会不同,加油各位!!