本篇为大家介绍C语言中的循环与选择结构
循环结构:
循环语句中的通用语句并且只能用在循环中的语句:
continue语句:
直接在该continue处结束该次循环,并且进行下一次循环(未满足终止循环的条件时)或停止循环(满足终止循环的条件时)。
语法:
continue;
举例:
//for循环中的continue
for(int i=0;i<5;i++){
continue;
}
//while循环中的continue
int i=1;
while(i!=5){
break;
}
break语句:
直接在该break语句处直接跳出本层循环。
语法:
break;
举例:
//for循环中的break
for(int i=0;i<5;i++){
break;
}
//while循环中的break
while(i!=5){
break;
}
for循环
for循环是最常用的循环。
语法:
for(初始条件;循环条件;循环一次后的行动){
}
其中,不加大括号时,for循环默认下一句为循环语句中唯一一句执行的循环语句;
举例:求最大公约数:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
//定义函数将较小的数字变为num1
void small(int* num1, int* num2) {
if (num1 > num2) {
int tmp = &num2;
num2 = num1;
num1 = tmp;
}
}
int main() {
//定义俩数字用于存放输入的数字
int num1, num2;
//输入数字
scanf("%d %d", &num1, &num2);
//所以函数small
small(&num1, &num2);
//循环寻找最大公约数
for (int i = num1; i != 1; i--) {
//判断是否是最大公约数
if (num2 % i == num1 % i && num1 % i == 0) {
//输出最大公约数
printf("%d", i);
//跳出循环
break;
}
}
return 0;
}
while循环
while循环是比较常用的循环语句,当你不知道循环的具体次数时,使用while循环是最好的选择。
同时,while循环中需要设定一条语句用于改变一个变量,使while避免成为死循环,如下面寻找闰年中的year++,使yaer这一循环条件变量改变,从而避免了死循环。
语法:
while(循环的条件){
}
同时,while循环与for循环一样,当没有大括号{}时,默认下一行为唯一一行while循环的执行语句;
举例:while循环寻找闰年
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int year=1000;
//循环求闰年
while(year<2001) {
if ((year % 400 == 0 && year % 100 != 0) || (year % 4 == 0)) {
printf("%d ", year);
}
year++;
}
return 0;
}
选择结构:
switch选择语句:
switch选择语句也是常用的语句,但是当条件较多时,使用起来会比较麻烦,所以使用的不如while循环与for循环频繁
语法:
//该表达式必须是一个整型或枚举类型
switch(表达式){
//switch中可以有任意数量的case语句
//表达式的结果会自动跳转到与其相同的常量中
case 常量1:
语句1;
//一般case中的最后有break语句,用于停止下一个case的执行
//若没有break语句,则会自动执行下一个case
break;
case 常量2:
语句2;
break;
//deefault语句并非所有switch语句中都需要的
//当表达式的结果不满足所有case后的常量并且存在default时,会自动执行default后的语句
//当表达式的结果不满足所有case后的常量并且不存在default时,会自动跳过所有case
default:
语句3;
}
以上为本文的全部内容,若有不足,请各位指出