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

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

无偿分享学习资料,需要的小伙伴评论区或私信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

相关文章

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

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

PostgreSQL如何查询表结构和索引信息

《PostgreSQL如何查询表结构和索引信息》文章介绍了在PostgreSQL中查询表结构和索引信息的几种方法,包括使用`d`元命令、系统数据字典查询以及使用可视化工具DBeaver... 目录前言使用\d元命令查看表字段信息和索引信息通过系统数据字典查询表结构通过系统数据字典查询索引信息查询所有的表名可

如何选择适合孤独症兄妹的学校?

在探索适合孤独症儿童教育的道路上,每一位家长都面临着前所未有的挑战与抉择。当这份责任落在拥有孤独症兄妹的家庭肩上时,选择一所能够同时满足两个孩子特殊需求的学校,更显得尤为关键。本文将探讨如何为这样的家庭做出明智的选择,并介绍星贝育园自闭症儿童寄宿制学校作为一个值得考虑的选项。 理解孤独症儿童的独特性 孤独症,这一复杂的神经发育障碍,影响着儿童的社交互动、沟通能力以及行为模式。对于拥有孤独症兄