C语言大学使用教材第2版第5章讲稿

上传人:仙*** 文档编号:198981093 上传时间:2023-04-10 格式:PPT 页数:45 大小:145KB
收藏 版权申诉 举报 下载
C语言大学使用教材第2版第5章讲稿_第1页
第1页 / 共45页
C语言大学使用教材第2版第5章讲稿_第2页
第2页 / 共45页
C语言大学使用教材第2版第5章讲稿_第3页
第3页 / 共45页
资源描述:

《C语言大学使用教材第2版第5章讲稿》由会员分享,可在线阅读,更多相关《C语言大学使用教材第2版第5章讲稿(45页珍藏版)》请在装配图网上搜索。

1、 本章介绍条件的表示和程序的分支结构。本章介绍条件的表示和程序的分支结构。5.1 关系运算和关系表达式关系运算和关系表达式5.2 逻辑运算和逻辑表达式逻辑运算和逻辑表达式5.3 if 语句语句5.4 switch语句语句5.5 分支程序设计示例分支程序设计示例 任何一个解决实际问题的计算机程序,顺序执行的任何一个解决实际问题的计算机程序,顺序执行的顺序结构往往是很不够的,实际问题中,更多的是:顺序结构往往是很不够的,实际问题中,更多的是:根据特定条件的不同方面,有选择性地进行不同情根据特定条件的不同方面,有选择性地进行不同情况的处理;况的处理;在一定的条件下,有些处理需要反复多次地执行;在一定

2、的条件下,有些处理需要反复多次地执行;实现上述两种情况的程序结构分别是分支结构和循环结实现上述两种情况的程序结构分别是分支结构和循环结构,本章讨论程序的分支结构及其相应的控制语句。构,本章讨论程序的分支结构及其相应的控制语句。要设计选择结构程序,要考虑两个方面的问题:要设计选择结构程序,要考虑两个方面的问题:条件的表示条件的表示:一般用一般用关系表达式关系表达式或或逻辑表达式逻辑表达式。选择结构的控制语句选择结构的控制语句:if语句语句或或switch语句语句。“关系运算关系运算”实际上就是实际上就是“比较运算比较运算”,是逻辑运,是逻辑运算中比较简单的一种,即将两个数据进行比较,判定两算中比

3、较简单的一种,即将两个数据进行比较,判定两个数据是否符合给定的关系个数据是否符合给定的关系(条件条件)。比较运算的对象可以是两个类型相同的数值、字符、比较运算的对象可以是两个类型相同的数值、字符、地址。地址。例如,例如,“a b”中的中的“”表示一个大于关系运算。表示一个大于关系运算。如果如果a的值是的值是5,b的值是的值是3,则大于关系运算,则大于关系运算“”的结果的结果为为“真真”,即条件成立;如果,即条件成立;如果a的值是的值是2,b的值是的值是3,则,则大于关系运算大于关系运算“”的结果为的结果为“假假”,即条件不成立。,即条件不成立。1 关系运算符关系运算符 C语言提供语言提供6种关

4、系运算符:种关系运算符:(小于小于),(大于大于),=(大于或等大于或等于于),=(等于等于),!=或或(不等于不等于)注意注意:在语言中,在语言中,“等于等于”关系运算符是双等号关系运算符是双等号“=”,而不是单等号,而不是单等号“=”(赋值运算符赋值运算符)。2 优先级优先级 在关系运算符中,前在关系运算符中,前4个优先级相同,后个优先级相同,后2个也相个也相同,且前同,且前4个高于后个高于后2个。个。与其它种类运算符的优先级与其它种类运算符的优先级关系关系 关系运算符的优先级关系运算符的优先级低于低于算术运算符算术运算符、逻辑移位运算逻辑移位运算符符和和逻辑非逻辑非;关系运算符的优先级关

5、系运算符的优先级高高于于逻辑运算符逻辑运算符和和按位运算符按位运算符;关系运算符的优先级关系运算符的优先级高高于于赋值运算符;赋值运算符;总结起来,总结起来,C语言中各种主要语言中各种主要的运算符的优先级如图的运算符的优先级如图5-1所示。所示。!(非非)算术运算符算术运算符、=、b,a+bc-d,(a=3)=b,(ab)=(bc)2 关系表达式的值关系表达式的值 关系表达式的结果是逻辑值关系表达式的结果是逻辑值(非非“真真”即即“假假”)。由于由于C语言没有逻辑型数据,所以用整数语言没有逻辑型数据,所以用整数“”表示表示“逻辑真逻辑真”,用整数,用整数“”表示表示“逻辑假逻辑假”。例例:假设

6、假设num1=3,num2=4,num3=5,则:,则:num1num2的值的值=0。(num1num2)!=num3的值的值=1。num1num2num3的值的值=1。思考题:任意改变思考题:任意改变num1或或num2的值,会影响整个表的值,会影响整个表达式的值吗?为什么?达式的值吗?为什么?(num1num2)+num3的值的值=6,因为,因为num1=0”。如。如果需要描述果需要描述“x=0”、同时、同时“x=0)&(x10),(x5),!(x=0),(year%4=0)&(year%100!=0)|(year%400=0)2 运算规则运算规则&:当且仅当两个运算量的值都为:当且仅当两

7、个运算量的值都为“真真”时,时,运算结果为运算结果为“真真”,否则为,否则为“假假”。|:当且仅当两个运算量的值都为:当且仅当两个运算量的值都为“假假”时,运算时,运算结果为结果为“假假”,否则为,否则为“真真”。!:当运算量的值为:当运算量的值为“真真”时,运算结果为时,运算结果为“假假”;当运算量的值为当运算量的值为“假假”时,运算结果为时,运算结果为“真真”。各种逻辑运算及其真值表如表各种逻辑运算及其真值表如表5-1所示。所示。例例:假定假定x=5,则,则(x=0)&(x10)的值为的值为“真真”,(x5)的值为的值为“假假”。ab!a!ba&ba|b真真真真假假假假真真真真真真假假假假

8、真真假假真真假假真真真真假假假假真真假假假假真真真真假假假假表表5-1 逻辑运算及其真值表逻辑运算及其真值表1 逻辑表达式的概念逻辑表达式的概念 逻辑表达式逻辑表达式是指用逻辑运算符将是指用逻辑运算符将1个或多个表达式个或多个表达式连接起来,进行逻辑运算的式子。连接起来,进行逻辑运算的式子。在在C语言中,用逻辑表达式表示多个条件的组合。语言中,用逻辑表达式表示多个条件的组合。例例:判断一个年份是否是闰年。判断一个年份是否是闰年。判断某年判断某年year为闰年,闰年的条件是以下二者之一:为闰年,闰年的条件是以下二者之一:能被能被4整除但不能被整除但不能被100整除;整除;能被能被4整除又能被整除

9、又能被100整除;整除;可以用一个的逻辑表达式表示:可以用一个的逻辑表达式表示:(year%4=0)&(year%100!=0)|(year%400=0)逻辑表达式的值也是一个逻辑值逻辑表达式的值也是一个逻辑值(非非“真真”即即“假假”)。2 逻辑量的真假判定逻辑量的真假判定 C语言用整数语言用整数“”表示表示“逻辑真逻辑真”、用、用“”表表示示“逻辑假逻辑假”。但在判断一个数据的。但在判断一个数据的“真真”或或“假假”时,时,却以和非为根据:如果为,则判定为却以和非为根据:如果为,则判定为“逻辑假逻辑假”;如果为非,则判定为如果为非,则判定为“逻辑真逻辑真”。例例:假设假设num=12,则:

10、则:!num的值为的值为,num=1 num31的值为的值为1。3 说明说明 逻辑运算符两侧的操作数,除可以是和非的逻辑运算符两侧的操作数,除可以是和非的整数外,也可以是其它任何类型的数据,如实型、整数外,也可以是其它任何类型的数据,如实型、字符型等。字符型等。在计算逻辑表达式时,只有在必须执行下一个表在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式达式才能求解时,才求解该表达式(即并不是所有的即并不是所有的表达式都被求解表达式都被求解)。换句话说:。换句话说:对于逻辑与运算,如果第一个操作数被判定为对于逻辑与运算,如果第一个操作数被判定为“假假”,系统不再判定或求解第

11、二操作数。,系统不再判定或求解第二操作数。对于逻辑或运算,如果第一个操作数被判定为对于逻辑或运算,如果第一个操作数被判定为“真真”,系统不再判定或求解第二操作数。,系统不再判定或求解第二操作数。例例:假设假设n1、n2、n3、n4、x、y的值分别为的值分别为1、2、3、4、1、1,则求解表达式则求解表达式“(x=n1n2)&(y=n3n4)”后,后,x的值的值变为,而变为,而y的值不变,仍等于的值不变,仍等于1!例例1:输入任意三个整数输入任意三个整数num1、num2、num3,求三个,求三个数中的最大值。数中的最大值。main()int num1,num2,num3,max;printf(

12、Please input three numbers:);scanf(%d,%d,%d,&num1,&num2,&num3);if(num1num2)max=num1;else max=num2;if(num3max)max=num3;printf(The three numbers are:%d,%d,%dn,num1,num2,num3);printf(max=%dn,max);程序运行情况如下:程序运行情况如下:Please input three numbers:11,22,18 The three numbers are:11,22,18max=22 本例中的第本例中的第1个个if语

13、句,可优化为如下不带语句,可优化为如下不带else子句子句的形式:的形式:max=num1;if(num2max)max=num2;这种优化形式的基本思想是:首先取一个数预置为这种优化形式的基本思想是:首先取一个数预置为max(最大值最大值),然后再用,然后再用max依次与其余的数逐个比较,依次与其余的数逐个比较,如果发现有比如果发现有比max大的,就用它给大的,就用它给max重新赋值,比较重新赋值,比较完所有的数后,完所有的数后,max中的数就是最大值。这种方法,对中的数就是最大值。这种方法,对从从3个或个或3个以上的数中找最大值的处理,非常有效。个以上的数中找最大值的处理,非常有效。简单分

14、支简单分支指的是某一程序段的执行取决于条件是指的是某一程序段的执行取决于条件是否成立否成立(为为“真真”)。1 语句语句格式格式if();2 语句语句的作用的作用 当当为为“真真”时,执行时,执行;否则,跳过;否则,跳过,什么也不执行。,什么也不执行。if语句是用来控制程序分支结构的一种方式,是根语句是用来控制程序分支结构的一种方式,是根据条件是否满足,决定执行不同的程序部分,据条件是否满足,决定执行不同的程序部分,C语言中语言中的的if语句有三种形式。语句有三种形式。3 语句语句的执行过程的执行过程如右图如右图5-2所示。所示。4 说明说明 表示条件,常用关系表表示条件,常用关系表达式或逻辑

15、表达式表示,称为达式或逻辑表达式表示,称为“条条件表达式件表达式”,必须放在一对圆括号,必须放在一对圆括号中。也可以为整型或字符表达式。中。也可以为整型或字符表达式。非非0为为0图图5-2 简单分支执行过程简单分支执行过程 是当条件为是当条件为“真真”(非非0)时所要完成的处理。时所要完成的处理。当处理是由两个或两个以上的简单语句组成时,必当处理是由两个或两个以上的简单语句组成时,必须构造成复合语句,且复合语句的最后不能有须构造成复合语句,且复合语句的最后不能有“;”。例例1:输入两个实数,按从大到小输出。输入两个实数,按从大到小输出。分析:假设输入的数是分析:假设输入的数是a,b,输出的顺序

16、也是,输出的顺序也是a,b,则,则当当a小于小于b时交换。时交换。main()float a,b,temp;scanf(%f,%f,&a,&b);if(ab)temp=a;a=b;b=temp;printf(a=%6.2f,b=%6.2f,a,b);选择分支选择分支指的是根据一个条件,在不同的情况指的是根据一个条件,在不同的情况(为为“真真”或为或为“假假”)时分别执行不同的处理。时分别执行不同的处理。1 语句语句格式格式if();else;2 语句语句的作用的作用 当当为为“真真”时,执行时,执行;否则,即;否则,即为为“假假”时,执行时,执行。3 语句语句的执行过程的执行过程如右图如右图5

17、-3所示。所示。例例2:输入两个实数,按从大输入两个实数,按从大到小输出。到小输出。分析:假设输入的数是分析:假设输入的数是a,b,根据,根据a,b值的大小,输出值的大小,输出的顺序分别是的顺序分别是a,b或或b,a。main()float a,b,temp;scanf(“%f,%f,&a,&b);if(a=b)printf(%6.2f,%6.2f,a,b);else printf(%6.2f,%6.2f,b,a);图图5-3 选择分支执行过程选择分支执行过程非非0为为0 多条件选择多条件选择指的是在一个条件下分不同的情况,指的是在一个条件下分不同的情况,然后继续往下还有更加递进的条件。然后继

18、续往下还有更加递进的条件。C语言用语言用ifelse实实现。现。1 语句语句格式格式if();else if();else if();else if();else;3 语句语句的执行过程的执行过程如右图如右图5-4所示。所示。图图5-4 多条件选择执行过程多条件选择执行过程为为0非非0非非0为为0为为0非非0为为04 说明说明 在选择分支及多条件选择的语句形式中,在选择分支及多条件选择的语句形式中,每个每个else前面以及整个语句的最后必须要有前面以及整个语句的最后必须要有“;”,若没有,若没有,则是语法错误。当则是语法错误。当是复合语句时则不能有是复合语句时则不能有“;”;上述两种形式中的上

19、述两种形式中的if和和else是两个不同的语句,它是两个不同的语句,它们都属于同一个们都属于同一个if语句;语句;else子句不能作为一个语句子句不能作为一个语句单独使用,是单独使用,是if语句的一部分,必须与语句的一部分,必须与if配对使用。配对使用。例例3:输入三个整数输入三个整数a,b,c,若能构成三角形则求三角形,若能构成三角形则求三角形的面积;若不能则给出提示信息。的面积;若不能则给出提示信息。分析:三个数分析:三个数a,b,c,若满足下列三种情况之一就不,若满足下列三种情况之一就不能构成三角形。能构成三角形。a,b,c中只要有一个为负数或中只要有一个为负数或0;任意两个数之和小于或

20、等于另一个数;任意两个数之和小于或等于另一个数;任意两个数之差大于或等于另一个数;任意两个数之差大于或等于另一个数;#include#include main()int a,b,c;float s,area;scanf(%d,%d,%d,&a,&b,&c);if(a=0|b=0|c=0)printf(Data are error!n);else if(a+b=c|a+c=b|b+c=c|a-c=b|b-c=a)printf(It is not a trilateral!n);else s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(The

21、area is%8.3f,area);在前面的几种在前面的几种if语句结构中,语句可以是复合语句,语句结构中,语句可以是复合语句,当然可以包含一个或多个当然可以包含一个或多个if语句的分支结构,称为分支语句的分支结构,称为分支的嵌套。的嵌套。1 语句语句格式格式if (expL1)if(expL11);else ;else if(expL21);else ;内嵌的内嵌的if内嵌的内嵌的if分支的嵌套形式之一分支的嵌套形式之一2 说明说明 对于对于多条件选择多条件选择或或分支的嵌套分支的嵌套,特别要注意,特别要注意else与与if的的匹配关系匹配关系。else总是与其前面最近的总是与其前面最近的

22、if匹配;匹配;在程序中,当在程序中,当if和和else的数目不一致时,为了保证的数目不一致时,为了保证分支结构在逻辑上是清晰的,最好使用分支结构在逻辑上是清晰的,最好使用“”构成复构成复合语句来确定合语句来确定else与与if的匹配关系。的匹配关系。分支的嵌套形式之二分支的嵌套形式之二if (expL)if(expL1);else if (expL2);else ;内嵌的内嵌的if内嵌的内嵌的if例例4:输入三个整数输入三个整数a,b,c,求最大值。,求最大值。以下给出三个程序,判断哪个能求得真正的最大值。以下给出三个程序,判断哪个能求得真正的最大值。程序一:程序一:#include mai

23、n()int a,b,c,max;scanf(%d,%d,%d,&a,&b,&c);max=a;if(cb)if (ba)max=c;elseif(ca)max=b;printf(max=%dn,max);程序二:程序二:#include main()int a,b,c,max;scanf(%d,%d,%d,&a,&b,&c);max=a;if(cb)if (ba)max=c;else if(ca)max=b;printf(max=%dn,max);程序三:程序三:#include main()int a,b,c,max;scanf(%d,%d,%d,&a,&b,&c);max=a;if(ma

24、xb)max=b;if (maxc)max=c;printf(max=%dn,max);若若在选择分只在选择分只结构中,当条件为结构中,当条件为“真真”或为或为“假假”时要做的处理仅仅是给同一个变量赋值。对于这种情况,时要做的处理仅仅是给同一个变量赋值。对于这种情况,C语言提供了简单的条件运算符来实现。语言提供了简单的条件运算符来实现。1 语句符形语句符形式式?:2 功能功能 若若为为“真真”(非非0),则以,则以作为整个条作为整个条件运算表达式的值;否则,以件运算表达式的值;否则,以作为整个条件运算作为整个条件运算表达式的值。表达式的值。如表达式如表达式:(a=0)?a:-a,是求,是求|a

25、|。例例5:输入三个整数输入三个整数a,b,c,求最大值。,求最大值。#include main()int a,b,c,max;scanf(%d,%d,%d,&a,&b,&c);max=a;max=(maxb)?b:max;max=(maxc)?c:max;printf(max=%dn,max);3 说明说明 条件运算不能取代一般的条件运算不能取代一般的ifelse语句,只有当条语句,只有当条件为件为“真真”或为或为“假假”时要做的处理仅仅是给同一时要做的处理仅仅是给同一个变量赋值时才可以替换个变量赋值时才可以替换ifelse语句;语句;条件运算表达式中,条件运算表达式中,和和的类型可以的类型

26、可以不同,但一般应是相容的;不同,但一般应是相容的;条件运算可以嵌套,即条件运算可以嵌套,即或或由可以是由可以是条件运算表达式。如上例中的三个语句:条件运算表达式。如上例中的三个语句:max=a;max=(maxb)?b:max;max=(maxb)?(ac?a:c):(bc?b:c);实际应用中有这样的情况:同一个数值有多种不同实际应用中有这样的情况:同一个数值有多种不同的处理方式,即多分支选择处理。的处理方式,即多分支选择处理。C语言提供了语言提供了switch语句直接处理多分支选择。语句直接处理多分支选择。1 switch语句的一般形式语句的一般形式switch()case :;brea

27、k;case :;break;.case :;break;default:;例例6:从键盘上输入一个百分制成绩从键盘上输入一个百分制成绩score,按下列原则,按下列原则输出其等级:输出其等级:score90,等级为,等级为A;80score90,等级,等级为为B;70score80,等级为,等级为C;60score70,等级为,等级为D;score60,等级为,等级为E。main()int score,grade;printf(Input a score(0100):);scanf(%d,&score);grade=score/10;/*将成绩整除将成绩整除10,转化成,转化成switch语

28、句中的语句中的case标号标号*/switch(grade)case 10:case 9:printf(grade=An);break;case 8:printf(grade=Bn);break;case 7:printf(grade=Cn);break;case 6:printf(grade=Dn);break;case 5:case 4:case 3:case 2:case 1:case 0:printf(grade=En);break;default:printf(The score is out of range!n);2 功能功能 switch后的后的依次与各个常量表达式进行测依次与

29、各个常量表达式进行测试,如果某个常量与试,如果某个常量与的值相等,则以此的值相等,则以此case作作为执行的入口,往下执行为执行的入口,往下执行switch结构中的所有语句,直结构中的所有语句,直到遇到到遇到break语句或到达语句或到达switch的末尾。的末尾。3 执行过程执行过程 计算计算switch后后的值;的值;依次与依次与case后的各个常量表达式进行测试后的各个常量表达式进行测试;若与某个若与某个case后面的后面的“常量表达式常量表达式”的值相同时,的值相同时,则以此则以此case作为执行的入口,往下执行作为执行的入口,往下执行switch结构中结构中的所有语句,直到遇到的所有

30、语句,直到遇到break语句或到达语句或到达switch的末的末尾。当执行到尾。当执行到break语句时,跳出语句时,跳出switch语句,转向语句,转向执行执行switch语句的下一条;语句的下一条;如果没有任何一个如果没有任何一个case后面的后面的“常量表达式常量表达式”的的值与值与“表达式表达式”的值匹配时:的值匹配时:l 若有若有default子句,则执行子句,则执行default后面的语句后面的语句(组组),执行完后跳出执行完后跳出switch语句,转向执行语句,转向执行switch语句的语句的下一条;下一条;l 若没有若没有default子句,则直接跳出子句,则直接跳出switc

31、h语句,语句,转向执行转向执行switch语句的下一条。语句的下一条。4 说明说明 switch后面的后面的“表达式表达式”称为称为“开关控制表达开关控制表达式式”,可以是,可以是int、char和枚举型中的一种。和枚举型中的一种。Case后后的各个常量的类型必须与该的各个常量的类型必须与该“表达式表达式”的类型相同;的类型相同;每个每个case后面后面“常量表达式常量表达式”的值,必须互不相的值,必须互不相同,否则会出现相互矛盾现象。但当多个常量相匹同,否则会出现相互矛盾现象。但当多个常量相匹配后做相同的处理配后做相同的处理(执行相同的语句序列执行相同的语句序列)时,这多个时,这多个case

32、可以依次排在一起,如例可以依次排在一起,如例6;各个各个case和和default的次序并不影响执行结果,但的次序并不影响执行结果,但一般将一般将default子句放在最后;子句放在最后;casecase后面的常量表达式仅起语句标号作用后面的常量表达式仅起语句标号作用,并不并不进行条件判断进行条件判断。系统一旦找到入口标号,就从此标系统一旦找到入口标号,就从此标号开始执行,不再进行判断。因此,当一个号开始执行,不再进行判断。因此,当一个case后的后的语句组执行完后应及时地结束语句组执行完后应及时地结束switch语句,则在语句语句,则在语句组的最后应加上组的最后应加上break语句。语句。例

33、例1:求方程求方程ax2+bx+c=0的实数根。的实数根。a,b,c由键盘输由键盘输入,假设入,假设a0。分析:根据输入的系数分析:根据输入的系数a,b,c,有以下几种情况:,有以下几种情况:b2-4ac=0:有两个相等的实根;:有两个相等的实根;b2-4ac0:有两个不相等的实根;:有两个不相等的实根;b2-4ac0:有两个共轭虚根;:有两个共轭虚根;其次,由于实数的存储误差,一般在判断实数是否其次,由于实数的存储误差,一般在判断实数是否为为0时不是以真正的值时不是以真正的值0作为标准,而是将一个很小的数作为标准,而是将一个很小的数(如如10-6)看成看成0。#include main()f

34、loat a,b,c,disc,x1,x2,p,q;scanf(%f,%f,%f,&a,&b,&c);disc=b*b-4*a*c;if(fabs(disc)1e-6)x1=(-b+sqrt(disc)/(2*a);x2=(-b-sqrt(disc)/(2*a);printf(x1=%7.2f,x2=%7.2fn,x1,x2);else p=-b/(2*a);/*求出两个共轭复根求出两个共轭复根*/q=sqrt(fabs(disc)/(2*a);printf(x1=%7.2f+%7.2f in,p,q);printf(x2=%7.2f-%7.2f in,p,q);例例2:已知某公司员工的保底薪

35、水为已知某公司员工的保底薪水为500,某月所接工,某月所接工程的利润程的利润profit(整数整数)与提成的关系如下与提成的关系如下(单位:元单位:元):profit1000没有提成;没有提成;1000profit2000提成提成10%;2000profit5000提成提成15%;5000profit10000提成提成20%;10000profit提成提成25%。算法设计要点算法设计要点:为使用为使用switch语句,必须将利润语句,必须将利润profit与提成的关系,与提成的关系,转换成某些整数与提成的关系。分析本题可知,提成的转换成某些整数与提成的关系。分析本题可知,提成的变化点都是变化点

36、都是1000的整数倍的整数倍(1000、2000、5000、),如果将利润如果将利润profit整除整除1000,则当:,则当:profit1000对应对应0、11000profit2000对应对应1、22000profit5000对应对应2、3、4、55000profit10000对应对应5、6、7、8、9、1010000profit对应对应10、11、12、为解决相邻两个区间的重叠问题,最简单的方法就为解决相邻两个区间的重叠问题,最简单的方法就是:利润是:利润profit先减先减1(最小增量最小增量),然后再整除,然后再整除1000即可:即可:profit1000对应对应01000prof

37、it2000对应对应12000profit5000对应对应2、3、45000profit10000对应对应5、6、7、8、910000profit对应对应10、11、12、#include main()long profit;int grade;float salary=500;printf(Input profit:);scanf(%ld,&profit);grade=(profit 1)/1000;/*将利润将利润-1整除整除1000,转化成,转化成 switch语句中的语句中的case标号标号*/switch(grade)case 0:break;/*profit1000*/case 1:salary+=profit*0.1;break;case 2:case 3:case 4:salary+=profit*0.15;break;case 5:case 6:case 7:case 8:case 9:salary+=profit*0.2;break;default:salary+=profit*0.25;printf(salary=%.2fn,salary);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!