首页 > 其他分享 >chap 3多分支结构 学习总结 第九组

chap 3多分支结构 学习总结 第九组

时间:2022-10-13 16:23:59浏览次数:214  
标签:语句 case ... switch break chap 第九 表达式 分支

1. 分支结构的定义
1.1 什么是分支结构?

①. 对于要先做判断再选择的问题就要使用分支结构。

②. 分支结构的执行是依据一定的条件选择执行路径,而不是严格按照语句出现的顺序。

③. 分支结构的程序设计方法的关键在于构造合适的分支条件和分析程序流程,根据不同的程序流程选择适当的分支语句。

④. 分支结构适合于带有逻辑或关系比较等条件判断的计算,设计这类程序时往往都要先绘制其程序流程图,然后根据程序流程写出源程序,这样做把程序设计分析与语言分开,使得问题简单化,易于理解。

2.if else

多分支选择结构的语法格式如下:

    if 条件表达式 1 :

      语句 1/语句块 1

    else if 条件表达式 2:

      语句 2/语句块 2

    .

    .

    else if 条件表达式 n :

      语句 n/语句块n

    else:

      语句 n+1/语句块 n+1

    

  注:多分支结构,几个分支之间是有逻辑关系的,不能随意颠倒顺序。

3. if_else 流程图

 

4.三目运算符(三元运算符)

 

if 语句在某些情况下可以用条件运算符 “ ? : " 来简化表达。" ? : " 是一个三元运算符,其构成的表达式格式为:<表达式1> ? <表达式2> : <表达式3>;执行逻辑:先计算表达式1,若其值为真(或非0),则计算表达式2(不计算表达式3),并将该值作为整个表达式的值;反之,即表达式1的值为假或为0,则计算表达式3(不计算表达式2),并将该值作为整个表达式的值。

总结:if 语句嵌套时,要注意 if 和 else 的配对问题。注意,C 语言规定,else 总是与它前面最近的 if 配对,并且C语言条件判断中,切记不要出现数学表达式。例如 大于等于一般不能写成 ≥ ,要写成 >= ,不等于不能写成 ≠ ,必须写成 != 等 。

5.switch 结构:

 

①. switch 是另外一种选择结构的语句,用来替代简单的、拥有多分支的 if_else 语句。

 

②. switch 大多数情况下是进行判断选择的。以C语言来说,switch( 开关语句)常和 case break default 一起使用。

6.switch  结构的定义格式

switch (整型变量表达式) // switch 语句,即 “ 切换 ” 语句;case 即 “ 情况 ”
{

case 常量1: 语句块1; break; // break 是 C 语言中的一个关键字,专门用于跳出 switch 语句块1;break;
case 常量2: 语句块2; break;
case 常量3: 语句块3; break;
case 常量4: 语句块4; break;
...
case 常量n: 语句块n; break;

default: 语句;
break;
}

7.

switch 遵循的规则
(1) 执行次序:

当变量表达式所表达的值与其中一个 case 语句中的常量值相符时,就执行此 case 语句后面的程序,并依次去执行后面所有 case 语句中的程序,除非遇到 break 语句跳出 switch 为止;也就是说,整个 switch 执行结束了,接着会执行整个 switch 后面的代码。如果常变量表达式的量都不相符,就执行 default 语句中的程序。

(2) 所写的任何 switch 语句都必须遵循以下规则:

①. 只能针对基本数据类型中的整型类型使用 switch,这些类型包括 int、char 等。对于其他类型,则必须使用 if 语句。

②. switch() 的参数类型不能为浮点数,字符串。(必须是整型类型)。

③. case 标签必须是常量表达式 ( constantExpression ),如 42 或者 ‘4’ + 20。

④. case 标签必须是唯一常量;也就是说,不允许两个 case 具有相同的常量值。

 总结:1.case 后面必须是一个整数,或者是结果为整数的表达式,但不能包含任何变量。

eg.

 

case 20: printf("...\n"); break; // 正确
case 2+3: printf("...\n"); break; // 正确
case 'A': printf("...\n"); break; // 正确 字符和整数可以相互转换
case 'A'+23: printf("...\n"); break; // 正确 字符和整数可以相互转换
case 9.5: printf("...\n"); break; // 错误 不能为小数
case a: printf("...\n"); break; // 错误 不能包含变量
case &a+10: printf("...\n"); break; // 错误 不能包含变量
case "error": printf("...\n"); break; // 错误 不能为字符串

 

 

2.default 不是必须的。当没有 default 时,如果所有 case 都匹配失败,那么在 switch 中就什么都不执行,接着执行后续代码。
 3.当第一个 case 后面没有语句或者没有 break 跳出时,则继续执行下一个 case 后面的语句,直到遇到 break 时在跳出 switch 结构。

 

标签:语句,case,...,switch,break,chap,第九,表达式,分支
From: https://www.cnblogs.com/334448152lsy/p/16788512.html

相关文章

  • 关于Gitlab-clone代码后-并修改-最后合并master主分支的操作过程记录
    因需要对master分支的代码,进行一些修改,笔者是项目的Maintainer权限,在此记录一下过程1、先将项目代码clone到本地,默认情况,需要先有~/.ssh/id_rsa,实现登录过程中的认证QQ-......
  • 分支与循环(2)
    while循环语法结构: while(表达式)循环语句:break停止循环,continue终止循环中continue后面的代码   getchar的作用:intmain(){intch=getchar();//getchar可......
  • 19组多分支结构的总结心得
    本周我们学习了关于多分支结构的内容,通过这个分支结构的具体方法,我们可以解决许多我们以前解决不了的问题,我深刻体会到其中的奥妙以及耐人寻味的地方。switch-case与if-els......
  • 防火墙基础之多分支无线网络综合部署与区域与区域之间安全防护
    防火墙基础之多分支无线网络综合部署与区域与区域之间安全防护​原理概述:​防火墙(英语:Firewall)技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于......
  • switch分支结构
    1、Switch关键字,表示Switch分支2、表达式对应一个值3、case常量1:当表达式的值等于常量1,就执行语句块14、break:表示退出Switch5、如果和case常量1匹配,就执行语句块1,如......
  • github分支
    title:Github分支excerpt:转载自TsumugiWenders大佬~tags:[git,github,gitee]categories:[学习,git]index_img:https://picture-store-repository.oss-cn-ha......
  • Problem P32. [算法课分支限界法]Partition to K Equal Sum Subsets
    纯暴力遍历+剪枝,将任务看出有k个桶,要将每个桶都刚刚好装满。#include<iostream>#include<bits/stdc++.h>#include<cstdio>#include<string>usingnamespacestd;......
  • 第五组 chao3 多分支结构学习总结
    一,学习内容梳理1.多分支结构和else-if语句else--if是最常用的实现多分支(多路选择)的方法,其一般形式为:if(表达式1) 语句1;else if(表达式2) 语句2;...12elseif(表达......
  • chap3
    1,字符型变量定义时类型名:char在函数scanf用“%c”输入当读入“/”和“%”时,要考虑后面那个数是否为02,字符型常量是一对单引号及其所括起来的字符,例如‘=’3,输入和输......
  • 分支和循环(if结构的认识和使用)
    1.对if结构的认识a.可以实现一段代码,在只有满足指定条件才可以运行b.语法:if(条件表达式)   {语句};注意不能再if语句后加;(分号)不然无法继续执行下去。 2.if的使用a.单个......