资源描述:
《选择结构程序设计-1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5讲选择结构程序设计-1思考:若输入的三个边长不构成三角形怎么办?请画出程序的算法。输入a,b,c构成三角形吗?计算S计算area输出area输出“不构成三角形”YN结束开始选择结构2程序#include#includevoidmain(){floata,b,c,s,area;/*定义实数变量*/printf("Pleaseinputa,b,c:");scanf("%f,%f,%f",&a,&b,&c);if(a+b>c&&b+c>a&&c+a>b){s=(a+b+c)/2;area=sqrt(s*(s-a
2、)*(s-b)*(s-c));/*计算面积*/printf(“area=%f”,area);/*输出面积*/}elseprintf("你输入的数据不能构成三角形!");}不括括号会怎样?3涉及的语法选择结构语句格式if(条件表达式){……}else{……}else分支可以省略,此时为单分支结构4涉及的语法-关系运算符><>=<===!=大于,小于,大于等于,小于等于,等于,不等于运算结果只有两个值:0和非0,0表示假,即该关系不成立;非0,表示真,即该关系成立例如:2006%4==0的结果是?0,表示假(关系不成立)优先级:在算术运算符
3、和赋值运算符之间。结合性:自左向右5涉及的语法-逻辑运算符逻辑运算也被称为布尔(Boolean)运算,即参与运算的数据和运算结果都只有两个值:0和非0,0表示假(条件不成立);非0表示真(条件成立)与运算&&(相当于而且)a&&b当且仅当两者都为真,则结果为真(a>b&&b>c);a大于b,并且b大于c或运算
4、
5、(相当于或者)a
6、
7、b只要两者中有一个为真,结果就为真(a>b
8、
9、b>c);a大于b,或者b大于c求反!单目运算符(!a);如果a是0,结果非0;如果a是非0,结果是0并不改变a的值优先级:!(2)&&(11)
10、
11、(12)高低6逻辑
12、运算符及其表达式逻辑运算符种类:!&&
13、
14、逻辑运算真值表ab!a!ba&&ba
15、
16、b真假真假假假真真真假假假假假真真假假真真真假真真C语言中,运算量:0表示“假”,非0表示“真”,运算结果:0表示“假”,1表示“真”,7表4-1逻辑运算真值表aba&&ba
17、
18、b!a000010101110010111108简单的程序测试一次输入,得到正确的输出结果并不能说明问题,要精心选择不同的输入(测试用例),反复进行测试,才能逐渐发现程序里的问题因此,要想测试例1程序是否正确,要制作一个测试表,如右图所示:测试用例预测结果实际结果3,4,5area=6.
19、000000?1,1,5你输入的数据不能构成三角形!?1,5,1你输入的数据不能构成三角形!?5,1,1你输入的数据不能构成三角形!?当所有实际结果都与预测结果一样时,方可结束程序测试。9例4-10从键盘上输入一个年份,然后判断这个年份是否为闰年。分析结果(算法)输入yearyear%4==0&&!(year%100==0)
20、
21、判断year是否为闰年输出yes或no如果year能被4整除且不能被100整除,或者year能被400整除,year是闰年,否则year不是闰年。10分析year能被4整除且不能被100整除,或者year能被400整除
22、(?)或者(?)(?且?)或者(?)(?&&?)
23、
24、(?)(year%4==0&&year%100!=0)
25、
26、(year%400==0)如果year能被4整除且不能被100整除,或者year能被400整除,year是闰年,否则year不是闰年。%求模(余)运算符,优先级与结合性同/(除法运算符)结果的符号与被除数的符号相同例:printf("10%3=%d,-10%3=%d,10%-3=%d,-10%-3=%d",10%3,-10%3,10%-3,-10%-3);结果为:10%3=1,-10%3=-1,10%-3=1,-10%-3=-1i
27、f(year%4==0&&year%100!=0)
28、
29、(year%400==0){printf(“%disaleapyear!”,year);}else{printf(“%disnotaleapyear!”,year);}11程序#includevoidmain(){intyear;printf(“pleaseinputyear:”);scanf(“%d”,&year);if((year%4==0&&year%100!=0)
30、
31、(year%400==0))printf(“%disaleapyear!”,year);elsep
32、rintf(“%disnotaleapyear!”,year);}12写成多函数程序#includeintLeapYear(intyear);//