C语言分支与循环学习分享(一)

本文介绍了C语言中if、switch、for等基本控制结构,包括它们的含义、作用以及在解决实际问题中的应用,以初学者视角阐述了顺序结构、选择结构和循环结构的原理和实例。
摘要由CSDN通过智能技术生成

        在C语言的学习中,小白印象最深刻的可能就是if、switch、for等字符,那么这些字符都有着什么含义,在C语言中又有什么作用呢?不慌不慌,下面我会从一个小白的角度进行一一介绍。

        首先我们需要了解C语言程序实现的结构。由于C语言是用于处理日常工作需求的计算机语言,所以我们先来想想日常生活所面临的问题有哪些结构,举几个简单的例子:1.把苹果放进冰箱需要怎么做?2.被人询问今年的2月份有多少天。3.考试名单上序列1到序列50的人的名字分别是什么?三个问题,背后显现出的三个逻辑结构很简单,第一个问题只需要我们按照步骤把苹果放进去就行;而第二个问题则是需要我们考虑今年是不是闰年,依据判断结果来做决定;第三个问题则是重复的对比每个序号对应的名字。由此C语言创造了最基础的三个结构:顺序结构、选择结构和循环结构。

        顺序结构:顾名思义,就是按照事情发生的顺序输入,也是全局的结构,对于完成一件事来说需要几个步骤,规定好并把每个步骤的代码衔接上就能实现所需功能。

        选择结构:C语言中的选择结构语句主要是if、switch。

        其中if的使用十分常见,多用于判断一个条件满足下进行的操作,举个简单的例子,如下图:

int main(){
    int a = 0;
    printf("请输入一个正数:");
    scanf("%d", &a);
    if(a > 0){
        printf("您输入的值为:%d", a);
    }
    else{
        printf("您输入的值非正");
    }
    return 0;
}

在这里我希望输入一个正数并将其打印在屏幕上,如果不小心输入为0或者负数了就提醒我输入有误。在这个代码中我们不难看出,if语句起到了一个判断的作用,()中的表达式是成立的条件,即()内条件成立的话,if下面的{}内代码将会执行。(如果只需要一行代码可以不要{})并且if往往会和else搭配使用,else中文意思是其它,在上述代码中也就是(a > 0)之外的情况(a <= 0)。

        switch语句相比于if语句可以设置更多的分支选择,比如在星期几的选择上:

int main(){
    int i  = 0;
    printf("today is:");
    scanf("%d", &i);
    switch(i)
    {
    case 1:
        printf("周一");
        break;
    case 2:
        printf("周二");
        break;
    .
    .
    .
    }
    return 0;
}

如上述代码我们可以实现输入数字来打印出今天是周几的方式,但是switch语句同样有很多限制,比如说case后面的情况必须为int类型,并且不能识别表达式(如<、=、 > )等等。

        循环结构:C语言中的循环语句主要有for、while以及do while

        while循环的表达方式很简单:while(条件){内容},即满足()内的条件则会一直循环执行{}内的代码。如下图:

int main(){
    int n = 1;
    while(n < 5){
    printf("%d ", n);
    n++;
    }
    return 0;
}

如上述代码会在屏幕上打印出“1 2 3 4”,因为当第四次打印后n=5不满足()内条件,所以循环结束,跳出循环继续完成下面的代码。

        for循环的实现方式和while有些许区别,for循环的格式为for(初始化; 满足条件; 调整){内容},如果我想完成和上述while循环实现的同一件事情的话,可以如下图书写:

int main(){
    int n = 0;
    for(n = 1; n < 5; n++)
        printf("%d ", n);
    return 0;
}

两个循环语句都可以实现同一件事情,故而我们在写代码的时侯需要自行判断哪种方式能更快捷,逻辑更清晰的实现来选择循环语句。

        do while 则是一种先执行在判断要不要循环的结构,最简单的例子是游戏菜单的选项选择,如下图:

int main(){
    do
    {
        int n = 0;
        printf("******************\n");
        printf("******1.play******\n");
        printf("******0.exit******\n");
        printf("******************\n");
        scanf("%d", &n);
    }while(n);
    return 0;
}
    

图示代码会打印出一个菜单,根据菜单提示,你如果输入1,游戏开始,结束后由于n != 0所以循环继续,如果输入0则()内条件不满足,退出循环。

        以上就是初学者对于分支循环语句的一个初步理解,后续我还会继续与大家分享在学习这些语句中作为初学者的我总会碰到什么问题,以及循环的嵌套用法与举例。

        最后感谢大家观看,如果有不对的地方敬请指教,喜欢我分享的小伙伴也可以评论你们遇到的问题或者经验,大家一起在讨论中进步呀。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值