C语言分支与循环结构

目录

什么是语句

什么是分支结构

if- else

switch-case

什么是循环结构

while

do .... while

for


什么是语句

        在C语言中,有许多语句,可分为:

1控制语句
2函数调用语句
3表达式语句
4空语句
5复合语句

而在本篇中,会说明其中的控制语句

什么是分支结构

 分支结构是编程中的一种逻辑结构,它允许程序在满足特定条件时选择不同的执行路径。这种结构通常包括一个条件测试和一个或多个代码块,每个代码块表示可能的执行路径。

在编程中,分支结构通常用于处理不确定性,比如用户输入的选择、系统状态的判断等。例如,如果用户选择“是”,程序将执行一个代码块;如果用户选择“否”,程序将执行另一个代码块。

分支结构的常见形式包括“if-else”结构和“switch-case”结构。

if- else

其语法构成为:

//单分支
if (表达式)
    语句1;

//双分支
if (表达式)
    语句1;
else
    语句2;

//多分支
if (表达式)
    语句1;
else if (表达式)
    语句2;
else
    语句3;

//例子

#include <stdio.h>
int main()
{
    int another_num = 0;
    int num = 0;
    
    scanf("%d %d",&another_num,&num);
    if (another_num > num)
        printf("well you win");
    else if (another_num < num)
        printf("haha,i win");
    else
        printf("wow");

    return 0;
}

    在if的表达式中,当内部的表达式为真时则执行if下的语句
    如若为假,则执行else的语句
    在多分支语句中,在if判断后在else if 判断后为真则执行语句,否则就执行else1的语句
    在C语言中 0 为假 非 0 为真

switch-case

switch常用于多分支结构,例如如果我们需要实现输入1-10其中一个值时,输出他们的中文,使用if - else if - else 来写过于复杂,这时候就可以使用switch语句来实现我们所需要解决的问题

其基本语法构成为:
switch(整型表达式)
{
    case 整型常量表达式: 
    语句;    
}

但一般情况下,会搭配break语句,只有跟break语句一起使用才会有if - else if - else 的作用

如例子:
#include <stdio.h>
int main()
{
    int num;
    scanf("%d",&num);
    switch(num)
   {
        case 1:
            printf("一\n");
            break;
        case 2:
            printf("二\n");
            break;
        case 3:
            printf("三\n");
            break;    
        case 4:
            printf("四\n");
            break;    
        case 5:
            printf("五\n");
            break;
        case 6:
            printf("六\n");
            break;
        case 7:
            printf("七\n");    
            break;
   }
    return 0;
}

break语句也可以根据需求而改变

随后便是default语句,它的作用等于else,当case的值无法匹配的时,就会匹配default语句

如例子:
#include <stdio.h>
int main()
{
    int num;
    scanf("%d",&num);
    switch(num)
   {
        case 1:
            printf("一\n");
            break;
        case 2:
            printf("二\n");
            break;
        case 3:
            printf("三\n");
            break;    
        case 4:
            printf("四\n");
            break;    
        case 5:
            printf("五\n");
            break;
        case 6:
            printf("六\n");
            break;
        case 7:
            printf("七\n");    
            break;
        default:
            printf("输入错误!");
            break;
   }
    return 0;
}

什么是循环结构

 循环结构是编程中的一种逻辑结构,它允许程序反复执行一段代码,直到满足特定的条件为止。这种结构通常包括一个条件测试和一个代码块,条件测试用于判断是否继续循环,代码块表示每次循环时需要执行的代码。

在编程中,循环结构通常用于处理重复性任务,比如读取一系列的数据、计算某个数的阶乘等。循环结构可以提高代码的效率,避免重复编写相同的代码。

循环结构的常见形式包括“for”循环、“while”循环、“do-while”循环等。 

while

 while循环是编程中使用的一种控制流语句,它基于一个条件进行循环,只要条件为真,循环体内的代码块就会一直执行。

while循环的基本结构如下:

while(condition)
{
    执行语句;
}

在这个结构中,condition 是一个逻辑表达式,它返回 True 或 False。当 condition 为 True 时,循环体内的代码块将执行。执行完后,程序将再次检查 condition`的值。如果 condition`仍然为真,代码块将继续执行。这个过程会一直持续下去,直到 condition`变为 False,此时循环将终止。

下面是一个例子,展示了一个 while 循环,它打印数字,直到打印了 5 个数字为止:

#include <stdio.h>
int main()
{
    int i = 1;
    while(i < 5){
        printf("%d",i);
        i++;
    }

    return 0;
}

这个循环将打印出:
0
1
2
3
4

在编写 while循环时,可以使用break和continue语句来结束或跳过循环,但必须确保循环条件最终会变为 False,以避免无限循环,。 

do .... while

 do...while是一种循环结构,它在编程中用于执行至少一次代码块,然后检查一个条件。与while循环不同,do...while循环至少会执行一次代码块,即使条件一开始就不满足。

do...while循环的基本结构如下:

do {
    condition;
    }
while(表达式);

在这个结构中,代码块会先执行一次,然后检查condition。如果condition为真,代码块会再次执行。这个过程会一直持续下去,只要condition为真。

下面是一个简单的例子,展示了一个do...while循环,它打印数字,直到打印了 5 个数字为止:

#include <stdio.h>
int main()
{
    int i = 0;
    
    do{
        printf("%d",i);
        i++;
    }while(i < 5)      

    return 0;
}

这个循环将打印出:
0
1
2
3
4

for

 在C语言中,for循环是一种控制语句,用于多次执行一段代码,直到满足某个条件为止。for循环通常用于处理已知迭代次数的情况。

for循环的基本结构如下:

在这里:

初始化语句,用于设置循环变量。
循环条件,用于判断是否继续循环。
循环变量的更新语句,通常在每次循环体执行完毕后执行,用于更新循环变量的值。
代码块是要在每次循环中执行的内容。

for循环会不断重复执行代码块,直到循环条件表达式为 False`时停止。在每次循环开始之前,都会执行循环变量的更新语句和 循环条件检查,然后执行代码块。代码块执行完毕后,循环变量的更新语句表达式会被执行,然后再次检查循环条件。这个过程会一直持续下去,直到循环条件 为 False`时停止。

下面是一个简单的例子,展示了如何使用 `for` 循环来打印数字 1 到 5:
 

#include <stdio.h>
int main() {
    int i;
    for (i = 1; i <= 5; i++) {
        printf("%d\n", i);
    }
    return 0;
}

这个程序会打印出:
1
2
3
4
5

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值