C语言中的循环和选择结构

本文详细介绍了C语言中的循环结构(包括for、while和switch),以及continue和break语句的用法。通过实例演示了如何使用这些结构来实现特定功能,如计算最大公约数和判断闰年。
摘要由CSDN通过智能技术生成

本篇为大家介绍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;
}

以上为本文的全部内容,若有不足,请各位指出

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值