资源描述:
《switch、算法和流程图-ok》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计(A)郭素梅GUOSumei2021/7/21(c)GuoS.运算符=(赋值)+,-,*,/,%双目(算术)++,--单目(自增减)+=,-=,*=,/=,%=双目(复合)>,<,>=,<=,==,!=双目(关系)&&,
2、
3、双目(逻辑)!单目(逻辑)?:三目(条件)2021/7/21(c)GuoS.条件运算符A?B:C使用法:表达式1?表达式2:表达式3表达式1成立的话,其值为表达式2的值,否则为表达式3的值。max=x>y?x:y;唯一的三目运算符完全等价于:if(x>y)max=x;elsemax
4、=y;2021/7/21(c)GuoS.认识条件运算符A?B:CX=X<0?-X:X;M=M?X:Y;D>=0?(D>0?printf(“两个实数解”):printf(“一个实数解”)):printf(“无实数解”);if(X<0)x=-x;if(M)M=x;elseM=y;if(D>=0){if(D>0)printf(“两个实数解”);elseprintf(“一个实数解”);}elseprintf(“无实数解”);2021/7/21(c)GuoS.a,b,c,d四个数的最大值m1=a>b?a:b;m2=c
5、>b?c:d;max=m1>m2?m1:m2;if语句练习键盘给定三个浮点数a,b和c,求最大值max,和最小值min,并输出键盘输入一个整数m,作为月份。当m大于12或小于1时,输出“输入错误”;当m为3到5,输出“春天”;6到8,输出“夏天”;9到11,输出“秋天”;12,1和2时,输出“冬天”2021/7/21(c)GuoS.if语句练习键盘给定三个浮点数a,b和c,将其按照a大于等于b,且b大于等于c的要求,排序后,输出。【思考:四位数如何做?】键盘输入一个三位数的整数,判断是否为水仙花数,是则输出“1”,
6、不是则输出“0”。输入的不是三位数,则输出“输入错误”。2021/7/21(c)GuoS.if语句练习键盘输入一个浮点数score,作为成绩。当大于100或小于0,输出“输入错误”;在0到100之间,将其转换为五级制,即90到100为“优秀”,80到89为“良好”,70到79为“中等”,60到69为“及格”,0到59为“不及格”。算命先生2021/7/21(c)GuoS.重要题水仙花数;勾股数;对称数;闰年公倍数&公约数、完数倒序输出;图形输出;计算面积(简单图形、函数)级数排序(数字、字符串);统计(最大、最小、
7、平均、方差)2021/7/21(c)GuoS.2021/7/21(c)GuoS.2021/7/21(c)GuoS.Switch语句:多分支if语句是有两个分支。。。Switch语句实现多分支:根据表达式的值进行选择流程图2021/7/21(c)GuoS.Switch语句:多分支switch(表达式){case常量1:语句1case常量2:语句2...case常量n:语句ndefault:语句n+1}格式为:表达式的值=常量1表达式的值=常量2表达式的值=常量n表达式的值没有匹配的常量所有case仅是标记为程序执行的
8、入口,不做判断。停止执行要用break2021/7/21(c)GuoS.2case后的每个常量表达式必须各不相同。1括号内的表达式可以是int,char。3case和default的位置是任意的。4每一个case之后应有一个以跳出switch()结构。break(间断语句);5每个case之后的执行语句可多于一个,但不必加{}。6允许几种case情况下执行相同的语句,不必每个都写case。注意事项2021/7/21(c)GuoS.举例用switch语句实现输入100分制,输出对应五级制输入月份,输出对应的季度20
9、21/7/21152021/7/21(c)GuoS.例:输入年,月,计算该月有多少天?main(){intyear,month,days;printf(“Enteryear,month”);scanf(“%d,%d”,&year,&month);switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;几个CASE执行相同的语句跳出开关结构处理大月程序举例关系到如何判闰年?2021/7/21(c)GuoS.case4:case
10、6:case9:case11:days=30;break;case2:if((year%4==0)&&(year%100!=0)
11、
12、(year%400)==0)days=29;elsedays=28;break;default:printf(“Entererror!”);days=0;break;}if(days!=0)printf(“%d”,day