【小甲鱼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);
        }

结果

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁༺๑小王不是程序员๑༻꧂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值