目录

1、 分支结构的作用就是将 C 语言的代码引入歧途

2、switch语句和分支嵌套

1. switch 语句

2. 使用 break 语句跳出

3. 分支结构的嵌套

2. 使用 break 语句跳出

3. 分支结构的嵌套

4. 注意

3、课后习题(编程题)


1、 分支结构的作用就是将 C 语言的代码引入歧途

那么光有关系表达式和逻辑表达式还不足以实现分支结构,还需要学习一个新的语句——if 语句。

if 语句的实现有好几种形式,我们逐一给大家介绍一下。

第一种:

…… // 其它语句
if (表达式)
{…… // 逻辑值为真所执行的语句、程序块
}
…… // 其它语句

第一种是最简单的,if 后边小括号内填写返回逻辑值的表达式,当然你可以直接填入一个逻辑值,当你填入这个值为非 0 的时候,编译系统就会认为这个逻辑值是真;只有当你填入 0 的时候,才被认为是假的。

第二种:

…… // 其它语句
if (表达式)
{…… // 表达式的逻辑值为真所执行的语句、程序块
}
else
{…… // 表达式的逻辑值为假所执行的语句、程序块
}
…… // 其它语句

第三种:

…… // 其它语句
if (表达式1)
{…… // 表达式 1 的逻辑值为真所执行的语句、程序块
}
else if (表达式2)
{…… // 表达式 2 的逻辑值为真所执行的语句、程序块
}
else if (表达式3)
{…… // 表达式 3 的逻辑值为真所执行的语句、程序块
}...
else if (表达式n)
{…… // 表达式 n 的逻辑值为真所执行的语句、程序块
}
else
{…… // 上面所有表达式的逻辑值均为假所执行的语句、程序块
}
…… // 其它语句

2、switch语句和分支嵌套

1. switch 语句

…… // 其它语句
switch (表达式)
{case 常量表达式 1: 语句或程序块;case 常量表达式 2: 语句或程序块;……case 常量表达式 n:语句或程序块;default: 语句或程序块;
}
…… // 其它语句
  • 这里每个 case 后边的常量是匹配 switch 后边表达式的值

  • case 后边必须跟一个常量值,而不能是一个范围

  • 如果所有的 case 均没有匹配的,那么执行 default 的内容

  • default 是可选的,如果没有 default,并且所有的 case 均不匹配,那么 switch 语句不执行任何动作

2. 使用 break 语句跳出

switch 语句中的 case 和 default 事实上都是“标签”,用来标志一个位置而已。当 switch 跳到某个位置之后,就会一直往下执行,所以我们这里还需要配合一个 break 语句,让代码在适当的位置跳出 switch。

3. 分支结构的嵌套

如果在一个 if 语句中包含另一个 if 语句,我们就称之为 if 语句的嵌套,也叫分支结构的嵌套。

2. 使用 break 语句跳出

switch 语句中的 case 和 default 事实上都是“标签”,用来标志一个位置而已。当 switch 跳到某个位置之后,就会一直往下执行,所以我们这里还需要配合一个 break 语句,让代码在适当的位置跳出 switch。

3. 分支结构的嵌套

如果在一个 if 语句中包含另一个 if 语句,我们就称之为 if 语句的嵌套,也叫分支结构的嵌套。

4. 注意

悬挂 else

最好是加大括号解决!

等于号带来的问题

等于和赋值混淆,多注意!

3、课后习题(编程题)

第一题

要求用户输入一个字符,如果是大写字母,将其转换为小写;如果是小写字母,将其转换为大写;其他字符不做处理,并输出结果。

代码

#include <stdio.h>int main()
{char ch;printf("请输入一个字符:");scanf("%c", &ch);if (ch >= 'A' && ch <= 'Z'){ch = ch + 32; // ch加32,变成小写,然后赋值回ch}else if (ch >= 'a' && ch <= 'z'){ch = ch - 32; // 同上}printf("%c\n", ch);return 0;
}

结果

第二题

A. 通过调用 getHeartRate() 函数可以获得用户当前的心率。otW$}{.Q

  • 该函数没有参数;返回用户当前的心率,返回值是整型。
  • 比如 i = getHeartRate(),表示获得用户当前的心率,并赋值给变量 i。
  • 该函数定义在头文件 ssebtr1.h 中(#include "ssebtr1.h")。

B. 通过调用 playSound() 函数播放指定节奏的音乐。JNxtW

  • 该函数有一个参数,用于指定待播放音乐的 BPM(次心跳/分钟);如果该函数成功调用并播放,返回值为 0,如果找不到对应 BPM 的音乐或调用失败,返回值为 -1。
  • 该函数定义在头文件 ssebtr1.h 中(#include "ssebtr1.h")。
  • 程序刚开始默认播放 BPM == 150 的音乐,每次提升或降低的单位为 20。

C. 最高心率 == 220 – 用户年龄<'q8BJ^
-vZFekBc]il:X}>=;D#j(,_2^|
D. 耐力跑心率保持在:最高心率 * 75% ~ 最高心率 * 85%a.iQOUj
Rn^'2E4q~1AlY!ISNePGi|KD;wB3+0
OK,请根据下边流程图写代码

代码

#include <stdio.h>int getHeartRate();
void playSound(int bpm);int main()
{int age,max_hr,bpm,hr;printf("请输入您的年龄:");scanf("%d",&age);max_hr = 220-age;bpm = 150;//      playSound(bpm);hr = getHeartRate();if(hr>max_hr){printf("请马上停止跑步,否则会有生命危险...\n");}else if(hr>max_hr*0.85){printf("请放慢脚步\n");bpm = bpm -20;playSound(bpm);}else if(hr<max_hr*0.75){printf("Come on,请加快节奏!\n");bpm = bpm +20;playSound(bpm);}else
{playSound(bpm);}return 0;
}int getHeartRate(){int i = 160;return i;}void playSound(int bpm){printf("bpm=%d\n",bpm);}

结果

【小甲鱼C语言】课后笔记第一章第九节——if语句相关推荐

  1. 【小甲鱼C语言】课后笔记第一章第二节——变量

    目录 1.变量的命名规则 2.关键字 3.基本数据类型 4.声明变量的语法 5.课后习题(编程题) 1.变量的命名规则 C语言变量名只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成 ...

  2. 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义

    目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...

  3. 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)

    目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...

  4. 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力

    编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...

  5. 【小甲鱼C语言】课后笔记第一章第七节——算数运算符

    目录 1. 算术运算符 2. 何谓"目"? 3. 表达式 4. 类型转换 5.课后习题(编程题) 1. 算术运算符 C 语言通过提供大量的运算符来支持我们对数据进行处理,前边我们将 ...

  6. 【小甲鱼C语言】课后笔记第一章第四节——数据类型

    目录 1.数据类型 2.short 和 long 3. sizeof 运算符 4. signed 和 unsigned 5.课后习题(编程题) 1.数据类型 在 C 语言里,所谓的数据类型就是坑的大小 ...

  7. 【小甲鱼C语言】课后笔记第一章第五节——取值范围

    目录 1. 比特位和字节 2. 二进制.十进制和十六进制 3. 符号位 4. 补码(作用:就是为了解决二进制的加减乘除) 5. 二进制表示最大值和最小值 6. 基本数据类型的取值范围 7.课后习题(编 ...

  8. 一级造价工程师(安装)- 计量笔记 - 第一章第二节安装工程常用材料

    1.常用厚度为(0.5-1.5mm)的薄板制作风管及机器外壳防护罩. 常用厚度为0.5-1.5mm的薄板制作风管及机器外壳防护罩. 2.六角钢.八角钢的规格用(内切圆直径)来表示. 六角钢.八角钢的规 ...

  9. 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章

    教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...

最新文章

  1. Google Android向华为“闭源”,华为手机迎来至暗时刻!
  2. IE下的优秀js调试工具Companion.JS
  3. ElasticSearch对地理数据查询(二)
  4. java 反射基础知识
  5. 95-38-035-Buffer-AbstractByteBuf
  6. 在SQL Server中使用sp_WhoIsActive监视活动
  7. centos7 服务器安装nginx,mysql,php
  8. 剑指offer(28)—数组中出现次数超过一半的数字
  9. 全国计算机等级考试二级cpp试题,全国高校计算机等级考试(二级C)模拟试题全套.doc...
  10. 开箱:阿里技术人在读什么书?
  11. 百度前员工因内网发布“女优一览表”被辞退,自诉:想转鉴黄师
  12. 面试题(三):高并发编程
  13. 阿里数据师最爱用的图表特效,10分钟让可视化报告内涵又炫酷
  14. php的toast,toast提示是什么
  15. ipad html 自定义裁剪图片大小,如何在iPhone或iPad上裁剪和编辑照片 | MOS86
  16. The project seems to require yarn but it‘s not installed解决办法
  17. Linux命令英文全称
  18. SWF文件格式说明书--SWF文件头
  19. spark:Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
  20. 向大家推荐一下我的笔记APP『百灵』,里面有丰富的面试资料

热门文章

  1. 接口测试--ssl证书
  2. 全国大学生数据统计与分析竞赛2021年【研究生组】-A题:基于文本向量空间的评阅专家观点评价模型的建立与分析(附优秀论文及python代码实现)
  3. 猫叔产品读记 | 爆款车厘子、重做消费品、旅游大数据(1期)
  4. 一种基于改进的LeNet-5 CNN模型通过图像监控雾度的方法
  5. devcpp中使用unordered_map
  6. Axure课程设计-漫画APP界面/UI设计(免费分享.rp文件学习)
  7. CUDA编程上的OpenMP异步
  8. 基于SSM的宠物管理系统
  9. Springboot毕设项目考勤打卡系统 k0e7rjava+VUE+Mybatis+Maven+Mysql+sprnig)
  10. comsol波动光学模块案例分析