0
点赞
收藏
分享

微信扫一扫

分支与循环语句(C语言)

陬者 2022-04-16 阅读 86
c语言

1.if语句

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

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
    {
        if(b == 2)
        {
            printf("hehe\n");
        }
    }
    else
    {
        printf("haha\n");
    }
    return 0;
}

2.switch语句

 switch(整型表达式)
{
        语句项;break;//跳出循环
}

#include <stdio.h>
int main()
{
    int day = 0;
    switch(day)
    {
        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;
}

3.default子句


如果表达的值与所有的case标签的值都不匹配怎么办?
其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为是个错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签
default:
写在任何一个 case 标签可以出现的位置。
当 switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个case标签一样执行default子句。


4.while循环

 while(表达式)
循环语句;

比如我们实现:在屏幕上打印1-10的数字。
上面的代码已经帮我了解了 while 语句的基本语法,那我们再了解一下:

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

下面一起来感受一下break;

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

结果为:1 2 3 4

其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环。
所以:while中的break是用于永久终止循环的。

再来感受一下continue:

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

结果为:1 2 3 4 6 7 8 9

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,
而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

 

5.for循环 

 for(表达式1; 表达式2; 表达式3)
循环语句;


表达式1为初始化部分,用于初始化循环变量的。
表达式2为条件判断部分,用于判断循环时候终止。
表达式3为调整部分,用于循环条件的调整。

使用for循环 在屏幕上打印1-10的数字。


#include <stdio.h>
int main()
{
    int i = 0;
    for(i=1; i<=10; i++)//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
    {
        printf("%d ", i);
    }
    return 0;
}

结果为:1 2 3 4 5 6 7 8 9 10
 

5.do...while()循环
 

do
循环语句;
while(表达式);  

循环至少执行一次,使用的场景有限,所以不是经常使用
#include <stdio.h>
int main()
{
        int i = 10;
        do
        {
                printf("%d\n", i);
        }while(i<10);
        return 0;
}

 

 

 

举报

相关推荐

0 条评论