当前课程知识点:C语言程序设计(上) > 数据计算实现与顺序结构程序设计(二) > 2.3 逻辑运算的C程序实现 > 2.3.3 如何判断闰年
还有这块
关于逻辑运算呢一个典型的应用式
判断闰年
比如说14年是闰年吗
是还是不是呢
我们大家知道
看闰年的这个条件挺多的
是这样的一个条件
这是一个判闰年的方法
这是一种方法
什么呢
就是这一个年号比如2014年
被4整除 能够被4整除
但是却不能被100整除
2014年一定是个闰年
这是一种方法
还有一种方法是说
这两种方法任何一种只要满足
它都是闰年
我们怎么表达这个
能被4整除同时又不能被100整除
或者能够被400整除
怎么表达这个式子
大家想想看
是不是这样
被4整除
x和4去求余
x里边必然放的是年号
和4去求余 有余数吗
这问的是
等于0吗
恒等于0吗
没余数吗
没余数就是整除了
不能被100整除
怎么做
要写成说
x与100去求余不等于0吗
当然这样是可以的
但是也可以这样写
x和100求余
如果有余数
就说明它不能被整除
如果有余数这个逻辑值就是
这块它就是一个逻辑真
所以你也就不用判断
再接下来的这个是
这个是前边
刚才这个第一种可能说完了
x整除4
但是x不能整除100
这样的条件成立它就是一个闰年
或者是
x和400能够整除
这是一种表达
我们把这个表达式
写在一个C程序里边
我们这个程序就可以实现说
你输入一个年号
马上就能这程序告诉你说
这一年是不是闰年
程序怎么写
这样我们看一下
这是
年一定是整型的
然后
从键盘上把这年号拿进来
然后我们下面就判断
这是我们刚才说的这个表达式
如果这个表达式的结果为真
不管是或的前边为真了
还是或的后边为真了
只要有一个为真
这个结果就为真
你就给我输出
说这一年是闰年
大家看
这一年是闰年我们用的格式也是
把这一个年号打出来
说OK它是闰年
三个语句
三个语句我们就是用
花括弧把它括起来
这是一个复合语句
我们把这个程序运行一下 大家看看
我们把这个程序
拿来大家看一下
这是我们刚才看见的那个程序
这是我们现在写的
逻辑表达式
按照我们刚才说的这样
写的逻辑表达式
这是我们说的
复合语句
运行
编译运行这个程序
我们给一个年
2014年今年是闰年吗
大家看一下
啥都没说
年不是闰年
我们知道往前推12年是个闰年
再输出看一下
我们给2012年 我们看
OK说2012年
的确是说的闰年
我们前边还有哪些年
咱再输入一个
1996年是闰年吗
也是闰年
1997年一定不能是闰年了
对不能是闰年 没有是闰年
我们刚才说到
这个式子里边 我们做一点讨论
这个是不是大家还有一点点说
你这个年和100去求余
这块有没有判断
说你有余数还是没余数
这是在C里边非常简洁的一种方式
就是得益于什么
非0则真
只要它有余数就非0
当然我们如果要说
可读性好的话我们还可以说
你这个不等于0吗
这样也是可以的
这给了说
你俩去求余
你求的这个余数的结果不是0吗
如果不是0
那就说 你没有整除
这个式子
就是我们要的一个条件
我们改成这个
运行一下看看
我们还拿
2012年是个闰年来说
没有问题
可见
这个式子
我们再给一个
2014年它应该不是
没有问题
我们现在就说这样的表达
你没有被整除吗
其实可以把它省掉
这个关系运算可以不要的
是因为
它不能整除就必须有余数
有余数则为真
-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