欢迎来到天天文库
浏览记录
ID:37575533
大小:780.81 KB
页数:58页
时间:2019-05-12
《逻辑思维与逻辑问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、逻辑思维与逻辑问题闰年我们知道有些年份是闰年,有366天,其规则为如果年份能被400整除,那么它是闰年;否则,如果年份能被4整除并不能被100整除,那么它是闰年,否则为平年,请写一个程序,输入年份,计算此年份是否为闰年。目前我们所学能做的整除计算如果a整除b,等价于b对于a取余为0。如果a不能整除b,等价于b对于a取余不为0。显然光有这些不能完成任务的计算。我们还需要什么?根据余数的结果对程序进行不同处理关系运算和关系表达式条件分支语句关系运算与关系表达式用于将数值大小关系使用计算机语言进行描述。关系运算符,一共6个==等于!=不等于>大于<小于>
2、=大于等于<=小于等于关系表达式一般形式<表达式1>关系运算符<表达式2>如果表达式1的值与表达式2的值满足关系运算符的关系,则此关系表达式的值为1,否则为0。比如a>b,如果a的值为1,b的值为2,则此表达式的值为0;如果a的值为2,b的值为1,则此表达式的值为1。C语言中使用0表示假,非0表示真关系表达式值的示例程序#includeintmain(){printf("3>4的逻辑值是%d",3>4);printf("3<4的逻辑值是%d",3<4);printf("3>=4的逻辑值是%d",3>=4);printf
3、("3<=4的逻辑值是%d",3<=4);printf("3!=4的逻辑值是%d",3!=4);printf("3==4的逻辑值是%d",3==4);return0;}目前我们进了一步我们可以计算年份是否整除某一个数了。先定义一个整型变量year来存储用户输入的年份语句写成表达式year=2000year=2008year=1900被400整除year%400==0100被4整除year%4==0111不被100整除year%100!=0010分支结构通过计算关系,我们对不同的情况需要进行不同的处理,我们需要学习分支结构。if语句C语言
4、中使用if语句来实现分支结构。(1)第1种情况if(表达式)语句1;如果表达式为真,则只执行语句1;否则什么都不做。if语句(2)第2种情况if(表达式){语句块1;}如果表达式为真,则执行语句块1(可能是多条语句)的内容;否则什么都不做。if语句(3)第3种情况if(表达式)语句1;else语句2;如果表达式为真,则执行语句1;否则执行语句2。if语句(4)第4种情况if(表达式){语句块1;}else{语句块2;}如果表达式为真,则执行语句块1;否则执行语句块2;if语句的嵌套由于if语句的子句中也可以是if语句,所以会出现if语句的嵌套情况i
5、f(表达式1)if(表达式2)语句1;else语句2;是哪一种?else总和它之前的未匹配的最近的一个if匹配if(表达式1){if(表达式2)语句1;}else语句2;强烈建议建议对所有子句都是用花括号括起来,这样一来层次很清晰,二来不会因为if-else匹配问题导致程序逻辑错误。分支结构实例计算分段函数处理流程判断x的值,根据不同的值,做不同的处理解决任务4-1我们学习了if语句后,就有能力解决任务4-1了【任务4-2】计算器请设计一个计算器,支持加,减,乘,除四种操作,四种操作分别用操作符(‘+’,‘-’,‘*’,‘/’)表示,每次用户先输入
6、一个操作符,然后输入两个数,计算器输出计算结果。比如输入“+1.12.2”,输出1.1+2.2=3.3。我们所学的知识够不够?读入字符和数值scanf判断操作符类型if计算数值算术运算OK,我们学的已经可以解决这个问题了!!!例程例程不够优美if-else的嵌套太多了,不清晰,很累赘C语言提供一个多路开关语句switchswitchswitch(表达式){case值1:操作1;break;case值2:操作1;break;...case值n:操作n;break;default:其他情况下的操作;break;}注意点(1)表达式的值和case子句的值
7、必须是整型,字符型(注意是字符,不是字符串)或者枚举型。注意点(2)break语句在switch中表示跳出switch的结构,也就是说程序运行break语句后,直接会跳到switch语句结构的“}”后面一条语句。如果进行对应的操作后不写break语句,那么程序会继续顺序执行。注意点(3)default项可以缺省,如果缺省而表达式计算的值又没有case子句的值与之匹配,则程序什么都不做。使用switch完成任务4-2if-else与switch的比较switch能做的,if-else一定能做if-else能做的,switch不一定能做,或者不好使用s
8、witch实现只有当分类值很容易通过计算得到时,使用switch才简洁和优美,否则不如用if-else小技巧如果分区范围是
此文档下载收益归作者所有