【选择结构程序设计-谭浩强适配】(适合专升本、考研)

本文主要是介绍【选择结构程序设计-谭浩强适配】(适合专升本、考研),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无偿分享学习资料,需要的小伙伴评论区或私信dd。。。

无偿分享学习资料,需要的小伙伴评论区或私信dd。。。

无偿分享学习资料,需要的小伙伴评论区或私信dd。。。

完整资料如下:纯干货、纯干货、纯干货!!!

关注专栏:<后续持续更新>


目录

选择结构语句

1.if分支语句

if语句的嵌套

2.switch分支语句


选择结构语句

分类:if分支语句(双分支)、switch分支语句(多分支)

1.if分支语句

分类:单分支if、双分支if、多分支if(类似switch)

⚠️注意:本质上来说if的双分支与多分支属于一种分支,所以理论上常说if只能提供两个分支选择,即认为if无法进行多分支。

格式:

1.单分支if:if(表达式)语句1...2.双分支if:if(表达式)语句1...else语句2...3.多分支if:if(表达式1)语句1...else if(表达式2)语句2......else if(表达式n)语句nelse语句n+1
  • 所有if语句的表达式可以是一个关系表达式(常见)、数值表达式、逻辑表达式、常量、变量(即结果为逻辑值的表达式)。其内部的内嵌语句语句1、语句2和语句n可以是一个简单的语句也可以是一个复合语句,还可以另一个if语句(嵌套),甚至还可以是其他c语句(9种c语句)

  • 整个if语句可以写在多行(推荐)也可以写在一行。

    if(a>0)y=1;
    elsey=2;
    //等同于if(a>0)y=1;else y=2;(语句不要忘记加分号)
  • 如果if、else后面的语句只是一个简单的语句,那么花括号可以参略。如果是一个复合语句则不能省略。

    int b;
    if(3<0){printf("分数");b=100;}  printf("b=%d\n",b);//因为if语句不成立,所以b=100不会执行,则b自然由系统根据数据类型随机赋值
    ​
    int b;
    if(3<0)printf("分数");b=100;
    ​printf("b=%d\n",b);//虽然if语句不成立,但b=100不属于if语句的内容,即赋值成立,自然输出b=100
  • if语句无论写在几行,都是一个整体,属于同一个语句,即不要误认为if语句是一个语句、else语句是一个语句,不要误以为看见if的内嵌语句有了分号就以为if语句结束了,还要观察其后面的else。

  • if语句表达式的结果为逻辑值(1【真】、0【假】)。即若表达式为数值(非零为真,0为假)。若是变量或常量(判断数据:数值(非零为真,0为假)、字符串(非空为真、空为假))

  • 单分支判断为真就执行。双分支必须执行一个。多分支只要判断到为真,执行完其后的语句就会跳出if。

    if(3){printf("a");//输出a就跳出if语句
    }else  if(3){printf("b");//哪怕后面也为真,也不会被执行
    }

  • 关系表达式a>b>c没有语法错误,只是不能表达正确的数学表达式。正确为a>b&&a>c&&b>c。

  • 双分支if语句可以使用条件表达式替换。

if语句的嵌套

定义:在一个if语句中又包含一个或多个if语句称为if语句的嵌套

  • else语句不能单独使用,必须与if语句配合使用,每一个else都会与其上面最近的if配对。每一个if都会与其后面的else配对,若后面没有else,则认为if分支语句结束

  • 为避免二义性混淆,最好用花括号把内嵌部分括起来。

2.switch分支语句

说明:switch属于多分支语句,类似if语句的多分支语句

格式:

switch(表达式){case  常量1:语句1;break;case  常量2:语句2;break;...case  常量n:语句n;break;default:语句n+1;break;}
  • switch后面的表达式只能是整型、字符型、枚举型的常量、变量或表达式,case后面只能是整型、字符型、枚举型的常量或常量表达式。(即switch后面可以是变量或常量,但是case后面只能是常量,且只限于整型、字符型、枚举型)

  • case与default都起标号作用,用来标记一个位置,他们的顺序可以颠倒不影响结果(前提有break)。default是在所有匹配项都不成立的情况下执行,也可以省略,但是若没有匹配到对应的值,则不执行任何语句。

  • 不同的case后面的常量值不允许相同,否则会出现语法报错。

    char a=97;
    switch(a){case 97:putchar('A');break;case 'a':putchar('B');break;//报错!!!哪怕转换为97的字符形式,也不允许相同case 97:putchar('C');break;//常量值相同,报错!case 1>0:breakcase 1:break;//这里也会报错,因为上面1>0为1
    }

  • break的作用:跳出switch(如果没有break,那么switch在找到匹配的标号入口后,会把后面所有的标号后面的语句不加判断的连续执行这点与if多分支区别:if多分支在判断到为真时会自动跳出if语句)

    char a=1;
    switch(a){case 0:putchar('A');case 1:putchar('B');//以下内容全部输出case 3:putchar('C');
    }
    //输出:BC

  • switch的花括号可以省略,但是只限于case语句只有一个。

  • switch默认执行顺序是从上往下依次执行,没有匹配到再执行default。若default移到前面,则依次执行遇到default则会先绕开,没有匹配到再执行default,若把default移到前面,则需要在最后加上break,否则会输出default下面的语句。

    char a=11;
    switch(a){default :putchar('O');//输出:OABCcase 0:putchar('A');case 1:putchar('B');case 3:putchar('C');   
    }

  • 多个case可以共用一组语句

    case 1:
    case 2:
    case 3:printf(">60");break;

  • switch语句也允许嵌套。

这篇关于【选择结构程序设计-谭浩强适配】(适合专升本、考研)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986836

相关文章

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

前端知识点之Javascript选择输入框confirm用法

《前端知识点之Javascript选择输入框confirm用法》:本文主要介绍JavaScript中的confirm方法的基本用法、功能特点、注意事项及常见用途,文中通过代码介绍的非常详细,对大家... 目录1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

什么是 Linux Mint? 适合初学者体验的桌面操作系统

《什么是LinuxMint?适合初学者体验的桌面操作系统》今天带你全面了解LinuxMint,包括它的历史、功能、版本以及独特亮点,话不多说,马上开始吧... linux Mint 是一款基于 Ubuntu 和 Debian 的知名发行版,它的用户体验非常友好,深受广大 Linux 爱好者和日常用户的青睐,

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧