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

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

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;
}

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

相关文章
|
5月前
|
C++
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
|
6月前
|
机器学习/深度学习 程序员 编译器
c语言从入门到实战——分支和循环
C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实 现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。 我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。
102 0
c语言从入门到实战——分支和循环
|
6月前
|
机器学习/深度学习 C语言
【C语言】分支循环第二章 1
【C语言】分支循环第二章
|
6月前
|
C语言
【C语言】分支循环第二章2
【C语言】分支循环第二章
|
C语言
分支和循环习题以及知识点
分支和循环习题以及知识点
|
C语言
第四章:C语言的分支与循环
说起分支与循环呀,其实生活中充满着分支与循环,比如说当我们面临一个问题与抉择时,我们会选择,会做出规律性的生活方式。人生处处有选择,会有不同的道路,选择自己合适的道路,并保持下去。而C语言也有相关的分支与循环,如 if,if-else,switch,for循环,while循环,do-while循环,今天我们所要讲的是C语言:分支与循环。
52 0
|
C++
C++ Primer Plus 第六章答案 分支语句和逻辑运算符
只有聪明人才能看见的摘要~( ̄▽ ̄~)~
75 0
|
编译器 C语言
『C语言从入门到进阶』第 ① 期 - 分支语句
『C语言从入门到进阶』第 ① 期 - 分支语句
93 0
|
编译器 C语言 C++
0基础C语言自学教程——第三节 分支与循环
需要指出的是,在这里,笔者只是建议,具体的如果写成第二种明显更好的或者有写第二种的需求的当然以更好的方式以及需求优先。
86 0
0基础C语言自学教程——第三节 分支与循环
|
程序员 编译器 C语言
C语言从入门到精通(第二期分支和循环)
C语言从入门到精通(第二期分支和循环)
C语言从入门到精通(第二期分支和循环)