当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(二) > 2.3 逻辑运算的C程序实现 > 2.3.7 一个简单实例
我们看一个简单的例子
这里面可以用到条件运算符
我们看一个咱们在外边看到很多自动售票机
不管是地铁啊
还是公园啊
还是博物馆啊一些场所
都会有自动售票机
有很多情况下它是简单的分两档
成人 儿童
成人比如说
举个例子 成人按80块钱收费
儿童按20块钱收费
怎么识别你是成人和儿童呢
自动售票它又不会看
它是让你输入年龄
输年龄 我们以12岁为一个界限
12岁以下是儿童 12岁以上成人
如果按这个说法
程序是不是这样写
来看一下
这个程序里边我们看
scanf从键盘上索取一个年龄
然后呢
下边用一个简单的条件表达式
这件事情就能够顺利完成了
什么呢
就你输入的年龄大于12岁吗
如果是的 你缴费80
否则缴费20
然后呢
把你最后要交的费用给你在屏幕上显示出来
好了 返回
这个程序里就是用了什么呢 没有用If
因为它没有那么复杂
它就是你超过12岁了吗
你超过了你就是80
赋值给 买你这个变量
否则就赋值的是20 完了
没有那么复杂的说一个语句组
没有这么复杂
这种情况下往往就用这个条件表达式
来简单处理
我们把这个程序运行一下 大家看一下
我们看一下这个程序 就是我们刚才看到的
我从键盘上需要提供一个年龄
然后呢
计算机自动去识别你是大于
问号前边是条件表达式
后边是两个表达式
我们直接这一块的表达式就给的是常量
好我们来运行这个程序
比如说我现在给的这个人是
10岁儿童
好 它说你的票价是20
如果说 这个人的年龄是35岁
好 它说你交80
我们回来再看一下这个程序
这个程序里边是一个简单的
条件表达式 表达出来的一个判断
但如果我们再稍微把这件事情
复杂一下这样考虑
大于12岁
老人免票
就是说大于12的人有的是老人
如果要把这个因素考虑进去的话
这个条件表达式还能做吗
能做 我们看一下
如果你是大于12岁的话本来是
我们是笼统的说出80
我们在80的这个地方来做一个
再做一个条件表达式
那您这个年龄大于60了吗
如果是大于60了
问号 那我们就费用是零
否则这个费用是80
我们怎么做呢
把这个东西括弧括起来
是因为这一块是我们刚才
条件表达式1的
好 大家看
现在就这块
这是我们刚才条件表达式1的那个地方
就说当你大于12的时候你就按成人交费
可是我这一块现在再加了一个说
那我的大于12岁 我大不大于60岁呢
如果大于60岁我就免票了
否则我才交80块钱
我们运行一下这个程序看看
我给一个 62岁
你的票价免票了
那我再给一个 59岁
好收你是 80全票
我们再看儿童这块有没有受到影响呢
就给一个12岁临界值 说给20
看来没有问题
我们再回过头来看一个这个表达式
其实这个表达式看上去在一个式子里完成
其实它已经做了两次判断
一个是判断你是不是儿童 12岁
另外呢 你是不是老人
老人免票 儿童票低
中间这一段才是交全票
就这样的一个判断
也可以在这里边把它完成
这是条件表达式
大家通过这个例子
可以看到它也还是在很多地方是用的着的
-1.1 计算机的问题求解方法
--讨论题:数学模型
-1.1 计算机的问题求解方法--作业
-1.2 C语言与C程序
--讨论题:运算符
-1.3 C语言处理系统与程序调试运行
--例程
-1.4 程序中的人机交互
--例程
--作业讨论区
-2.1 算术运算的C程序实现
--算术混合运算.c
-2.1 算术运算的C程序实现--作业
-2.2 关系运算的C程序实现
--bukao.c
--字符比较.c
--讨论题:比较大小
-2.2 关系运算的C程序实现--作业
-第二周作业--作业
-2.3 逻辑运算的C程序实现
--计算结合性
--闰年.c
--自动购票问题.c
-2.3 逻辑运算的C程序实现--作业
-2.4 位运算的C程序实现
--讨论题:位运算
-2.5 几种很个别的运算
--讨论题
--讨论题
-2.5 几种很个别的运算--作业
-2.6 混合运算及数据类型转换
--讨论题:数据类型
-2.7 顺序结构程序实例
--Video
--三角形面积.c
--讨论题:工业产值
-2.7 顺序结构程序实例--作业
-3.1 程序中的路径选择实现
--打印学生成绩.c
--一元二次方程.c
-3.1 程序中的路径选择实现--作业
-3.2 路径中的再选择——嵌套判断
--例程
--讨论题:程序改错
-3.2 路径中的再选择——嵌套判断--作业
-3.3 复杂判断问题的C程序设计
--3.3 多级选择
--银行存款.c
--讨论题:多级选择
-3.4 多分支问题的C程序设计
--加减乘除运算.c
-3.4 多分支问题的C程序设计--作业
-3.5 GOTO的适当使用
-3.6 选择结构的程序实例
--3.6 程序展示
--计算第几天.c
--讨论题:输出奇数
--讨论题:计算税金
-3.6 选择结构的程序实例--作业
-第四周作业--作业
-4.1 需要重复执行的程序
--求和.c
--打印学生成绩.c
--统计录入速度.c
--求平均数.c
-4.1 需要重复执行的程序--作业
-4.2 至少要执行一次的循环
--n的阶乘.c
--字符分类统计.c
-4.2 至少要执行一次的循环--作业
-4.3 已知循环次数用for语句
--求和问题.c
--数列求和.c
--讨论题:循环语句
-4.3 已知循环次数用for语句--作业
-4.4 循环控制——简单循环应用
--水仙花数.c
--讨论题:死循环
--讨论题:猜数字
-循环结构的程序设计(一)--4.4 循环控制——简单循环应用
-4.5 循环的嵌套
--讨论题:程序运行
-4.5 循环的嵌套--作业
-4.6 break与continue
--最大素数.c
-4.6 break与continue--作业
-4.7 循环的综合应用
--数的排列组合.c
--鸡兔同笼.c
--打印空心字符.c
--讨论题:打印图形
--讨论题:计算闰年
-第六周作业
-第六周作业--作业
-5.1 同类有序数据处理问题
-5.2 一维数组的定义和引用
--数组定义.c
--数组初始化.c
--反向输出.c
--讨论题:对称数
-5.2 一维数组的定义和引用--作业
-5.3 一维字符串数组
--讨论题:编程
-5.4 字符串处理函数
--字符串反向.c
--字符串函数
-5.5 二维数组的定义与使用
-5.6 二维数组的输入输出
-5.6 二维数组的输入输出--作业
-5.7 二维数组的应用
--转置矩阵.c
--讨论题:修改程序
-5.8 二维字符数组
--5.8 单词排序
--单词排序.c
-5.8 二维字符数组--作业
-5.9 数组综合应用
--统计成绩.c
--统计字符次数.c
--讨论题:洗牌
-本期课程结束语
--end
-第八周编程作业
-《C语言程序设计(上)》期末复习参考
--html
-《C语言程序设计(上)》期末复习参考答案
--html