【小甲鱼C语言】课后笔记第一章第九节——if语句
目录
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语句相关推荐
- 【小甲鱼C语言】课后笔记第一章第二节——变量
目录 1.变量的命名规则 2.关键字 3.基本数据类型 4.声明变量的语法 5.课后习题(编程题) 1.变量的命名规则 C语言变量名只能是英文字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成 ...
- 【小甲鱼C语言】课后笔记第一章第三节——常量和宏定义
目录 1.常见的常量 2.宏定义(符号常量) 3.标识符 4.字符串常量 5.课后习题(编程题) 1.常见的常量 整型常量:520, 1314, 123 实型常量:3.14, 5.12, 8.97 字 ...
- 【小甲鱼C语言】课后笔记第一章第一节——打印(printf)
目录 1."打印"就是"输出"的意思 2.使用 GCC 编译程序:gcc 源代码 -o 可执行文件. 3.printf 是格式化输出函数 a.函数概要 b.函数 ...
- 小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力
编者按 少年,你渴望 知识的力量 吗? 我们有山财最全的学习秘籍, 只待你的耐心翻阅与潜心修炼! 接下来,就让我们一起查收学习干货~ 内容摘要 本系列推送分为 [悦览篇][干货篇][招募篇] 三大模块 ...
- 【小甲鱼C语言】课后笔记第一章第七节——算数运算符
目录 1. 算术运算符 2. 何谓"目"? 3. 表达式 4. 类型转换 5.课后习题(编程题) 1. 算术运算符 C 语言通过提供大量的运算符来支持我们对数据进行处理,前边我们将 ...
- 【小甲鱼C语言】课后笔记第一章第四节——数据类型
目录 1.数据类型 2.short 和 long 3. sizeof 运算符 4. signed 和 unsigned 5.课后习题(编程题) 1.数据类型 在 C 语言里,所谓的数据类型就是坑的大小 ...
- 【小甲鱼C语言】课后笔记第一章第五节——取值范围
目录 1. 比特位和字节 2. 二进制.十进制和十六进制 3. 符号位 4. 补码(作用:就是为了解决二进制的加减乘除) 5. 二进制表示最大值和最小值 6. 基本数据类型的取值范围 7.课后习题(编 ...
- 一级造价工程师(安装)- 计量笔记 - 第一章第二节安装工程常用材料
1.常用厚度为(0.5-1.5mm)的薄板制作风管及机器外壳防护罩. 常用厚度为0.5-1.5mm的薄板制作风管及机器外壳防护罩. 2.六角钢.八角钢的规格用(内切圆直径)来表示. 六角钢.八角钢的规 ...
- 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章
教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...
最新文章
- Google Android向华为“闭源”,华为手机迎来至暗时刻!
- IE下的优秀js调试工具Companion.JS
- ElasticSearch对地理数据查询(二)
- java 反射基础知识
- 95-38-035-Buffer-AbstractByteBuf
- 在SQL Server中使用sp_WhoIsActive监视活动
- centos7 服务器安装nginx,mysql,php
- 剑指offer(28)—数组中出现次数超过一半的数字
- 全国计算机等级考试二级cpp试题,全国高校计算机等级考试(二级C)模拟试题全套.doc...
- 开箱:阿里技术人在读什么书?
- 百度前员工因内网发布“女优一览表”被辞退,自诉:想转鉴黄师
- 面试题(三):高并发编程
- 阿里数据师最爱用的图表特效,10分钟让可视化报告内涵又炫酷
- php的toast,toast提示是什么
- ipad html 自定义裁剪图片大小,如何在iPhone或iPad上裁剪和编辑照片 | MOS86
- The project seems to require yarn but it‘s not installed解决办法
- Linux命令英文全称
- SWF文件格式说明书--SWF文件头
- spark:Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解
- 向大家推荐一下我的笔记APP『百灵』,里面有丰富的面试资料
热门文章
- 接口测试--ssl证书
- 全国大学生数据统计与分析竞赛2021年【研究生组】-A题:基于文本向量空间的评阅专家观点评价模型的建立与分析(附优秀论文及python代码实现)
- 猫叔产品读记 | 爆款车厘子、重做消费品、旅游大数据(1期)
- 一种基于改进的LeNet-5 CNN模型通过图像监控雾度的方法
- devcpp中使用unordered_map
- Axure课程设计-漫画APP界面/UI设计(免费分享.rp文件学习)
- CUDA编程上的OpenMP异步
- 基于SSM的宠物管理系统
- Springboot毕设项目考勤打卡系统 k0e7rjava+VUE+Mybatis+Maven+Mysql+sprnig)
- comsol波动光学模块案例分析