C语言:分支循环语句

目录

一.分支语句

1.if 语句:根据条件执行代码块

2.if-else语句:

3.if-else if-else语句:

4.switch语句:

二.循环语句

1.while循环:

2.do-while循环:

3.for循环:

三.循环控制语句 

1. break (立即终止当前循环)

2. continue (跳过本次循环剩余代码)

四.常见错误

1. 悬空else问题 

 2.switch穿透问题


C语言中,分支和循环是基本的控制结构,用于根据条件执行不同的代码路径,或者重复执行某段代码。

一.分支语句


1.if 语句:根据条件执行代码块

int score = 85;
if (score >= 60) {
    printf("及格\n");
}

2.if-else语句:

当条件为真时执行一个代码块,为假时执行另一个代码块。

int num = 7;
if (num % 2 == 0) {
    printf("偶数\n");
} else {
    printf("奇数\n");
}

3.if-else if-else语句:

用于在多个条件之间选择。

int temperature = 25;
if (temperature > 30) {
    printf("高温\n");
} else if (temperature > 20) {
    printf("舒适\n");  // 输出此项
} else {
    printf("低温\n");
}

4.switch语句:

用于根据变量的值选择要执行的代码块。

char grade = 'B';
switch (grade) {
    case 'A':
        printf("优秀\n");
        break;
    case 'B':
        printf("良好\n");  // 输出此项
        break;
    default:
        printf("其他\n");
}

二.循环语句


1.while循环:

当给定条件为真时,重复执行代码块。

int count = 0;
while (count < 5) {
    printf("%d ", count++);  // 输出:0 1 2 3 4
}

2.do-while循环:

至少执行一次代码块,然后当给定条件为真时重复执行。

int i = 10;
do {
    printf("%d ", i--);  // 输出:10 9 ... 0
} while (i >= 0);

3.for循环:

用于初始化表达式,然后检查条件,并在条件为真时重复执行代码块,改变初始值。

for (int i = 0; i < 5; i++) {
    printf("%d ", i);  // 输出:0 1 2 3 4
}

补充:可以使用for或while语句创建无限循环

       在编写分支和循环语句时,我们要确保代码块内的逻辑清晰,避免出现死循环(无限循环且没有出口),并确保所有可能的执行路径都有合理的退出点。 

三.循环控制语句 


1. break (立即终止当前循环)

for (int i = 0; i < 10; i++) {
    if (i == 5) break;
    printf("%d ", i);  // 输出:0 1 2 3 4
}

2. continue (跳过本次循环剩余代码)

for (int i = 0; i < 5; i++) {
    if (i == 2) continue;
    printf("%d ", i);  // 输出:0 1 3 4
}

四.常见错误


1. 悬空else问题 

if (a > 0)
    if (b > 0)
        printf("Both positive");
else  // 实际匹配最近的if(b>0)
    printf("Unexpected output");

 2.switch穿透问题

switch (n) {
    case 1:
        printf("1");
        // 缺少break
    case 2:
        printf("2");  // 当n=1时会输出"12"
        break;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值