(4)--C语言课件第04章选择程序.ppt

上传人:奉*** 文档编号:96320937 上传时间:2023-11-02 格式:PPT 页数:114 大小:480.60KB
返回 下载 相关 举报
(4)--C语言课件第04章选择程序.ppt_第1页
第1页 / 共114页
(4)--C语言课件第04章选择程序.ppt_第2页
第2页 / 共114页
点击查看更多>>
资源描述

《(4)--C语言课件第04章选择程序.ppt》由会员分享,可在线阅读,更多相关《(4)--C语言课件第04章选择程序.ppt(114页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第4章章选择结构程序选择结构程序第第4章章选择结构程序选择结构程序根据条件是否成立,根据条件是否成立,有选择地有选择地执行程序中执行程序中的语句。的语句。实现选择结构的实现选择结构的两个两个前提前提1.能够能够在程序中表示在程序中表示条件。条件。2.有有实现选择的实现选择的语句。语句。1.在在C语言中通常使用语言中通常使用关系表达式关系表达式或或逻辑表逻辑表达式达式来表示条件。来表示条件。2.实现选择结构有两种语句实现选择结构有两种语句if语句语句switch语句语句关系运算符关系运算符有有6种种关系运算符,包括关系运算符,包括、=、=、!=。关系运算是关系运算是对两个数据之间大小关系的一对

2、两个数据之间大小关系的一种种声明声明。可见可见,关系运算的结果是一个逻辑值。,关系运算的结果是一个逻辑值。若若声明声明成成立立,则运算结果则运算结果为为“真真”,否则为,否则为“假假”。例如例如,55的结果为的结果为“假假”。逻辑值的表示逻辑值的表示关系运算关系运算的结果是一个的结果是一个逻辑值逻辑值,即,即“真真”(true)或者)或者“假假”(false)。不过不过,C语言中没有语言中没有逻辑型数据逻辑型数据,故借用,故借用整整数数1代表代表“真真”,借用,借用0代表代表“假假”。关系表达式关系表达式用用关系运算符关系运算符将将运算量运算量连接起来构成的表连接起来构成的表达式,称为关系表达

3、式。达式,称为关系表达式。例如:例如:a=ba%2=0a%2!=0【例例】若若有有inta=3,b=2,c=1;,则,则有有ab结果结果为为1;a%2!=0结果结果为为1;c=cbc结果结果为为0(先求得(先求得ab的值,再与的值,再与c进行关系运算)。进行关系运算)。复合条件的表示复合条件的表示关系关系表达式通表达式通常用于表示常用于表示单一的单一的条件,若条件,若要表示要表示复合的复合的条件,则需要使用条件,则需要使用逻辑逻辑表表达式。达式。例如,条件例如,条件“x0并且并且x10”不能不能表示为表示为0 xb|cd&xy等价于等价于(ab)|(cd)&(xy)!a|ab等价于等价于(!a

4、)|(ab)逻辑表达式逻辑表达式由由逻辑运算符逻辑运算符将将运算量运算量连接起来构成的表连接起来构成的表达式,称为逻辑表达式。达式,称为逻辑表达式。例如:例如:数学数学中的中的0 x0)&(x10),而表达式而表达式0 xy)max=x;elsemax=y;printf(Goodbye!n);【例例】从键盘输入两个整数,求出较大数并从键盘输入两个整数,求出较大数并输出。输出。流程图:流程图:#includeintmain(void)inta,b,max;scanf(%d%d,&a,&b);if(ab)max=a;elsemax=b;printf(max=%dn,max);return0;能被能

5、被4 4整除的年份整除的年份能被能被100100整除的年份整除的年份能被能被4整除但不能整除但不能被被100整除的整除的年份年份year%4=0&year%100!=0能被能被400整除的年份整除的年份year%400=0例例.输入输入一个年份,一个年份,判断是否判断是否是是闰年。闰年。【例例4.4】编程序实现:输入一个年份,判编程序实现:输入一个年份,判断是否是闰年断是否是闰年。流程图:流程图:#includeintmain(void)intyear;printf(请输入一个年份:请输入一个年份:);scanf(%d,&year);if(year%4=0)&(year%100!=0)|(ye

6、ar%400=0)printf(%d是闰年是闰年n,year);elseprintf(%d不是闰年不是闰年n,year);return0;2.不带不带else的的if结构结构一般形式:一般形式:if(表达式表达式)单条单条语句语句功能:功能:若若表达式的值为非表达式的值为非0,则执行其后的语句,则执行其后的语句,然后执行然后执行if语句的后继语句;否则,直语句的后继语句;否则,直接执行接执行if语句的后继语句语句的后继语句。功能:功能:【例例4.5】分析运行如下程序。分析运行如下程序。#includeintmain(void)inta;scanf(%d,&a);if(a0);printf(go

7、od!n);return0;【例例4.5】修正之后的程序修正之后的程序。#includeintmain(void)inta;scanf(%d,&a);if(a0)printf(good!n);return0;【例例4.6】从键盘上输入三个整数,求出其从键盘上输入三个整数,求出其中的最大数中的最大数。编程思路:编程思路:首先,求出前两个数中的最大数,并存入首先,求出前两个数中的最大数,并存入变量变量max中。然后,用第三个数与中。然后,用第三个数与max比比较,从而求得三个数中的最大数。较,从而求得三个数中的最大数。#includeintmain(void)inta,b,c,max;printf

8、(请输入三个整数:请输入三个整数:);scanf(%d%d%d,&a,&b,&c);if(ab)max=a;elsemax=b;if(cmax)max=c;printf(最大数最大数=%dn,max);return0;【例例】从键盘输入从键盘输入x的值,求出的值,求出y的值并输的值并输出。出。1若若x0其中其中y=0若若x=0-1若若x0问题分析:问题分析:这是一个这是一个多分支多分支问题,可以将每个分支转问题,可以将每个分支转换为一个换为一个不带不带else的的if语句语句。#includeintmain(void)floatx,y;scanf(%f,&x);if(x0)y=1;if(x=0

9、)y=0;if(x0)y=-1;printf(y=%.0fn,y);return0;关于关于if条件条件if之后的表达式除了可以是之后的表达式除了可以是关系表达式关系表达式或或逻辑表达式逻辑表达式之外之外,还还可以是任意的结果类型为可以是任意的结果类型为整型、实型、整型、实型、字符型、枚举型或指针型字符型、枚举型或指针型的表达式的表达式。而且而且,只要表达式的值为非,只要表达式的值为非0,就看作真;,就看作真;只要表达式的值为只要表达式的值为0,就看作假,就看作假。【例例】分析运行如下程序。分析运行如下程序。#includeintmain(void)inta,b;scanf(%d,&a);if

10、(a)b=1;elseb=0;printf(b=%dn,b);return0;可见可见:if(a)等价于等价于if(a!=0)if(!a)等价于等价于if(a=0)在在判断相等时,要使用等于运算符判断相等时,要使用等于运算符“=”,而不要误用赋值运算符,而不要误用赋值运算符“=”。不管不管变量变量a取何值,取何值,if(a=1)中的条件始终中的条件始终为为真真;而;而if(a=0)中的条件始终为中的条件始终为假假。【例例】分析运行如下程序。分析运行如下程序。#includeintmain(void)intx,y,max;scanf(%d%d,&x,&y);if(xy)max=x;printf(

11、max=%dn,max);elsemax=y;printf(max=%dn,max);return0;if子句和子句和else子句只能是语法意义上的子句只能是语法意义上的单单条语句条语句。若若需要多条语句,则应使用花括号将这些需要多条语句,则应使用花括号将这些语句括起来,从而构成一条复合语句语句括起来,从而构成一条复合语句。修正之后的程序修正之后的程序:#includeintmain(void)intx,y,max;scanf(%d%d,&x,&y);if(xy)max=x;printf(max=%dn,max);elsemax=y;printf(max=%dn,max);return0;例如

12、例如:if(ab)t=a;a=b;b=t;此处的三条语句应作为此处的三条语句应作为一个整体一个整体,或者都,或者都执行,或者都不执行。执行,或者都不执行。【例例】分析运行如下程序。分析运行如下程序。#includeintmain(void)inta;scanf(%d,&a);if(a0);printf(good!n);elseprintf(notbad!n);return0;【例例】修正之后的程序修正之后的程序。#includeintmain(void)inta;scanf(%d,&a);if(a0)printf(good!n);elseprintf(notbad!n);return0;if语

13、句的嵌套语句的嵌套如果在一个如果在一个if语句中,又包含了语句中,又包含了另外的另外的if语句语句,则称之为嵌套的,则称之为嵌套的if语句语句。嵌套嵌套if语句通常用于处理多分支选择程序。语句通常用于处理多分支选择程序。if嵌套的嵌套的一般形式一般形式if(表达式表达式1)if(表达式表达式2)语句语句1else语句语句2elseif(表达式表达式3)语句语句3else语句语句4在嵌套的在嵌套的if语句中,因为其中的语句中,因为其中的内嵌内嵌if语语句句本身就是一个整体,因此可以不用本身就是一个整体,因此可以不用花花括号括号括起来。括起来。【例例】从键盘输入从键盘输入x的值,求出的值,求出y的

14、值并输的值并输出。出。1若若x0其中其中y=0若若x=0-1若若x0问题分析:问题分析:这是一个这是一个多分支多分支问题,可以使用问题,可以使用嵌套的嵌套的if语句实现。语句实现。算法算法流程图流程图:#includeintmain(void)intx,y;scanf(%d,&x);if(x0)y=-1;elseif(x=0)y=0;elsey=1;printf(y=%dn,y);return0;【分析程序分析程序】else与与if的搭配。的搭配。#includeintmain(void)inta,b;scanf(%d,&a);if(a=0)if(a0)b=1;elseb=0;printf(b

15、=%dn,b);return0;else总是与它前面总是与它前面最近的最近的、同层次同层次且且尚未尚未配对的配对的if配对,而与缩进格式无关。配对,而与缩进格式无关。if(表达式表达式1)if(表达式表达式2)语句语句1else语句语句2【分析程序分析程序】改变改变if与与else搭配关系。搭配关系。#includeintmain(void)inta,b;scanf(%d,&a);if(a=0)if(a0)b=1;elseb=0;printf(b=%dn,b);return0;可见,可以用可见,可以用花括号花括号改变配对关系。改变配对关系。if(表达式表达式1)if(表达式表达式2)语句语句1

16、else语句语句2【例例】编写编写程序实现:从键盘输入年份和程序实现:从键盘输入年份和月份,求出该月份的天数并输出。月份,求出该月份的天数并输出。编程思路:编程思路:除了二月份之外,每个月的天数是固定不除了二月份之外,每个月的天数是固定不变的;而二月份的天数则会受到闰年或变的;而二月份的天数则会受到闰年或平年的影响平年的影响。因此因此,可以首先判断月份,并确定二月份,可以首先判断月份,并确定二月份以外月份的天数;若是二月份,再判断以外月份的天数;若是二月份,再判断年份是否是闰年,并确定天数。年份是否是闰年,并确定天数。#includeintmain(void)inty,m,days;print

17、f(请输入年份和月份:请输入年份和月份:);scanf(%d%d,&y,&m);if(m=1|3|5|7|8|10|12)days=31;elseif(m=4|6|9|11)days=30;elseif(y%4=0)&(y%100!=0)|(y%400=0)days=29;elsedays=28;printf(该月份的天数该月份的天数=%dn,days);return0;#includeintmain(void)inty,m,days;printf(请输入年份和月份:请输入年份和月份:);scanf(%d%d,&y,&m);if(m=1)|(m=3)|(m=5)|(m=7)|(m=8)|(m=

18、10)|(m=12)days=31;elseif(m=4)|(m=6)|(m=9)|(m=11)days=30;elseif(y%4=0)&(y%100!=0)|(y%400=0)days=29;elsedays=28;printf(该月份的天数该月份的天数=%dn,days);return0;嵌套嵌套if结构与平行结构与平行if结构结构在嵌套在嵌套if结构中,结构中,if语句之间存在包含关系,有语句之间存在包含关系,有内外层之分内外层之分。内内嵌的嵌的if语句是否执行,要由外层语句是否执行,要由外层if语句中的条语句中的条件来决定。件来决定。例如:例如:if(x0)y=-1;elseif(x

19、=0)y=0;elsey=1;而在平行而在平行if结构中,其中的结构中,其中的if语句相互并列、互语句相互并列、互不包含不包含。不管不管前边前边if语句中的条件是真是假,后面的语句中的条件是真是假,后面的if语语句都要执行。句都要执行。例如:例如:if(x0)y=1;由此可见,由此可见,如果期望如果期望后边后边if语句的语句的执执行行不不受受前边前边if语句中判断的影响语句中判断的影响,则则应该构成应该构成平行平行if结构结构,否则,否则应该构应该构成成嵌套嵌套if结构。结构。【错例错例】下面下面程序程序的的逻辑关系逻辑关系是错误的。是错误的。#includeintmain(void)intx

20、,y;scanf(%d,&x);if(x0)y=-1;if(x=0)y=0;elsey=1;printf(y=%dn,y);return0;不同类型的混合运算不同类型的混合运算在在C语言中,语言中,整型、实型、字符型整型、实型、字符型数据之间数据之间可以进行可以进行混合运算混合运算。此时此时,将字符型数据的,将字符型数据的ASCII码作为一个整码作为一个整数使用数使用。例如:例如:4.0/3+a自动自动类型转换类型转换两个不同类型的数据进行混合运算时,首先两个不同类型的数据进行混合运算时,首先要将其中要将其中取值范围较小取值范围较小的类型转换为的类型转换为取值取值范围较大范围较大的类型,然后再

21、进行运算。的类型,然后再进行运算。这种类型转换是由系统自动进行的,故称为这种类型转换是由系统自动进行的,故称为自动类型转换自动类型转换。例如:例如:4.0/3=1.333333两两个字符型的数据进行运算时,首先要转个字符型的数据进行运算时,首先要转换为换为int型型,然后再进行运算,然后再进行运算。例如例如:a+c=196d-a=3强制类型转换强制类型转换一般形式:一般形式:(类型说明符类型说明符)(表达式表达式)其中的其中的(类型说明符类型说明符),称为,称为强制类型转换强制类型转换运算符。运算符。功能:把功能:把表达式的运算结果强制转换为类型说明表达式的运算结果强制转换为类型说明符所表示的

22、类型符所表示的类型。例如例如:(float)(5/3)(float)5/3【例例4.8】强制类型转换示例。强制类型转换示例。#includeintmain(void)floatf=5.75;inti;i=(int)f;printf(i=%d,f=%fn,i,f);return0;强制类型转换之后的值不会自动存回强制类型转换之后的值不会自动存回到原变量中到原变量中,因此因此变量原有的类型和值均不受影响。变量原有的类型和值均不受影响。4.3switch语句语句switch语句用于实现语句用于实现多分支选择结构多分支选择结构。一、格式一、格式switch(表达式表达式0)case常量常量1:语句序列

23、:语句序列1case常量常量2:语句序列:语句序列2.case常量常量n:语句序列:语句序列ndefault:语句序列语句序列n+1二、功能二、功能1.首先求得首先求得表达式表达式0的值;的值;2.依次与依次与case之后的常量之后的常量相比较;相比较;3.若若相等相等,则执行其后的语句序列;,则执行其后的语句序列;4.否则,执行否则,执行default之后的语句序列。之后的语句序列。【例例】switch语句示例。语句示例。#includeintmain(void)inta;scanf(%d,&a);switch(a)case0:printf(zeron);case1:printf(onen)

24、;break;case2:printf(twon);break;case3:printf(threen);break;default:printf(othern);return0;【例例】switch语句语句错例错例。#includeintmain(void)floata;scanf(%f,&a);switch(a)case0:printf(zeron);case1:printf(onen);break;case2:printf(twon);break;case3:printf(threen);break;default:printf(othern);return0;注意:注意:switch表

25、达式表达式0只能是只能是整型(字符型整型(字符型),其,其取值是可以取值是可以一一列举一一列举的。的。【例例】输入一个百分制分数,将其转化为输入一个百分制分数,将其转化为等等级分级分输出。输出。算法分析:算法分析:此处应根据此处应根据分数分数进行分支选择,即应该采用进行分支选择,即应该采用switch(score)这种形式。这种形式。这样的话,需要列出这样的话,需要列出101个个case,太过繁琐。,太过繁琐。同时,也不能使用同时,也不能使用casescore=90这种形这种形式。式。不过,可以通过一种不过,可以通过一种变换变换将将101个分数个分数映射映射为少量的几个数。为少量的几个数。比如

26、,可用比如,可用score/10将将101个分数转化为个分数转化为11个整数个整数(010)。这样就可以使每个整数对。这样就可以使每个整数对应于一个应于一个case分支了。分支了。完整的源程序如下:完整的源程序如下:#includeintmain(void)intscore;charg;scanf(%d,&score);switch(score/10)case10:g=A;break;case9:g=A;break;case8:g=B;break;case7:g=C;break;case6:g=D;break;case5:g=E;break;case4:g=E;break;case3:g=E;

27、break;case2:g=E;break;case1:g=E;break;case0:g=E;break;printf(等级分等级分=%cn,g);return0;#includeintmain(void)intscore;charg;scanf(%d,&score);switch(score/10)case10:case9:g=A;break;case8:g=B;break;case7:g=C;break;case6:g=D;break;case5:case4:case3:case2:case1:case0:g=E;break;printf(等级分等级分=%cn,g);return0;思考

28、:思考:若若score为为float型,程序应如何调整呢型,程序应如何调整呢?#includeintmain(void)floatscore;charg;printf(请输入一个百分制分数(允许是实数):请输入一个百分制分数(允许是实数):);scanf(%f,&score);switch(int)score/10)case10:case9:g=A;break;case8:g=B;break;case7:g=C;break;case6:g=D;break;case5:case4:case3:case2:case1:case0:g=E;break;printf(等级分等级分=%cn,g);ret

29、urn0;【练习练习】编写编写程序实现:从键盘输入年份程序实现:从键盘输入年份和月份,求出该月份的天数并输出。和月份,求出该月份的天数并输出。编程思路:编程思路:除了二月份之外,每个月的天数是固定不除了二月份之外,每个月的天数是固定不变的;而二月份的天数则会受到闰年或变的;而二月份的天数则会受到闰年或平年的影响平年的影响。因此因此,可以首先判断月份,并确定二月份,可以首先判断月份,并确定二月份以外月份的天数;若是二月份,再判断以外月份的天数;若是二月份,再判断年份是否是闰年,并确定天数。年份是否是闰年,并确定天数。#include/*用用switch语句实语句实现现*/intmain(void

30、)inty,m,days;scanf(%d%d,&y,&m);switch(m)case1:days=31;break;case3:days=31;break;case5:days=31;break;case7:days=31;break;case8:days=31;break;case10:days=31;break;case12:days=31;break;case4:days=30;break;case6:days=30;break;case9:days=30;break;case11:days=30;break;case2:if(y%4=0&y%100!=0|y%400=0)days=

31、29;elsedays=28;printf(days=%dn,days);return0;#include/用用switch语句实现语句实现intmain(void)inty,m,days;scanf(%d%d,&y,&m);switch(m)case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(y%4=0&y%100!=0|y%400=0)days=29;elsedays=28;printf(days=%dn,days);return0

32、;逻辑运算量逻辑运算量按常理来说,只有按常理来说,只有逻辑量逻辑量才能进行才能进行逻辑运算逻辑运算。而逻辑量而逻辑量包括逻辑常量包括逻辑常量“真真”和和“假假”(1和和0),),以及以及结果是逻辑值结果是逻辑值的表达式(如关系表达式)。的表达式(如关系表达式)。然而,然而,C语言为了提高编程的灵活性,允许语言为了提高编程的灵活性,允许任意任意整型、实型、字符型、指针型和枚整型、实型、字符型、指针型和枚举型举型的数据参与逻辑运算。的数据参与逻辑运算。例如:例如:6&0并同时规定,只要逻辑运算对象的并同时规定,只要逻辑运算对象的值为非值为非0,就看作,就看作“真真”;只有逻辑运算对象的;只有逻辑运

33、算对象的值为值为0,才看作,才看作“假假”。例如:例如:6&0结果为结果为1【例例】若有若有inta=4;floatb=5.0;则有则有!a结果为结果为0;a&b结果为结果为1;a+b&0结果为结果为1;a&0结果为结果为0;53&84-!0结果为结果为0。注意:注意:逻辑表达式的逻辑表达式的运算结果只能是逻辑值运算结果只能是逻辑值(0或或1););而参加逻辑运算的量,则可以是而参加逻辑运算的量,则可以是5种种标标量类型量类型的数据或表达式。的数据或表达式。逻辑运算的逻辑运算的“短路短路”#includeintmain(void)inta=1,b=2,c=3,d=4,p=1,q=0,t;t=(

34、p=ab)&(q=cb?a:b功能:功能:若表达式若表达式1结果为真,则取表达式结果为真,则取表达式2的值,的值,否则取表达式否则取表达式3的值。的值。例如:例如:inta=5,b=3;max=ab?a:b;例如:例如:intx=-6,y;y=x0?x:-x;用条件表达式构成的选择结构用条件表达式构成的选择结构条件表达式在功能上等价于条件表达式在功能上等价于if-else语句。语句。例如:例如:(ab)?(max=a):(max=b);等价于等价于if(ab)max=a;elsemax=b;条件运算符的结合性:条件运算符的结合性:例如:例如:inta=1,b=2,c=3,d=4;ab?a:cd

35、?c:d等价于等价于ab?a:(cd?c:d)结果为结果为4。可见,条件运算符具有可见,条件运算符具有右结合性右结合性。语句标号语句标号即写在语句之前的即写在语句之前的标识符标识符。格式:格式:标号标号:语句语句例如:例如:L1:printf(Goodbye!n);goto语句语句格式:格式:goto语句标号;语句标号;功能:功能:跳到标号之后的语句执行。跳到标号之后的语句执行。例如例如:gotoL1;.L1:printf(Goodbye!n);注意:注意:goto语句影响程序的结构性、可读性,尽量少用。语句影响程序的结构性、可读性,尽量少用。【例例】从从键键盘盘输输入入两两个个实实数数及及一

36、一个个运运算算符符,分分 别别 求求 出出 其其 和和 差差 积积 商商 并并 输输 出出(其中运算符在两个实数之间输入)(其中运算符在两个实数之间输入)。因因为为运运算算符符只只有有4种种情情况况,且且是是常常量量,故故可可用用switch语句构成多分支选择结构。语句构成多分支选择结构。#include/*用用if语句语句实现实现*/intmain(void)floata,b,s;charch;scanf(%f%c%f,&a,&ch,&b);if(ch=+)s=a+b;elseif(ch=-)s=a-b;elseif(ch=*)s=a*b;elseif(ch=/)s=a/b;printf(%

37、f%c%f=%fn,a,ch,b,s);return0;#include/*用用switch实现实现*/intmain(void)floata,b,s;charop;printf(请输入一个四则运算式子:请输入一个四则运算式子:n);scanf(%f%c%f,&a,&op,&b);switch(op)case+:s=a+b;break;case-:s=a-b;break;case*:s=a*b;break;case/:s=a/b;printf(%f%c%f=%fn,a,op,b,s);return0;【例例】求解一元二次方程,其中求解一元二次方程,其中b2-4ac的值任意。的值任意。#incl

38、ude#includeintmain(void)doublea,b,c,d,x1,x2,realpart,imagpart;printf(请输入一元二次方程系数请输入一元二次方程系数a、b、c的值:的值:n);scanf(%lf%lf%lf,&a,&b,&c);d=b*b-4*a*c;if(d=0)x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(方程式有两个实根:方程式有两个实根:nx1=%lfnx2=%lfn,x1,x2);elserealpart=-b/(2*a);imagpart=sqrt(-d)/(2*a);printf(方程式有一对共

39、轭复根:方程式有一对共轭复根:n);printf(x1=%lf+%lfin,realpart,imagpart);printf(x2=%lf-%lfin,realpart,imagpart);return0;【例例】假假定定个个人人所所得得税税税税率率如如表表所所示示。编编写写程程序序根根据据个个人人的的月月收收入入计计算算出出相相应应的的个个人人所所得得税。税。问题分析:问题分析:对于各个收入区间需要对于各个收入区间需要分段计算分段计算税额。税额。级 数月收入区间(元)税率(%)10,350002(3500,500033(5000,8000104(8000,125002051250030#i

40、ncludeintmain(void)floatincome,tax;printf(请输入您的月收入(元):请输入您的月收入(元):n);scanf(%f,&income);if(income=3500)tax=0;elseif(income=5000)tax=(income-3500)*0.03;elseif(income=8000)tax=(5000-3500)*0.03+(income-5000)*0.1;elseif(income=12500)tax=(5000-3500)*0.03+(8000-5000)*0.1+(income-8000)*0.2;elsetax=(5000-350

41、0)*0.03+(8000-5000)*0.1+(12500-8000)*0.2+(income-12500)*0.3;printf(您的个人所得税您的个人所得税=%.2f元元n,tax);return0;【例例】从键盘输入一个字符,若为大写字母则从键盘输入一个字符,若为大写字母则转化为小写字母,否则转化为下一个字符。转化为小写字母,否则转化为下一个字符。用用if-else实现:实现:#includeintmain(void)charch;scanf(%c,&ch);if(ch=A&ch=Z)ch=ch+32;elsech=ch+1;printf(%cn,ch);return0;用条件表达式实现用条件表达式实现:#includeintmain(void)charch;scanf(%c,&ch);(ch=A&ch=A&ch=Z)(ch+32):ch+1;*/printf(%cn,ch);return0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁