当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(一) > 2.2 关系运算的C程序实现 > 2.2.5 程序实例
我在这把几个问题
敲了几个小的那个代码
大家看一下
我打开这个程序
该看一下这个程序
是不是我们比较熟悉
这有个注释说是打印补考通知单
也就是说我及格了吗
如果不及格
一定得给这个同学打一个
打印一个补考通知单
告诉他补考
那这件事是这样
分数在x里边
我用float可能有
85.5分的这样的一位小数
float x然后这是提示一下
实质上是说scanf
你从键盘上获得这个分数
然后去if判断它
这是条件
x你刚才敲定了的这个分数
小于60分吗
如果是的话
请补考
打印这个请补考
就这么简单的一个程序
我们运行一下看看
这是刚才的提示
请你输入input一个x
我们给这个x是这同学得85分
应该是不打印那个补考通知单的
回车看一下
好了没有打印
没有输出
他通过了
我们再给一个说
这个同学很可惜58分
咱们看一下
它说请补考
回过头来我们看一下这个程序
在这里边
输入了一个x分数
然后再判断里边很简单
你输的这个分数小于60分吗
然后说请补考
当然你现在要说这个同学的学分积
可以乘以1.8吗
那你当然这一块就换成了
你是大于等于90分吗
比如说这门课的学分是3分的话
那我如果大于等于90分
我就需要做一个什么计算呢
是说我3个学分可以乘以1.8了
那就不是得了3学分了
因为你的这个价值
因为90分你的价值就会比较高
那你需要把它怎么样了
把这个学分积输出来
那我在这输出的是这个学分积
那里边学分积乘出来是5.4了
是一个小数的
所以
我们是给.1的这种格式
然后
百分号f百分号.1f
然后这个f输出来是谁呢
就是这样的一个式子
这样的一个表达式的运算的结果
按照.1的格式输出来
我们把这个程序运行一下看看
咱就给他一个95分
是5.4显然说
你是95分
你得到的学分积就是5.4
你还想要更详细的解释吗
如果你要的话
你可以在这写上学分积
好
再运行一遍
我们给90分
他的学分积是5.4
如果我们给的是80分
你应该没有了
应该没有刚才那个运算
我们看
这块呢我们通过这个非常简单的一个判断
就是小于60分吗
大于等于90分吗
我们就看到了实现了一个什么
关系运算在这里边程序里边
实现了一个选择
一个选择
使程序选择了
我到底要不要执行这个pritf
满足条件我就执行
不满足条件就不执行
我们关闭
我们再来看一个程序
大家看一下这个刚才的非常像
这是什么呢
打印补考通知
还是打印补考通知
给谁打呢
这一块我们是看刚才说
我加上我的平常分这个t
我通过了吗
那这里边定义了两个变量
这两个变量你都需要输入
比如说平时分是多少呢
你考了多少呢
然后说
x加t大于等于60吗
如果是的话
你给我printf我通过了ok了
我就不要补考了
这时候打印的不是补考通知
打印的是通过考试的一个成绩
通过的一个通知
大家再看一下
如果我这两个输入的分数
和平常的分加起来
大于等于60的话
那我就ok了
否则
那就不告诉你通过
那你就是没通过了
我们试着运行一下
咱给一个咱考了还是那个58
比较纠结的一个分数
再给一个数是平时的分算10分
得了满分
这同学得了68分
你得68分通过了
那如果是
考试58
可是我平常那个分才获得了1分
还是没有通过
这是这个程序
我们看一样的
那这个做条件的这里边
if这个条件里边
是一个也是一个关系比较
但是这个关系式是
运算符左边是一个算术表达式
那要算先计算算术表达式的结果
拿这个结果再跟这个常量去比较
比较出来的值
如果是1那就执行printf
否则就不执行printf
我们关闭这个
再看一道题
还有一个是说
咱们刚才说能整除吗
是实数吗
是整数吗
怎么去判断呢
这个程序给的很简单
这个条件是在这个括弧里边
这是条件
也就说我对一个6强制取整
那取整前和取整后必然是一样的
那这个应该是一个
铁定了这个条件是满足的
我们看它一定会输出一个ok
没有问题
那如果我们不是这样子
我们这是6.8
那取整前和取整后一样吗
还等吗
那肯定是应该是
取整后和取整前不等
但是我这后边写的却不是取整前
那我必须把6.8还写在这
那现在取整前和取整后
取整后是6
而之前是6.8
大家看一定是没有ok啦
我们通常拿这个东西做什么
你是整型数吗
你是实型数吗
就拿这样的一个条件去做判断
那是整型数你下边该做什么
是实型数你下边该做什么
它作为一个控制流程的一种方法
下来我们还看一个
我们刚才说到语句组
如果满足条件是一个语句组
大家看一下这块
这个程序里边是我们刚才说的
如果我加上平时分我就怎么样
我们现在要求这个格式给的好看一点
说你给我打钱出来的这个ok
你给我上面打一行星号
下面打一行星号
我们来先看一下
还说这同学58分平时分10分
68了没问题
打出来的是说你得了68分
通过了
那这一块这个格式我们看
是用三个printf语句构成的
那这三个printf语句
我们看就用了一对花括弧
把它括起来
如果没有这个花括弧
那会怎么样
我们把这个花括弧取掉以后
我们试着运行一下
还给刚才的58 10我们看到
大家先想想看是
你现在看到的跟刚才的结果是一样
还是不一样
因为你现在得到的是通过了
大家先脑子想一下
是一样的还是不一样
这会跳出来一个问题
是一样的还是不一样
我们看一下结果一样
这个结果跟我们没有加那个
加上那个花括弧是一样的
大家会说
你这个花括弧是不是就没必要加
我们要改变这个程序
我再做一次
让这个同学不及格
比如说他得了20分
作业倒是得了满分
一共30分一定不及格了
大家看结果是什么
结果是30分ok
那是不是就有问题了
为什么会这样子我们大家看一下
怎么会出现了说
把这一句执行了呢
下边这一句也执行了
执没执行这一句
那我这一块要跟大家讨论的就是
如果条件满足
程序执行它后边的
分号前边的这个句子
这是什么情况下呢
你没有花括弧的情况下
执行了这一句
如果满足条件执行这一句
不满足条件呢
我当然就不执行这一句了
但是
我执行这一句下边的所有句子
这就是刚才不满足条件的情况下
你如果不是这样的
你不满足条件
这三行你都别执行了
那好了你需要把这个括起来
把这个用花括弧括起来
这个花括弧拿到这个后边 是要这样
那这样就没有问题了
大家看
我们还给刚才说20分10分
它没有说你30分也OK了
没有没有这样子
那是什么意思
如果这个条件满足
你执行整个这一块
什么叫块呢
花括弧括起来的是一个复合语句组
这个语句组
这个语句组
是整个满足条件整个执行这个组
你没有括起来
它默认为是一句话
一句话就是你那个组
然后它就顺序执行后边的
你括起来就是一个组复合语句
没有括起来就不是一个组
-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