C语言课件之逻辑思维与逻辑问题(循环).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言课件之逻辑思维与逻辑问题(循环).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 逻辑思维 逻辑 问题 循环
- 资源描述:
-
1、逻辑思维与逻辑问题逻辑思维与逻辑问题-逻辑运算、循环逻辑运算、循环何谓逻辑运算何谓逻辑运算?A和B中至少有一个大于 CA和B全部大于 CA为不大于100的偶数如何用C语言描述关系运算是一种比较运算,将两个值(表达式)进行比较,判断比较的结果是否符合给定的条件。逻辑运算?何谓逻辑运算何谓逻辑运算?用逻辑运算符将关系运算表达式或逻辑量连接起来构成逻辑表达式l回顾:符合下列条件之一都为闰年回顾:符合下列条件之一都为闰年1 1、能被能被400400整除(整除(year%400=0year%400=0)2 2、能被能被4 4整除但不能整除但不能100100整除整除也可通过逻辑运算符将几个条也可通过逻辑运
2、算符将几个条件整合起来件整合起来第 4 页逻辑运算逻辑运算数学式子数学式子:x10 x0 x0如何写为如何写为C C语言语句语言语句?数学式子的英文表达:x0因此,C语言约定了语句:x0 注意:用了二个&而 and 和&作用相同【任务任务3.33.3】猜比赛结果猜比赛结果 l一天,湘潭大学一天,湘潭大学ACM/ICPCACM/ICPC队的四支候选队展队的四支候选队展开比赛。比赛完,开比赛。比赛完,4 4名队长问教练名队长问教练EricEric最后比最后比赛谁赢了。赛谁赢了。EricEric让他们猜:让他们猜:nA A说:说:“不是我们队,也不是不是我们队,也不是C C队。队。”nB B说:说:
3、“是我们或者是我们或者D D队。队。”nC C说:说:“是是A A队,不是队,不是B B队。队。”nD D说:说:“B B猜错了。猜错了。”EricEric说只有一个人猜对了,请问最后是谁赢说只有一个人猜对了,请问最后是谁赢得了比赛?得了比赛?逻辑运算与逻辑表达式逻辑运算与逻辑表达式 说话人说的话写成关系表达式A“不是我们队”winner!=A“不是C队”winner!=CB“是我们”winner=B“是D队”winner=DC“是A”winner=A“不是B”winner!=Bl每个子句之间的关系和每个子句之间的关系和D D所说的话,我们没有所说的话,我们没有办法用已学的知识进行处理。在这里
4、我们要办法用已学的知识进行处理。在这里我们要引入一个新的计算引入一个新的计算逻辑运算。逻辑运算。逻辑运算逻辑运算l 逻辑与逻辑与n&na&ba&bua a与与b b往往是关系表达式,往往是关系表达式,a a与与b b同时为真,则表达式为真,否则为同时为真,则表达式为真,否则为假假A0011B0101A&B0001逻辑运算逻辑运算l 逻辑或逻辑或n|na|ba|bua a与与b b只要有只要有1 1个为真,则表达式为真,否则为假个为真,则表达式为真,否则为假A0011B0101A|B0111逻辑运算逻辑运算l 逻辑非逻辑非n!n!a a ua a为假,则表达式为真,否则为假为假,则表达式为真,否
5、则为假A01!A10l优先级上!最高,优先级上!最高,&比比|高高l不记得就全部打上括号不记得就全部打上括号使用逻辑表达式表示使用逻辑表达式表示4 4个人说的话个人说的话说话人说的话写成逻辑表达式A“不是我们队,也不是C队。”winner!=A&winner!=CB“是我们或者D队”winner=B|winner=DC“是A,不是B队”winner=A&winner!=BD“B猜错了。”!(winner=B|winner=D)枚举法的思路枚举法的思路 l分析任务分析任务4-34-3,我们可以依次假设,我们可以依次假设A A,B B,C C,D D为为winnerwinner,l然后测试然后测试
6、A A,B B,C C,D D所说的所说的4 4句话,看是否满句话,看是否满足足“只有一个人猜对了只有一个人猜对了”的条件,即只有一的条件,即只有一句话的逻辑表达式结果为真的。句话的逻辑表达式结果为真的。l如果满足,则我们的假设成立,否则我们的如果满足,则我们的假设成立,否则我们的假设错误。假设错误。l枚举法,又叫穷举法,即把所有可能的情况枚举法,又叫穷举法,即把所有可能的情况都进行一次计算,最后得到整个问题的计算都进行一次计算,最后得到整个问题的计算结果。结果。状态赋值表达式1winner=A2winner=B3winner=C4winner=Dl“只有一个人猜对只有一个人猜对”等价于只有一
7、句话的逻等价于只有一句话的逻辑表示式结果为真,那么我们可以将这辑表示式结果为真,那么我们可以将这4 4句话句话的逻辑结果累加,如果结果为的逻辑结果累加,如果结果为1 1,则表明只有,则表明只有一句话的逻辑结果为真。一句话的逻辑结果为真。winner=winner=A A说话人说的话代入逻辑表达式值Awinner!=A&winner!=CA!=A&A!=C0Bwinner=B|winner=DA=B|A=D0Cwinner=A&winner!=BA=A&A!=B1D!(winner=B|winner=D)!(A=B|A=D)1winner=winner=B B说话人说的话代入逻辑表达式值Awin
8、ner!=A&winner!=CB!=A&B!=C1Bwinner=B|winner=DB=B|B=D1Cwinner=A&winner!=BB=A&B!=B0D!(winner=B|winner=D)!(B=B|B=D)0说话人说的话代入逻辑表达式值Awinner!=A&winner!=CC!=A&C!=C0Bwinner=B|winner=DC=B|C=D0Cwinner=A&winner!=BC=A&C!=B0D!(winner=B|winner=D)!(C=B|C=D)1winner=winner=C Cl笨笨的写法笨笨的写法l如果题目有如果题目有100100人怎么办?人怎么办?l这么
9、写太麻烦了,也没有必要。这么写太麻烦了,也没有必要。n每次的测试计算是一样,只是每次的测试计算是一样,只是winnerwinner的值不一样的值不一样n我们需要依次遍历我们需要依次遍历winnerwinner的可能状态,即一个一的可能状态,即一个一个测试个测试循环结构循环结构 l循环结构是计算机程序中最常用的结构,它循环结构是计算机程序中最常用的结构,它能充分地利用计算机上擅长做重复运算的特能充分地利用计算机上擅长做重复运算的特点。点。lC C语言中可以使用语言中可以使用forfor语句,语句,whilewhile语句和语句和do-do-whilewhile语句实现循环结构,语句实现循环结构,
10、l其中其中forfor是用得最多,也是最灵活的一种是用得最多,也是最灵活的一种 for for语句语句 for(for(表达式表达式1;1;表达式表达式2;2;表达式表达式3)3)循环体(语句组);循环体(语句组);nforfor语句中表达式语句中表达式1 1,2 2,3 3都可以都可以缺省缺省n但括号中的但括号中的“;”不能缺少。不能缺少。n表达式表达式2 2缺省时,那么循环判断缺省时,那么循环判断结束条件为永真。结束条件为永真。使用使用forfor循环解题的实例循环解题的实例 l(1)(1)输入输入n n个整数,求这个个整数,求这个n n个整数的累加和。个整数的累加和。一共输入一共输入n+
11、1n+1个整数,第一个整数为个整数,第一个整数为n n。l求求n n(n0n0)个自然数中最大的一个。一共输)个自然数中最大的一个。一共输入入n+1n+1个自然数,第一个整数为个自然数,第一个整数为n n。解决任务4-3 循环程序设计循环程序设计练习练习1 1l求求100100以内的奇数、偶数之和以内的奇数、偶数之和l1 1、需要用到的变量需要用到的变量:i i被判断的数被判断的数=100=100sdsd:用于存放奇数的和用于存放奇数的和,se:,se:用于存放偶数的和用于存放偶数的和l2 2、如何判断奇数和偶数?如何判断奇数和偶数?l3 3、哪些内容要作为循环体?哪些内容要作为循环体?l4
12、4、有无要从键盘输入的数?输出什么数?有无要从键盘输入的数?输出什么数?循环程序设计循环程序设计练习练习2 2l输出一行字母,所输出的字母和个数从键盘输出一行字母,所输出的字母和个数从键盘输入输入例如:例如:输入:输入:C C,5 5 则输出:则输出:CCCCCCCCCC输出一行字母输出一行字母1 1、需要的变量:需要的变量:ch-ch-存放字母、存放字母、n-n-字母的个字母的个数、数、i-i-循环控制变量循环控制变量2 2、循环体的内容?循环体的内容?3 3、如果是输出一行数字?如果是输出一行数字?循环嵌套循环嵌套l如何输出一数字正方形?如何输出一数字正方形?111111111122222
13、22222333333333344444444445555555555需要重复执行练习需要重复执行练习2中的循环中的循环即循环嵌套即循环嵌套循环嵌套循环嵌套l一个循环体内包含着另一个一个循环体内包含着另一个完整完整的循环结构的循环结构,就称为循环嵌套。,就称为循环嵌套。l内嵌的循环中又可以嵌套循环,从而构成多内嵌的循环中又可以嵌套循环,从而构成多重循环重循环嵌嵌嵌套嵌套 for for 循环循环套循环套循环如果一个如果一个forfor循环出现在另一个循环出现在另一个forfor循环中,则循环中,则称它为嵌套循环称它为嵌套循环for(i=1;imax1;i+)for(j=0;j =max2;j+
14、)外层循环内层循环嵌套的循环控制变量不能相同内循环变化快,外循环变化慢循环嵌套循环嵌套举例举例l1 1、数字塔(数字塔(P50-3.8)P50-3.8)l2 2、九九乘法表九九乘法表1 1*1=11=12 2*1=2 21=2 2*2=42=43 3*1=3 31=3 3*2=6 32=6 3*3=93=9:9 9*1=9 91=9 9*2=18 92=18 9*3=27 93=27 9*9=819=81循环结构的循环结构的 3 3 种类型种类型for 循环while 循环do.while 循环whilewhile语句语句 while(while(表达式表达式)循环体(语句块);循环体(语句块
展开阅读全文