⭐️ 关键字深度剖析 ⭐️第四章(分支和循环关键字)(二)

简介: 本文主要讲解:分支语句循环语句

switch case 组合


语法结构

switch(整型变量/常量/整型表达式){
    case var1:
        break;
    case var2:
        break;
    case var3:
        break;
    default:
        break;
}


switch语句也是一种分支语句,常常用于多分支的情况

这种多分支,一般指的是很多分支,而且判定条件主要以整型为主

  • 多分支
//如
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;
    default:
        printf("bug!\n");
        break;
}

case的作用:本质是进行判定功能

break在switch中的作用:break本质其实是进行分支功能

case之后,如果没有break,则会依次执行后续有效语句,直到碰到break跳出

  • 多个不同case执行同一个语句


int main()
{
    int day = 6;
    switch (day)
    {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("周内\n");
            break;
        case 6:
        case 7:
            printf("周末\n");
            break;
        default:
            printf("bug!\n");
            break;
    }
    return 0;
}

case后面的值的要求

switch(m) && case n
//其中m 和 n必须是什么类型变量或者表达式?      整型变量/常量/整型表达式
//case 语句后面是否可以是const修饰的只读变量呢?   不行,const修饰后为常变量但本质还是变量

default语句

default可以出现在switch内的任何部分

结论:尽管如此,我们依旧强烈推荐default应该放在case语句的最后

循环语句

三种循环


语法结构

  • while
//while
条件初始化
while(条件判定){
//业务更新
条件更新
}
  • for
1. //for
2. for(条件初始化; 条件判定; 条件更新){
3. //业务代码
4. }
  • do while

三种循环对应死循环写法

1. while(1){
2. }
3. for(;;){
4. }
5. do{
6. }while(1);

break&continue在循环中的应用

int main()
{
while (1){
char c = getchar(); //获取字符//输入abcd#1234
if ('#' == c){
break;
}
printf("echo: %c\n", c);
}
system("pause");
return 0;
}
//测试用例1:break:终端输除abcd
//测试用例2:continue:终端输入abcd1234

break:跳出循环(结束循环)

continue:结束本次(一次)循环

  • 注意区别:

在while或do while语句中,遇到continue跳到条件判定

在for语句中,遇到continue跳到条件更新(调整),再进行条件判定

循环语句注意点

  1. 推荐外小内大(例如双循环遍历),一般效率是会高一些,但是差别不会特别大, 实际测试的时候,出现效率现象出现反直觉现象,也不要意外
  2. 推荐条件判定使用开区间,循环次数明确,便于进行个数计算

goto实现循环


  • 例如
int main()
{
    int i = 0;
START:
    printf("[%d]goto running ... \n", i);
    ++i;
    if (i < 10){
        goto START;
    }
    printf("goto end ... \n");
    return 0;
}

一般禁用,避免破坏代码,不过有需要还是必须会用

相关文章
|
9月前
|
程序员 C语言
【C语言初阶】分支语句If与switch的具体用法,有这篇博客就够了
【C语言初阶】分支语句If与switch的具体用法,有这篇博客就够了
129 0
|
10月前
|
C语言
第四章:C语言的分支与循环
说起分支与循环呀,其实生活中充满着分支与循环,比如说当我们面临一个问题与抉择时,我们会选择,会做出规律性的生活方式。人生处处有选择,会有不同的道路,选择自己合适的道路,并保持下去。而C语言也有相关的分支与循环,如 if,if-else,switch,for循环,while循环,do-while循环,今天我们所要讲的是C语言:分支与循环。
39 0
|
10月前
|
C++
C++ Primer Plus 第六章答案 分支语句和逻辑运算符
只有聪明人才能看见的摘要~( ̄▽ ̄~)~
53 0
|
存储 自然语言处理 C语言
C++ Primer Plus 第6版 读书笔记(5)第5章 循环和关系表达式
如本章前面所述,for 循环是一种处理数组的工具。下面进一步讨论如何使用嵌套 for 循环中来处理二 维数组。首先,介绍一下什么是二维数组。到目前为止,本章使用的数组都是一维数组,因为每个数组都可以看作是一行数据。二维数组更像是一个表格—既有数据行又有数据列。例如,可以用二维数组来表示 6 个不同地区每季度的销售额,每一个地区占一行数据。也可以用二维数组来表示 RoboDork 在计算机游戏板上的位置。
101 0
|
编译器 C语言
『C语言从入门到进阶』第 ① 期 - 分支语句
『C语言从入门到进阶』第 ① 期 - 分支语句
61 0
|
编译器 C语言
【C语言课堂】 分支和循环语句 详讲,详讲,详讲 !
【C语言课堂】 分支和循环语句 详讲,详讲,详讲 !
46 0
【C语言课堂】 分支和循环语句 详讲,详讲,详讲 !
|
编译器 C语言 C++
0基础C语言自学教程——第三节 分支与循环
需要指出的是,在这里,笔者只是建议,具体的如果写成第二种明显更好的或者有写第二种的需求的当然以更好的方式以及需求优先。
73 0
0基础C语言自学教程——第三节 分支与循环
|
Python 容器
吃透Python函数进阶嵌套等知识点
吃透Python函数进阶嵌套等知识点
(分支语句与循环语句p1) C语言从入门到入土(入门篇)(二)
分支语句和循环语句 1. 什么是语句? 2. 分支语句(选择结构) 2.1 if语句 2.1.1 悬空else 2.1.2 if书写形式的对比 2.1.3 练习 2.2 switch语句 2.2.1 在switch语句中的 break 2.2.2 default子句 2.2.3 练习 3. 循环语句 3.1 while循环 3.1.1 while语句中的break和continue
(分支语句与循环语句p1) C语言从入门到入土(入门篇)(二)