当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(一) > 2.2 关系运算的C程序实现 > 2.2.2 C语言关系表达式
我们对这种
类似于这么一些问题
当然不只是这个
有许许多多的这种
需要关系比较的运算
用这样的一个式子
我们看来怎么样描述这里边的东西
大家想想比如说你比他高吗
怎么样具体把它表达式写成
这样的一个C语言能够识别的表达式
我们看一下咱试着写一下
你比他高吗
怎么表达先是一个大于的问题
比如说
你是180公分
然后
大于他是179公分
那180大于179吗
这是表达了你比他高吗
那这里边联系的式子是什么
是这个大于号是关系运算符
两边是两个常量进行关系比较
两个算术常量进行关系比较
第二个
谁要补考
也就说
比如说我们给一个这分数在x里边
这个x里边此刻装的
分数小于60吗
那就是如果小于60
这个x是需要补考的
下一个是算上平时的分之后
那我及格了吗
比如说
x是我的分数
那我平时的分数是在t里边
我们看这里边x应该是小写的
上面这个x也是小写的
那这块是说
我的分数在x里边
加上我平常的分是t
那这样的话大于等于60了吗
如果是
我就及格了
下一个问题是说
这门课我获得了多少学分
同样 我的分数在x里边
然后
我这分数如果
我的分数已经是95分了
那我应该是怎么样呢
就是乘上一个学分积
那学分积呢
95分乘的学分积
和60分乘的学分基
必然是不一样的
所以这时候
对这个问题来说你关注的是什么
你到底是60分这个档
还是70分这个档
还是90分这个档
所以比如说
我现在要乘的学分积
假如说是1.8的话
那我此刻在关心什么
这位同学的成绩
大于等于90分吗
大于等于90分都是乘1.8
那这里边是一个关系比较
来给它分段
说它踩在哪个分数段
下一个
有重复数吗
什么叫有重复数吗
这个数和那个数完全一样吗
一个数在x里边
那完全一样吗
我把x一定写成小写
那等于a吗
不是一个等于
两个等号 这一点一定要注意
a和x完全相等吗
就是恒等吗
在我们数学里边说恒等吗
下一个问题是说
结果是实数吗
这是在程序设计里边
经常遇到的一个会用到的一个方式
结果是整数吗
结果是实数吗
那这个是 判断是什么
比如说
我们的结果在x里边
我怎么判断它是实数还是整数
在C里边有一个强制取整
这样写
int 我们对x强制取整
如果说
它强制取整以后
不等于取整之前
说明了什么
说明它原来就是一个实型数
我对你取整你变成了整型
你原来比如说是5.8
我取整以后你是5
那5能恒等于这个5.8吗
那肯定不是了
那就说明这个数原来是实型
你可以这样问
当然
你还可以说不是说不等于
你可以说是等于
比如说
那这问题就变成什么了
是不是就变成了说你是整型数吗
就是你取整之前和取整之后一样
说明人家原来就是整数
所以就说
你这是写成不等于
还是写成恒等于
是在于说
你问的他是整型数吗
还是是实型数吗
面对的是这样的问题
我们看到这一块
对这样的一系列的问题
我们可以用这样的表达式来描述
这样的表达式都符合我们刚才说的
C语言的关系表达式
中间都是运算符
我们看一下
这里边就说
这是C语言的关系表达式
它实现的是关系运算
在这里边
大家如果我们这样做
假如说我们这里边
只用到了一个x
还用到了一个t变量
还用到了一个a变量
比如说这个式子是两个常量比较
这是一个变量和一个常量比较
这是一个算术表达式
和一个常量比较
这是一个算术表达式
就是强制取整和一个变量比较
这一块如果我们给x是58
t是15
随便给几个数
a是80的时候
那我们
这些关系运算的结果会是什么
大家看
当然180大于179吗
yes 一定是真的
那真的在C里边
给的是什么样的值呢
1就是数值1
那x小于60吗
我们x给了58
自然是小于60了 yes也给1
x加t
t给了15 x58
那肯定是大于60了
也是条件成立得1
x大于等于90吗
x是58
58大于等于90吗
给结果为0
就是数值的那个0
不是专门的一个逻辑常量
是数值的那个0
a是80
80恒等于x58吗
当然不等了
所以结果也是假的是0
那这个呢
我把x58转换成整型
是不等于原来的58吗
没有 等啊
那本来就是整型
你还强制转换成了整型
它不等于原来的58吗
不是啊
那就说明它不是实数
它是整数 这个数是整数
这一系列的结果
我们看到
只有两种结果值
不是1就是0
那这是我们要说
在C语言里边
没有专门的逻辑型数据
这在好多程序设计语言里边
不是这样的
它都有专门的逻辑型的常数
比如说ture是真的
谁是假的等等
但是在C里边它是这样
它是逻辑真就用1表示
数值1表示
逻辑假就用数值0表示
所以
在C里边没有专门的
逻辑型的常量
就是用1和0表示
比如说我们再看一个例子
大家看这个
我们设了i j和a
ij都初始化了2和7
都是整型的
然后我们给a进行赋值
a赋值的是什么
是一个表达式
大家看一下是一个表达式
这个表达式先做加法
这是一个做加法的表达式
但是有一个括弧
我们说按照优先级的规则
括弧优先
那括弧里的东西是什么
是求余之后
再判断它是不是不等于0
这是什么意思
那也就是说
j能够整除4吗
是这么一个问题
它表达的是说
这里边的内容和4去求余的话
这是不是它不等于0吗
也就说
如果它不等于0
那就说明它是有余数的
就是不能够整除
不能够整除
所以它不等于0吗
我们看a的值是多少
我们看这里边
按照运算优先级我们先括弧
而括弧里边的j是7
7和4求余余3
3不等于0吗
yes 不等于0
所以
不等于0
得到的这个括弧里的结果是谁呢
是1
这个1和i做相加
和2相加得到3
所以a里边的值是3
所以这里边最关键的一个环节
在这个括弧里边
做了一个关系比较
做了一个关系比较
而这个关系比较运算符
不等于的两边
一边是一个常数
一边是一个算术表达式
你要算出这个算术表达式的结果
才能跟它进行比较
我们刚才回过头来看
这么一系列的问题
在这用C的关系表达式去表达的话
中间红颜色的
都标识的它的运算符
然后两边就是它的要比较的对象
双目运算符
-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