一文读懂C语言选择语句 您所在的位置:网站首页 C语言输出语句ppt 一文读懂C语言选择语句

一文读懂C语言选择语句

2024-07-01 23:10| 来源: 网络整理| 查看: 265

文章目录 前言一、if...else 选择语句详解1.图示 if...else 流程2. if...else 代码流程3. if...else 的三种情况3.1 if语句3.2 if...else 语句3.3 if...else if...else 语句 4.代码示例 二、三目运算符(? :)详解三、switch...case 选择语句详解1. 图示 switch...case 流程2. switch...case 代码流程3. 代码示例

前言

       选择语句是C语言中的重要组成部分,该部分也比较基础,本文将通过最通俗易懂的方式来为大家做出讲解。相信通过本文的学习,让大家一举拿下C语言选择语句的知识点。

一、if…else 选择语句详解 1.图示 if…else 流程

在这里插入图片描述         用图示来表示 if…else 语句其实就是当条件为真的时候执行某一部分的内容,当条件为假的时候就跳过这部分的内容接着往下执行。

2. if…else 代码流程 if (表达式) { 语句块1; } else { 语句块2; }

        if…else语句最常见的流程就是上面这样。当表达式为真的时候执行语句块1的内容,当表达式为假的时候执行语句块2的内容。那么可能有些人就会问了,表达式什么样才是真,什么样才是假?回答这个问题很简单,只要表达式的结果为0,那么表达式就是假,其余情况都是真。

3. if…else 的三种情况 3.1 if语句 if (表达式) { 语句块1; }

当只有 if 的时候,表达式为真就执行语句块1,否则就跳过语句块的内容。

3.2 if…else 语句 if (表达式) { 语句块1; } else { 语句块2; }

当 if…else 的时候,表达式为真就执行语句块1,表达式为假就执行语句块2。

3.3 if…else if…else 语句 if (表达式1) { 语句块1; } else if(表达式2) { 语句块2; } else { 语句块3; }

       当表达式1为真的时候就只执行语句块1的内容,其余语句块不执行。当表达式1为假并且表达式2为真的时候就只执行语句块2的内容,其余语句块不执行。当表达式1和表达式2都为假的时候执行语句块3的内容,其余语句块不执行。在这种情况下,else if是可以无限加的,并不是只能有一个else if。        需要注意的是else不可以单独出现,if可以单独出现,并且else总是和它同级的那个if 相匹配。

4.代码示例

源代码:

#include int main() { int scores = 0; printf("Please enter student scores: "); scanf("%d", &scores); if (scores printf("Underachievement!\n"); } else if (scores printf("perfect grade!\n"); } else { printf("input error\n"); } return 0; } 二、三目运算符(? :)详解 表达式1 ? 表达式2 : 表达式3

三目运算符是一个运算符,并且C语言中有且只有一个三目运算符。使用三目运算符可以用来代替 if…else 语句。上面三目运算符的流程为,如果表达式1为真,则将表达式2的结果作为最终运算结果,否则就将表达式3的结果作为最终运算结果。举例例子具体说明下: 源代码:

#include int main() { int a = 0, b = 0, max = 0; printf("请输入两个数: "); scanf("%d%d", &a, &b); max = a > b ? a : b; printf("两数中较大的数是: %d", max); return 0; } 三、switch…case 选择语句详解 1. 图示 switch…case 流程

在这里插入图片描述        switch…case语句就是,如果表达式1的 结果和下面的表达中任意一个表达式相等,就执行对应的代码块的内容,而其余代码块中的内容不会被执行。

2. switch…case 代码流程 switch(表达式1) { case 表达式2: 语句块2; break; case 表达式3: 语句块3; break; case 表达式4: 语句块4; break; …… default: 语句块n; break; }

       switch…case语句在代码中的流程一般如上所示。其中表达式1的结果一般是整形常量或字符常量。当表达式的结果和 case 后面的表达式结果一致时,就会执行对应的语句块的内容,否则,就会进入default中,执行语句块n 。然后在break的时候跳出大括号的内容。 在使用 switch…case 语句时有两点需要大家特别注意。

如果语句块后面没有break,那么程序就会继续执行下面的内容,直到遇到下一个break或后面没有内容时而退出。比方说,表达式1和表达式3的结果相同,程序就会执行语句块3的内容,如果有上面的break,switch…case 语句到此结束,直接跳出 switch 大括号中的所有内容。但是如果这个没有break,那么程序执行完语句块3后还会接着执行语句块4,直到遇到 break 或 switch 大括号后面没有内容而退出。在 switch…case 语句中,default 和 case 的位置没有关系,编译器都会先找 case,等 case 不满足条件之后才会找 default。因为一些常规和标准的写法 default 都会在最后面,但是在面试笔试中为了考察大家对于 switch…case 语句的掌握程度,会将 default 写在开头或中间,所以这个时候大家就要特别注意了。 3. 代码示例 #include int main() { int scores = 0; char grade = 'Z'; printf("Please enter student scores: "); scanf("%d", &scores); if (scores grade = 'C'; } else if (scores grade = 'A'; } else { printf("input error\n"); } switch(grade) { case 'A': printf("perfect grade!\n"); break; case 'B': printf("academically qualified!\n"); break; case 'C': printf("Underachievement!\n"); break; default: printf("input error\n"); break; } return 0; }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有