当前课程知识点:C语言程序设计 >  第22讲 编程训练 >  编程训练 >  选择结构的典型例子

返回《C语言程序设计》慕课在线视频课程列表

选择结构的典型例子在线视频

选择结构的典型例子

包括求三个整数的最大值、求函数值、判断字符类型、成绩转换。

返回《C语言程序设计》慕课在线视频列表

选择结构的典型例子课程教案、知识点、字幕

这一讲

讲一下选择结构的几个典型例子

目的是通过典型例子

初步掌握选择结构在编程中的使用

第一个例子是求最大值

要求输入三个整数

输出其中最大的那个整数值

这个思路是这样的

如果三个数分别是a,b,c

首先设定a暂时是最大的

让它与b比较

如果b更大

那就代替a成为目前最大的

再与c比较

如果c更大

它就成为最大者

这个解题思路可以推广到求更多个数的最大值

另外呢求最小值的思路与求最大值的思路非常相似

就是比较时拿更小的值替代当前的最小值

下面我们看一下具体程序

我们看这地方

在程序中首先定义了四个变量a,b,c,max

那么其中a,b,c就是三个整数变量

这个max表示存储最大值这样一个含义的变量

然后我们通过scanf这个控制符

输入a、b、c 3个变量的值

在这儿 先假定a是最大值

然后让b和这个假定的最大值比较

如果b比最大的还大

就把b赋值给这个max

它暂时成为最大值

然后c再跟最大值比较

如果c大于最大值

那么c赋值给max

c现在成为最大值

那么这个地方如果b大于max

b代替max

那换句话说

如果B小于等于max

那原先的max值依然是a

就是这样一个简单的思路

整个过程处理完了以后

这是输出

我们下面看一下程序的运行结果

我们编译、运行

现在输入的三个值分别是1 2 6

结果是这样的

我们再验证一下

换一下输入

比如输入的是6 3 2

同样得到了正确结果

第二个例子是求函数值

根据给出的函数

编程序

输入x值

要求输出相应的y值

我们看

这个函数是这样的

就是如果x<0,y值是-1

如果x=0,y是0

如果x>0,y是1。

好 我们看一下程序

首先在这儿

定义了一个float类型的变量x

然后我们通过这个scanf从键盘输入这个x的值

下面是处理

如果x>0 就是根据刚才前面那个公式

如果x>0 y等于1

else就是除了这个大于0的情况

也就是换句话说

后面这个else整个的这一块儿

就是x小于等于0的情况

因为小于等于零是两种情况

所以这个里面又把它再判断一下

如果x<0 那么y=-1

然后再else

那么这个else实际上就只有一种情况

就是x=0的情况

那么这儿就让y=0

这儿输出y的值

这个第三个例子是判断字符的类型

要求输入一个字符

输出该字符是什么类型

这儿类型包括字母、数字字符、空格及其它字符

也就是说我们输入的字符就分这么四类

下面我们看一下这个程序

程序中先定义一个char类型的变量ch

然后通过getchar输入这个字符

当然这个地方也可以通过scanf输入字符

下面是这个判断类型的过程

首先这个地方就是判断字符是不是字母

字母的大小在大写的“A”与大写“Z”之间

或者是在小写“a”和小写“z”之间

如果是这种情况的话

它就是字母

然后就是除了上面字母这种情况以外

下面的判断它是不是数字字符

数字子符判断依据是这个字符

它是大于等于“0”小于等于“9”

再其它情况就是如果ch等于空格

就是单引号中间空着

如果它是这样

那么它就是一个空格符号

再else就是刨去前面的那三种情况以外

剩下的就是其它字符

我们来演示一下这个程序

编译运行一下

比如说现在输入的是一个小写字母e

判断出来这是字母

我们再输入别的字符

比如现在输入的是分号

判断出来是其它字符

这个复合条件语句

在理解的时候

有一个要用集合的概念来理解

下面我们就以这个字符分类

就是刚才那个程序为例来讲一下

在复合条件语句怎么用集合的概念的理解

首先我们把输入的字符

不管它什么类型

我们作为一个整体的一个集合的全部

然后在这里

如果它是在大写字母“A”到大写字母“Z”之间

或者是在小写字母“a”到小写字母“z”之间

这种类型的就是说“字母”类型

这个条件判断完了以后

就是它把整个集合当中的这一块儿等于给它划分出去了

然后从这个地方else直到后面这儿

就是集合的这块

在这一块儿当中

我们再判断

如果它是在“0”到“9”中间的符号

那么它就是“数字字符”

就是在刚才这一块儿里面又把这一块儿刨掉了

那么在这个范围内就剩下了这个空格和其它的这个

然后呢再判断

如果它是空格

那么它就又把这个给刨掉了

那么else再剩下的就是这一块儿

整个这个过程

大家可以仔细琢磨一下

用集合的概念来理解这个复合语句

if else if这样子是比较合适的

第四个例子是成绩转换

通过这个例子学习switch语句的用法

好 我们看这样要求

输入成绩(0-100之间的数字)

要求将这个百分制成绩转换为5级等级制

90分及以上为A

80-90分为B

70-80分为C

60-70分为D

60分以下为E

好 我们看一下这个程序

首先 因为成绩可能是有小数点的

就是多少点多少分

所以这个地方呢

使用float类型

这儿用scanf读入这个成绩

这个地方做一个判断

就是你这个成绩

录入成绩如果大于100

或者是小于0

就认为是非法输入

然后return

整个程序就退出了

然后这儿这地方用一个类型强制转换

就是把这个实型的score强制转换成整型

转换成整型以后这个等于就是把它的小数点后面的东西去掉了

然后除以十

除以十以后

我们就根据它除完以后的整数商

然后来判断

在C语言当中

这样的除只会得到整数商

比如说89除以10

那么它得到的商是8

如果是100除以10

得到的就是10

根据这个k的值

我们用switch语句来做判断

那么对于k的值为10和9

是大于等于90分小于等于100分的是“A”

如果k的值是8

也就是说它是从80分到89分这个范围内的

那么它就输出“B”

其他的比如说这个

k的值是7

那么他的值就是“C”

也就是成绩在70到79

这个6呢

就是成绩是60到69之间的

他是“D”

那么刨除掉上面的几种情况

剩下的default就是小于60分的

那么这个就是“E”

C语言程序设计课程列表:

第0讲 导言

-简单介绍课程性质等

-关于编程训练

第1讲 C程序框架

-C程序框架

-作业

第2讲 C程序编译环境

-C语言的编译环境

-作业

第3讲 顺序程序的几个例子

-顺序程序的几个例子

-作业

第4讲 常见的编译错误

-常见的编译错误

-作业

-编译错误探讨

第5讲 输入输出精要

-输入输出精要

-作业

-输入输出格式探讨

第6讲 选择结构的典型例子

-选择结构的典型例子

-作业

第7讲 选择结构常见错误

-选择结构常见错误

-作业

第8讲 排除程序错误的常规方法

-排除程序错误的常规方法

-排除错误探讨

第9讲 循环结构基础

-循环结构基础

-作业

-循环类型

第10讲 循环结构程序例子

-循环结构程序例子

-作业

-程序结构

第11讲 函数基础

-函数基础

-作业

第12讲 函数举例

-函数举例(上)

-函数举例(下)

第13讲 变量的作用域与生存期

-变量的作用域与生存期

-变量的使用

第14讲 数组基础

-数组基础

-作业

第15讲 数组应用举例

-数组应用举例(上)

-数组应用举例(下)

第16讲 数组参数传递

-数组参数传递(上)

-数组参数传递(下)

-作业

第17讲 指针变量

-指针变量(上)

-指针变量(下)

-作业

第18讲 字符串

-字符串(上)

-字符串(下)

-作业

第19讲 程序调试

-程序调试

-程序调试的重要性

-程序调试讨论

第20讲 结构体及其应用

-结构体及其应用(上)

-结构体及其应用(下)

第21讲 文件

- 文件(上)

-文件(下)

第22讲 编程训练

- 编程训练

选择结构的典型例子笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。