黑马程序员——C基础——流程控制

-----------android培训java培训、java学习型技术博客、期待与您交流!------------

C语言的流程控制分为三种,分别是顺序结构、选择结构和循环结构。

顺序结构就是按照语句的顺序执行的,这是最简单的流程控制,也是最基本的流程控制,也是程序的基础。

选择结构分为if语句和switch语句,循环结构分为while循环、do while循环和for循环三种。

我们先来学习if语句:

if语句是用来判断条件是否成立的,它有两种形式,第一种形式:

#include <stdio.h>

int main()
{
    int a = 3, b = 4, t;
    // if语句,用来判断条件是否成立,成立则执行if语句的主体,否则不执行
    if(a > b)
    {
        t = a;
        a = b;
        b = t;
    }
    printf("a = %d, b = %d\n", a, b);
    
    return 0;
}

这种形式仅有一个if语句。if后面的小括号内的的条件成立的话就执行if语句的主体,不成立的话就跳过。

if语句的第二种形式:

if(条件1)
    {
        语句1;
    }
    else if(条件2)
    {
        语句2;
    }
    else
    {
        语句3;
    }

第二种形式是对第一种形式的扩充,可以用来进行多个选择的判断,其中else if语句可以有多个。

下面学习的是switch语句。

switch语句的形式如下:

switch (数值)
    {
        case 数值1: 语句1; break;
        case 数值2: 语句2; break;
        ...
        case 数值n: 语句n; break;
        default: 语句n+1; break;
    }

switch后面的小括号内的数值就是用来判断主体内的哪个语句执行的,它与哪个case后面的数值相等就从哪里开始执行。如果它没有找到与它的值相等的case后面的数值,它就会执行default后面的语句。break则是用来跳出switch语句的主体的,如果没有break的话,它会从进入主体的的那个case语句开始按顺序一直执行。

下面就是流程控制的循环结构的学习。我们先来学习第一种,while循环。

我们先来写一个列子:

#include <stdio.h>

int main()
{
    int i = 5, j = 1;
    
    while (i > 0)
    {
        printf("第%d次循环\n", j);
        j++;
        i--;
    }
    
    return 0;
}

while循环是用来判断它后面的条件是否成立,成立的话就执行循环体,循环体执行完后接着再判断条件是否成立,成立的话就接着执行,一直执行到条件不成立才退出循环。上面的例子的输出结果是:

1次循环

2次循环

3次循环

4次循环

5次循环

可以看出循环体一共执行了五次。


第二种循环结构:do while循环

do while循环和while循环类似,不同的是while循环是先执行循环体再判断条件是否成立。do while的格式如下:

do
    {
        循环体;
    }while (条件);

先执行一次循环体后再判断条件是否成立,成立的话接着执行循环体,不成立的话退出循环体。


第三种循环结构:for循环

for循环的格式如下:

for (语句1;条件;语句2)
    {
        循环体
    }

它与while循环的不同之处就是while循环把引导循环发生的语句放在了循环体内,for循环则是把引导循环发生的语句放到了后面的判断语句内。

for循环的判断顺序是:先执行语句1,然后判断条件是否成立,成立的话执行循环体,接着执行语句2,然后判断条件,条件成立执行循环体,然后再执行语句2,等等。也就是说语句1只被执行一次,有时候语句1和语句2都可以省略(这时我们只是把它们放在了别的地方,而不是真正的省略)。

我们通过一个例子来学习for循环:

#include <stdio.h>

int main()
{
    for (int i = 0;i <= 5; i++)
    {
        printf("第%d次循环\n", i+1);
    }
}

根据上面讲述的for循环的知识,我们可以知道上面的代码中的循环体一共执行了6次。

最后我们再来说一下循环中break和continue的用法。

break顾名思义是用来打破某个东西的,那么在循环中它是打破什么的呢?它就是用来打破循环的,也就是跳出循环,我们可以在循环体中写上一个break用来终止循环。

continue是用来干什么的呢?continue就是用来跳过当前循环进入下一次循环的。它和break都是用来打破循环的,不过break是打破所有的循环,而continue是打破当前的循环的,这一点要注意。

以上就是简单的流程控制的介绍,流程控制在我们的程序开发中是非常常见的,这一块要好好学习。


总结:

1、流程控制分为三种,顺序结构、选择结构和循环结构。

2、选择结构有两种,一种是if,另一种是switch。

3、循环结构有三种,分别是while、do while和for循环。








weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据类型需要和JavaBean类中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值