【C语言—零基础第七课】顺序结构与选择结构

目录

 导入

顺序结构

选择结构

关系运算符

逻辑运算符

逻辑表达式

If条件语句

Switch条件语句


 导入

   人生都是按照顺序来的,没有彩排。从我们出生到我们上学、然后我们开始工作、结婚、生子迈向中年、老年最后我们和这个世界告别一步一步按照顺序来的一般不会出现刚出生就是老年人,C语言中的顺序结构也是如此。

人生是由许许多多的选择构成的,有些选择是我们主动的选择当然有些选择也是我们被迫做出的选择。你愿意也好不愿意也罢你都必须做出选择。例如:你为了出人头地在大城市买房子,你可以选择做

做生意来赚钱、你可以选择做程序员来赚钱、你也可以选择好好学习用自己的知识来赚钱、你也可以跑出租、送外卖、送快递只要不是违法的就可以。这就是我们这章的顺序结构中的选择结构。我想问你?你学习C语言也是的你自己主动做出的选择还是被迫做出的选择。

就如同人生一样,C程序中也存在着选择,C语言提供了两种选择语句。

If 和 switch

顺序结构

下面就是个顺序结构的代码,从上到下依次执行。

int a,b,c;
a=1;
b=2;
c=3;

选择结构

在学习选择结构之前我们需要了解以下C语言中的逻辑值

在C语言中非0当作正值,0当作假

关系运算符

>、<、==等于、!=不等于、>=、<=

成立则为真,不成立则为假

printf("%d",3 > 5);

结果 0

printf("%d",3 <5);

结果 1

逻辑运算符

!非 &&与 ||或

优先级 !>&&>||

结合性:!自左向右  &&||自右向左

逻辑表达式

&& 

0&&1=0    1&&0=0   0&&0=0  1&&1=0

||

0||1=1    1||0=1   0||0=0  1||1=0

!

!0=1   !1=0

printf("%d\n",!3);
    printf("%d\n", !0);
    printf("%d\n", -1&&0);
    printf("%d\n", -1 && 1);
    printf("%d\n", 5 && 0);
    printf("%d\n", -1 || 0);
    printf("%d\n", -1 || 1);
    printf("%d\n", 5 || 0);
    printf("%d\n", 0 || 0);

 结果 

0
1
0
1
0
1
1
1
0

If条件语句

单分支

格式:if(条件) {

语句;

}

if (5>2) {
        printf("吃饭");
    }

  结果 :吃饭


if (0>2) {
        printf("吃饭");
    }

  结果 :     

条件不成立

条件成立则执行语句块中的语句,不成立不执行

双分支

格式:if(条件) {

语句1;

}else{

语句2;

}

if (0>2) {
        printf("吃饭");
    }
    else {
        printf("睡觉");
    }

  结果 :睡觉

条件成立则执行语句块中的语句,条件不成立则执行else中的语句块

多分支

格式:if(条件) {

语句1;

}else if(){

语句2;

} else if(){

语句2;

} else if(){

语句n;

}

else{

}

int a = 2;
    if (a==0) {
        printf("吃饭");
    }
    else if(a == 1) {
        printf("睡觉");
    }
    else if (a == 2) {
        printf("写博客");
    }else{ printf("不写博客");
}

   结果 :写博客

根据判断条件成立执行那条语句

If语句可以省略else

Switch条件语句

格式:

switch(表达式){

case 常量1: 语句; (break;)

case 常量2: 语句;(break;)

case 常量n: 语句;(break;)

default:常量n+1 语句;

switch(表达式)表达式里边必须为字符型和整型表达式。

case 常量1、2、3等和default都是起标号作用的。

break;跳出switch代码块。

default:如果表达式判断case 常量全部都不满足则执行default中的语句。可以没有default,如果case 常量 没有与条件表单时相匹配的则跳出switch代码块。

先判断表达式中的值,是否等于case中的常量。如果等于则执行case 中的语句;执行完毕后看看是否右break语句有则结束,没有break则往下执行直到遇到break语句或者执行完毕switch代码块中的所有内容。

int a = 0;
    switch (a) {
    case 0: printf("零\n");
    case 1: printf("一\n");
    case 2: printf("二\n");
    case 3: printf("三\n");
    default: printf("其他\n");
    }

结果 :





其他

int a = 0;
    switch (a) {
    case 0: printf("零\n");break;
    case 1: printf("一\n");
    case 2: printf("二\n");
    case 3: printf("三\n");
    default: printf("其他\n");
    }

结果 :


 

int a = 0;
    switch (a) {
    case 0: printf("零\n");
    case 1: printf("一\n");
    case 2: printf("二\n");
    case 3: printf("三\n");break;
    default: printf("其他\n");

结果 :




int a = 5;
    switch (a) {
    case 0: printf("零\n");
    case 1: printf("一\n");
    case 2: printf("二\n");
    case 3: printf("三\n");
    default: printf("其他\n");
结果 :
其他
全部评论
这些都是最基本,最重要的
点赞 回复 分享
发布于 2022-08-25 22:36 陕西

相关推荐

11-03 18:50
门头沟学院 Java
迷茫的大四🐶:问就是马上到,一周五天,6个月以上,全国可飞
点赞 评论 收藏
分享
来,说点可能被同行“骂”的大实话。🙊当初接数字马力Offer时,朋友都说:“蚂蚁的“内包”公司?你想清楚啊!”但入职快一年后的今天,我反而对他有了不一样的看法!🔹&nbsp;是偏见?还是信息差!之前没入职之前外面都在说什么岗位低人一等这类。实际上:这种情况不可至否,不能保证每个团队都是其乐融融。但我在的部门以及我了解的周边同事都还是十分好相处的~和蚂蚁师兄师姐之间也经常开一些小玩笑。总之:身份是蚂蚁公司给的,地位是自己挣的(一个傲娇女孩的自述)。🔹&nbsp;待遇?玩的就是真实!试用期工资全额发!六点下班跑得快(早9晚6或者早10晚7,动态打卡),公积金顶格交。别听那些画饼的,到手的钱和下班的时间才是真的(都是牛马何必难为牛马)。🔹&nbsp;能不能学到技术?来了就“后悔”!我们拥有权限直通蚂蚁知识库,技术栈多到学不完。说“学不到东西”的人,来了可能后悔——后悔来晚了(哈哈哈哈,可以不学但是不能没有)!💥&nbsp;内推地址:https://app.mokahr.com/su/ueoyhg❗我的内推码:NTA6Nvs走我的内推,可以直达业务部门,面试流程更快速,进度可查!今天新放HC,之前挂过也能再战!秋招已经正式开始啦~机会就摆在这,敢不敢来试一试呢?(和我一样,做个勇敢的女孩)
下午吃泡馍:数字马力的薪资一般哇,5年经验的java/测试就给人一万出头,而且刚入职第三天就让人出差,而且是出半年
帮你内推|数字马力 校招
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务