第5章 分支结构程序设计

上传人:博****1 文档编号:591238008 上传时间:2024-09-17 格式:PPT 页数:53 大小:477KB
返回 下载 相关 举报
第5章 分支结构程序设计_第1页
第1页 / 共53页
第5章 分支结构程序设计_第2页
第2页 / 共53页
第5章 分支结构程序设计_第3页
第3页 / 共53页
第5章 分支结构程序设计_第4页
第4页 / 共53页
第5章 分支结构程序设计_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第5章 分支结构程序设计》由会员分享,可在线阅读,更多相关《第5章 分支结构程序设计(53页珍藏版)》请在金锄头文库上搜索。

1、9/17/20241C 语言程序设计语言程序设计Tuesday, September 17, 2024 在实际生活中在实际生活中, 经常会遇到许多需要判断的问题经常会遇到许多需要判断的问题, 程序设计中将这一类问题归结为程序设计中将这一类问题归结为分支(选择)问题分支(选择)问题。 设计选择结构程序,要考虑两个方面的问题:设计选择结构程序,要考虑两个方面的问题: 一是在一是在C C语言中如何来表示语言中如何来表示条件条件 二是在二是在C C语言中实现选择结构用什么语言中实现选择结构用什么语句语句 在在C语言中表示条件,一般用语言中表示条件,一般用关系表达式或逻辑关系表达式或逻辑表达式表达式;实

2、现选择结构用;实现选择结构用ifif语句或语句或switchswitch语句语句。 这种语句这种语句特点特点是是: 根据所给出的条件根据所给出的条件, 在给定的操在给定的操作中选择一组去执行。作中选择一组去执行。第第6 6章章 分支结构程序设计分支结构程序设计 9/17/20242C 语言程序设计语言程序设计Tuesday, September 17, 2024 6.1 关系运算符及表达式关系运算符及表达式 6.2 逻辑运算符及表达式逻辑运算符及表达式 6.3 if语句语句 6.4 条件运算符条件运算符 6.5 switch语句语句 6.6 选择结构程序举例选择结构程序举例 良好的源程序书写风

3、格良好的源程序书写风格注释注释教学内容教学内容条件的表示条件的表示实现分支语句实现分支语句9/17/20243C 语言程序设计语言程序设计Tuesday, September 17, 2024第第6 6章章 分支结构程序设计分支结构程序设计 1. 掌握掌握条件的表示方法条件的表示方法。 2熟练掌握熟练掌握if语句语句的语法和使用方法。的语法和使用方法。 3掌握掌握switch语句语句的语法和使用方法。的语法和使用方法。 4熟练掌握熟练掌握分支语句的嵌套分支语句的嵌套使用方法。使用方法。教学目标教学目标9/17/20244C 语言程序设计语言程序设计Tuesday, September 17,

4、20246.1 关系运算符及表达式关系运算符及表达式1.关系运算符关系运算符 书写:书写: = ,=,= 高于高于 = , != 赋值运算符赋值运算符关系运算符关系运算符 a+b 等效于等效于c(a+b)ab=c 等效于等效于 (ab)=ca=bc 等效于等效于 a=(bc 等效于等效于 a=(bc)9/17/20245C 语言程序设计语言程序设计Tuesday, September 17, 20242.关系表达式关系表达式概念:用概念:用关系运算符关系运算符将两个表达式连接起来的将两个表达式连接起来的式子式子,称关系表达式。称关系表达式。 例:例:ab,a+bc-d,(a=3)b)= =(b

5、c)关系表达式的值:由于语言没有逻辑型数据关系表达式的值:由于语言没有逻辑型数据,所以用整数所以用整数“”表示表示“逻辑真逻辑真”,用整数,用整数“”表示表示“逻辑假逻辑假”,即,即其值其值是一个整形值是一个整形值。所以,关系表达式的值,还可以参与其它种类所以,关系表达式的值,还可以参与其它种类的运算,例如算术运算、逻辑运算等。的运算,例如算术运算、逻辑运算等。 例:设例:设num1=3,num2=4,num3=5,则:,则: (num1num2)+num3的值的值=66.1 关系运算符及表达式关系运算符及表达式9/17/20246C 语言程序设计语言程序设计Tuesday, Septembe

6、r 17, 2024注意事项注意事项在逻辑上必须正确,否则会出现不正确的结果。 例:1x 10,若写成 1=x=10,在语法上是正确的,但在逻辑上是错误的。 当 x=8时, 但当x= - 5时, 1 = x = 10 1 = x = 1011 成立成立01 成立成立正确的写法是:正确的写法是:1 = x & x =0) & (x10)的的值值为为“1”,(x5) 的的值为值为“0”。例例:假假设设num=12,则则!num的的值值= ? ,num=1& num31的值的值= ? 。 2逻辑运算符的运算优先级逻辑运算符的运算优先级逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:逻辑非的优先级最高

7、,逻辑与次之,逻辑或最低,即: !(非)!(非) &(与)(与)|(或)(或)与其它种类运算符的优先关系:与其它种类运算符的优先关系: ! 算术运算算术运算 关系运算关系运算 & | 赋值运算赋值运算 6.2 逻辑运算符及表达式逻辑运算符及表达式答案: 0 1 19/17/20249C 语言程序设计语言程序设计Tuesday, September 17, 2024例:例:x=(a+b)&(bn2)&(y=n3n4)”后后,x的的值值变变为为,而,而y的值不变,仍等于的值不变,仍等于1。6.2 逻辑运算符及表达式逻辑运算符及表达式9/17/202411C 语言程序设计语言程序设计Tuesday,

8、 September 17, 2024复习:复习: 选择结构的表示选择结构的表示单分支选择结构单分支选择结构二分支选择结构二分支选择结构PAB真假PBA真假PA真假PA真假9/17/202412C 语言程序设计语言程序设计Tuesday, September 17, 2024多分支选择结构多分支选择结构kA1A2AiAnk=k2k=k1k=knk=ki.复习:复习: 选择结构的表示选择结构的表示9/17/202413C 语言程序设计语言程序设计Tuesday, September 17, 20246.3.1 单分支选择单分支选择if语句语句语句形式:语句形式: if(if(表达式表达式) )

9、语句语句1 1; 语句执行流程:语句执行流程:6.3 if语句语句语句语句1称为称为if语句的内语句的内嵌语句,可以是嵌语句,可以是1条条语句,也可以是用语句,也可以是用括起来的复合语句。括起来的复合语句。表达式表达式语句语句1真真(非非0)假假(0)9/17/202414C 语言程序设计语言程序设计Tuesday, September 17, 2024#include void main() int a,b,t; printf(nInput a,b: ); scanf(%d,%d,&a,&b); if(ab) t=a; a=b; b=t; printf(a=%d, b=%dn,a,b); a

10、bab交换交换a a、b b结束结束真真假假分支结构程序示例一分支结构程序示例一 要求:从键盘输入两个整数要求:从键盘输入两个整数a和和b,如果,如果a大于大于b则交换两数则交换两数,最最后输出两个数。后输出两个数。开始开始输入输入a,b输出输出a,b6.3.1 单分支选择单分支选择if语句语句9/17/202415C 语言程序设计语言程序设计Tuesday, September 17, 2024if (表达式)表达式) 语句语句1;else 语句语句2; 6.3.2 二分支选择二分支选择if语句语句语句形式:语句形式:语句执行流程:语句执行流程:表达式表达式语句语句1真真(非非0)假假(0)

11、语句语句29/17/202416C 语言程序设计语言程序设计Tuesday, September 17, 2024分支结构程序示例二分支结构程序示例二6.3.2 二分支选择二分支选择if语句语句 要求:输入一个字符,判断它是否是要求:输入一个字符,判断它是否是09之间的字符之间的字符,并显示相应提示。并显示相应提示。输出输出c是数字是数字输入输入c? ?真真假假开始开始结束结束输出输出c不是数字不是数字#include void main()char c; printf(input a character:); c=getchar(); if(c=48&cb) a+;b+; else a=0;

12、b=10; 9/17/202418C 语言程序设计语言程序设计Tuesday, September 17, 2024if (表达式表达式1) 语句语句1;else if (表达式表达式2)语句)语句2; else if (表达式表达式n)语句语句n; else 语句语句n+1;6.3.3 多分支选择多分支选择if语句语句语句形式:语句形式:9/17/202419C 语言程序设计语言程序设计Tuesday, September 17, 2024表达式表达式1 1语句语句1真真(非非0)假假(0)真真(非非0)语句语句2表达式表达式2 2真真(非非0)表达式表达式n n语句语句n语句语句n+1假假

13、(0)假假(0)if (表达式表达式1) 语句语句1;else if (表达式表达式2)语句)语句2; else if (表达式表达式n)语句语句n; else 语句语句n+1;语句执行流程:语句执行流程:6.3.3 多分支选择多分支选择if语句语句9/17/202420C 语言程序设计语言程序设计Tuesday, September 17, 2024x0x0真真假假0=x=500=x=50假假真真分支结构程序示例三例:分段函数的计算例:分段函数的计算 0 (x50)开始开始输入输入x输出输出y=0 输出输出y=x 输出输出y=x*x 结束结束#include #include void ma

14、in()void main()float x;float x; scanf(%f,&xscanf(%f,&x);); if(x0.0)if(x=0.0&x=0.0&x=50.0) printf(yprintf(y=%fn,x);=%fn,x); else else printf(yprintf(y=%fn,x*x);=%fn,x*x); 9/17/202421C 语言程序设计语言程序设计Tuesday, September 17, 2024(1 1)当当ifif语语句句中中出出现现多多个个“ifif”与与“elseelse”的的时时候候,要要特特别别注注意意它它们们之之间间的的匹匹配配关关系系

15、,否否则则就就可可能能导导致致程程序序逻逻辑辑错错误误。“elseelse”与与“ifif”的的匹匹配配原原则则是是“就就近近一一致致原原则则”,即即“elseelse”总总是是与与它它前面最近的前面最近的“ifif”相匹配。相匹配。(2 2)ifif语句中条件的写法应尽量简单。语句中条件的写法应尽量简单。注意事项注意事项:6.3.3 多分支选择多分支选择if语句语句9/17/202422C 语言程序设计语言程序设计Tuesday, September 17, 2024【例】以下程序的执行结果是什么? main( ) int x=2,y=-1,z=2; if (xy) if (y0) ; if

16、 (x=2) if (1=x0”); y=x-1;9/17/202423C 语言程序设计语言程序设计Tuesday, September 17, 20246.4 条件运算符条件运算符三元运三元运算符算符一般形式:一般形式: ? ? :3求值规则和表达式的值求值规则和表达式的值: :求求解解表达式表达式1 1真真( (非非0)0)求求解解表达式表达式2 2假假(0)(0)求求解解表达式表达式3 3表达式表达式的值的值9/17/202424C 语言程序设计语言程序设计Tuesday, September 17, 20246.4 条件运算符条件运算符例 if (ab) printf(“%d”,a);

17、 else printf(“%d”,b);printf(“%d”,ab?a:b);例 求 a+|b| printf(“a+|b|=%dn”,b0?a+b:a-b);expr1取expr2值取expr3值非0=0相当于条件语句,但不能取代一般相当于条件语句,但不能取代一般if语句语句9/17/202425C 语言程序设计语言程序设计Tuesday, September 17, 2024优先级优先级:逻辑逻辑 条件条件 赋值赋值结合性:结合性:自右至左自右至左例: (1)int max,a=5;b=3; max=ab?a:b(1)int max,a=5;b=3; max=ab?a:b(2)-a=b

18、+ ? a+ : b+ (2)-a=b+ ? a+ : b+ (3)y = x10 ? x/10 : x0 ? x: -x(3)y = x10 ? x/10 : x0 ? x: -x;结果:结果:(1)max=5, a=5,b=3(2)表达式表达式=4,a=4,b=5(3)若若x=10,则则y=106.4 条件运算符条件运算符9/17/202426C 语言程序设计语言程序设计Tuesday, September 17, 20241、语句形式:switch (表达式) case 常量1: 语句1; case 常量2: 语句2; case 常量3: 语句3; . case 常量n: 语句n; de

19、fault : 语句n+1; 根据表达式的不同值,选根据表达式的不同值,选根据表达式的不同值,选根据表达式的不同值,选择不同的程序分支,又称择不同的程序分支,又称择不同的程序分支,又称择不同的程序分支,又称开关语句开关语句开关语句开关语句。常量表达式的值必须互不常量表达式的值必须互不相同,否则执行时将出现相同,否则执行时将出现矛盾,即同一个开关值,矛盾,即同一个开关值,将对应多种执行方案。将对应多种执行方案。千万不能千万不能接接(;)号号6.5 switch6.5 switch语句语句语句语句9/17/202427C 语言程序设计语言程序设计Tuesday, September 17, 202

20、4指语句的最指语句的最后一条是否后一条是否为为break简单语句或简单语句或复合语句复合语句breakbreakbreakbreak有有无无breakbreak有有无无有有计算表达式计算表达式常量常量1 1常量常量2 2常量常量n n=语句语句1 1=语句语句2 2语句语句n n其它其它=语句语句n+1n+1无无值值casecase语句出语句出现的次序并现的次序并不影响执行不影响执行结果。结果。2、语句执行流程、语句执行流程6.5 switch6.5 switch语句语句语句语句9/17/202428C 语言程序设计语言程序设计Tuesday, September 17, 2024要求: 从键

21、盘上输入一个百分制成绩score,按下列原则输出其等级:score90,等级为A;80score90,等级为B;70score80,等级为C;60score70,等级为D;scorenum2) max=num1; else max=num2; if (num3max) max=num3; printf(The three numbers are:%d,%d,%dn,num1,num2,num3); printf(max=%dn,max); 6.6 选择结构程序举例选择结构程序举例9/17/202433C 语言程序设计语言程序设计Tuesday, September 17, 2024 本案例中的

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

23、大值的处理,非常有效。请仔细体会。非常有效。请仔细体会。 6.6 选择结构程序举例选择结构程序举例9/17/202434C 语言程序设计语言程序设计Tuesday, September 17, 2024案案例例6.2输输入入任任意意三三个个数数num1、num2、num3,按按从小到大的顺序排序输出。从小到大的顺序排序输出。 6.6 选择结构程序举例选择结构程序举例输入 a,b,cyacbcyabynbcnabcynacbcabacynybacnbcacba输入 a,b,cabynabbcynbcacacyn输出 a,b,c9/17/202435C 语言程序设计语言程序设计Tuesday, S

24、eptember 17, 2024/*案例代码文件名:案例代码文件名:AX6_2.C*/ main()int num1,num2,num3,temp; printf(Please input three numbers:); scanf(%d,%d,%d,&num1,&num2,&num3); if (num1num2) temp=num1;num1=num2;num2=temp; if (num2num3) temp=num2;num2=num3;num3=temp; if (num1num2) temp=num1;num1=num2;num2=temp; printf(“Three num

25、bers after sorted:%d,%d,%dn”,num1,num2,num3); 6.6 选择结构程序举例选择结构程序举例9/17/202436C 语言程序设计语言程序设计Tuesday, September 17, 2024案例案例6.3判断某一年是否为闰年。设判断某一年是否为闰年。设year为某一年份,为某一年份,year为闰年的条件为:为闰年的条件为:year可以被可以被4整除且不可以被整除且不可以被100整除,整除,或者或者year可以被可以被400整除。整除。算法设计:算法设计:(1)如果)如果x能被能被y整除,则余数为整除,则余数为0,即如果,即如果x%y的的值等于值等于

26、0,则表示,则表示x能被能被y整除;整除;(2)首先设置一个否为闰年的)首先设置一个否为闰年的leap标志,这样仅当标志,这样仅当year为闰年时将为闰年时将leap置为置为1(表示是闰年),否则(表示是闰年),否则将将leap置为置为0(表示非闰年)。这种处理两种状态(表示非闰年)。这种处理两种状态值的方法,对优化算法和提高程序可读性非常有值的方法,对优化算法和提高程序可读性非常有效。效。 6.6 选择结构程序举例选择结构程序举例9/17/202437C 语言程序设计语言程序设计Tuesday, September 17, 2024假假真真假假真真year%4=0year%100=0year

27、%400=0leap=1leap=0leap=0leap=1打印该年是闰年打印该年是闰年打印该年不是闰年打印该年不是闰年真真假假真真假假leap=1开始开始结束结束输入输入year 6.6 选择结构程序举例选择结构程序举例9/17/202438C 语言程序设计语言程序设计Tuesday, September 17, 2024/*案例代码文件名:案例代码文件名:AX6_3.C*/main() int year,leap=0; printf(please input the year:); scanf(%d,&year); if(year%4=0) if(year%100=0) if(year%4

28、00=0) leap=1; else leap=0; else leap=1; else leap=0; if(leap) printf(%d is a leap year .n,year); else printf(%d is not a leap year.n,year); 6.6 选择结构程序举例选择结构程序举例9/17/202439C 语言程序设计语言程序设计Tuesday, September 17, 2024 利用逻辑运算能描述复杂条件的特点,可以用一个利用逻辑运算能描述复杂条件的特点,可以用一个双分支的语句简单地进行判断,双分支的语句简单地进行判断,(year%4=0&year%

29、100!=0)|(year%400=0)打打印印该该年年是是闰年闰年打打印印该该年年不不是是闰年闰年假假真真main()int year; /*存放输入的年份*/ printf(please input year: ); scanf(%d,&year); if(year%4=0&year%100!=0)|year%400=0)printf(% d is a leap year. ,year); /*打印是闰年*/else printf(%d is not a leap year. ,year); /*打印不是闰年*/ 6.6 选择结构程序举例选择结构程序举例9/17/202440C 语言程序设

30、计语言程序设计Tuesday, September 17, 2024 案案例例6.4 已已知知某某公公司司员员工工的的保保底底薪薪水水为为500,某某月月所所接接工工程程的的利利润润profit(整数)与利润提成的关系如下(计量单位:元)(整数)与利润提成的关系如下(计量单位:元) profit1000没有提成;没有提成; 1000profit2000提成提成10%; 2000profit5000提成提成15%; 5000profit10000提成提成20%; 10000profit提成提成25%。 算法设计要点:算法设计要点: 为为使使用用switch语语句句,必必须须将将利利润润profi

31、t与与提提成成的的关关系系,转转换换成成某某些些整整数数与与提提成成的的关关系系。分分析析本本题题可可知知,提提成成的的变变化化点点都都是是1000的的整整数数倍倍(1000、2000、5000、),如果将利润),如果将利润profit整除整除1000,则当:,则当: profit1000对应对应0、1 1000profit2000对应对应1、2 2000profit5000对应对应2、3、4、5 5000profit10000对应对应5、6、7、8、9、10 10000profit对应对应10、11、12、 6.6 选择结构程序举例选择结构程序举例9/17/202441C 语言程序设计语言程

32、序设计Tuesday, September 17, 2024为为解解决决相相邻邻两两个个区区间间的的重重叠叠问问题题,最最简简单单的的方方法法就就是是:利利润润profit先先减减1(最小增量),然后再整除(最小增量),然后再整除1000即可:即可: profit1000对应对应0 1000profit2000对应对应1 2000profit5000对应对应2、3、4 5000profit10000对应对应5、6、7、8、9 10000profit对应对应10、11、12、/*案例代码文件名:案例代码文件名:AX6_7.C。*/ main() long profit; int grade; f

33、loat salary=500; printf(Input profit: ); scanf(%ld, &profit); grade= (profit 1) / 1000; /*将利润将利润-1、再整除、再整除1000,转化成,转化成 switch语句中的语句中的case标号标号*/ 6.6 选择结构程序举例选择结构程序举例9/17/202442C 语言程序设计语言程序设计Tuesday, September 17, 2024switch(grade) case 0: break;/*profit1000 */ case 1: salary += profit*0.1; break;/*10

34、00profit2000 */ case 2: case 3: case 4: salary += profit*0.15; break;/*2000profit5000 */ case 5: case 6: case 7: case 8: case 9: salary += profit*0.2; break;/*5000profit10000 */ default: salary += profit*0.25;/*10000profit */printf(salary=%.2fn, salary); 6.6 选择结构程序举例选择结构程序举例9/17/202443C 语言程序设计语言程序设计

35、Tuesday, September 17, 2024必要的注释,可有效地提高程序的可读性,从而提必要的注释,可有效地提高程序的可读性,从而提高程序的可维护性。高程序的可维护性。在语言源程序中,注释可分为三种情况:在语言源程序中,注释可分为三种情况:(1)在在函数体内对语句的注释;(函数体内对语句的注释;(2)在函数之前对函数的注释;)在函数之前对函数的注释;(3)在源程序文件开始处,对整个程序的总体说明。)在源程序文件开始处,对整个程序的总体说明。函数体内的语句,是由顺序结构、选择结构和循环函数体内的语句,是由顺序结构、选择结构和循环结构等三种基本结构构成的。在什么地方加以注释的原结构等三种

36、基本结构构成的。在什么地方加以注释的原则是:如果不加注释,理解起来就会有困难,或者虽无则是:如果不加注释,理解起来就会有困难,或者虽无困难、但浪费时间。困难、但浪费时间。 (1)顺序结构)顺序结构在每个顺序程序段在每个顺序程序段(由若干条语句构成由若干条语句构成)之前,用注之前,用注释说明其功能。除很复杂的处理外,一般没有必要每条释说明其功能。除很复杂的处理外,一般没有必要每条语句都加以注释。语句都加以注释。良好的源程序书写风格良好的源程序书写风格注释注释9/17/202444C 语言程序设计语言程序设计Tuesday, September 17, 2024 (2)选择结构)选择结构 在在C语

37、言中,选择结构是由语言中,选择结构是由if语句和语句和switch语句来实现语句来实现的。一般地说,要在前面说明其作用,在每个分支条件的。一般地说,要在前面说明其作用,在每个分支条件语句行的后面,说明该分支的含义,如下所示:语句行的后面,说明该分支的含义,如下所示: 1)if语句语句 /*(说明功能)(说明功能)*/ if(条件表达式条件表达式)/*条件成立时的含义条件成立时的含义*/ else/*入口条件含义入口条件含义*/ 2)switch语句语句 /*(说明功能)(说明功能) */ switch(表达式表达式) 良好的源程序书写风格良好的源程序书写风格注释注释9/17/202445C 语

38、言程序设计语言程序设计Tuesday, September 17, 2024 case 常量表达式常量表达式1: /*该入口值的含义该入口值的含义*/ 语句组;语句组; case 常量表达式常量表达式n: /*该入口值的含义该入口值的含义*/ 语句组;语句组; default: /*该入口值的含义该入口值的含义*/ 语句组;语句组; 如果条件成立时(或入口值)的含义,已经如果条件成立时(或入口值)的含义,已经很明确了,也可不再加以注释。很明确了,也可不再加以注释。良好的源程序书写风格良好的源程序书写风格注释注释9/17/202446C 语言程序设计语言程序设计Tuesday, Septembe

39、r 17, 2024练习练习1. 分析程序运行结果分析程序运行结果main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;break; case 1:b+;break; case 2: a+;b+;break; case 3:a+;b+; printf(“a=%d,b=%dn”,a,b); 结果结果:a=2,b=19/17/202447C 语言程序设计语言程序设计Tuesday, September 17, 20242.程序填空: 以下程序判断输入的整数能否被3或7整除.main()int x,f=0; scanf(

40、 “%d”,&x ); if ( 1 ) 2 ; else 3 ; if(f= =1) printf(“YESn”); else printf(“NOn”);(x%3= =0) f=1;if (x%7= =0) f=1;标记变量标记变量9/17/202448C 语言程序设计语言程序设计Tuesday, September 17, 20243. 3. 考虑下面程序输出结果考虑下面程序输出结果: : main() main() intint x=100,a=10,b=20; x=100,a=10,b=20; intint v1=5,v2=0; v1=5,v2=0; if(ab) if(ab) if

41、(b!=15) if(b!=15) if(!v1) if(!v1) x=1; x=1; else else if(v2) x=10; if(v2) x=10; x=-1; x=-1; printf(“%d”,xprintf(“%d”,x);); 结果:-19/17/202449C 语言程序设计语言程序设计Tuesday, September 17, 2024例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; brea

42、k; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 运行结果:a=2,b=14. 考虑考虑下面程序下面程序输出结果输出结果:9/17/202450C 语言程序设计语言程序设计Tuesday, September 17, 20245:给一个不多于:给一个不多于4位的正整数,求出它是几位数,位的正整数,求出它是几位数,逆序打印出各位数字。逆序打印出各位数字。 分析:分析:(1)定义变量存放该数定义变量存放该数x及其千位及其千位a、百位百位b、十位十位c、个位个位d(2)分解出千位分解出千位a、百位百位b、十位十位c、个位个位d(3)若若a不为不为0,则输出,则输

43、出4位的数字,否则位的数字,否则 若若b不为不为0,则输出,则输出3位的数字,否则位的数字,否则 若若c不为不为0,则输出,则输出2位的数字,否则位的数字,否则 若若d不为不为0,则输出,则输出1位的数字位的数字9/17/202451C 语言程序设计语言程序设计Tuesday, September 17, 2024参考程序参考程序#include stdio.hvoid main() int x,a,b,c,d; /*a,b,c,d代表千位、百位、十位、个位代表千位、百位、十位、个位*/ printf(“nInput x: ”); scanf(%d,&x); a=x/1000; /*分解出千位

44、、百位、十位、个位分解出千位、百位、十位、个位*/ b=(x%1000)/100; c=(x%100)/10; d=x%10; if (a!=0) printf(“n4:%d%d%d%dn,d,c,b,a); else if(b!=0) printf(“n3:%d%d%dn,d,c,b); else if(c!=0) printf(“n2:%d%dn,d,c); else if(d!=0) printf(“n1:%dn,d);9/17/202452C 语言程序设计语言程序设计Tuesday, September 17, 2024空语句:空语句: ;程序控制语句程序控制语句(9种):种):if(

45、 )else switchfor( )while( )dowhile( )continuebreakgotoreturn分支循环辅助控制如 total=total+limit; a=3; func( ); printf(“Hello,world!n”); C语句小结语句小结C语句语句:以以“;”作分隔符作分隔符,编译后产生机器指令编译后产生机器指令.C语句分类语句分类表达式语句:表达式加分号构成。表达式语句:表达式加分号构成。9/17/202453C 语言程序设计语言程序设计Tuesday, September 17, 2024复合语句:复合语句:用 括起来的一组语句一般形式:一般形式: 数据说明部分;数据说明部分; 执行语句部分;执行语句部分; 说明:说明:“”后不加分号语法上和单一语句相同复合语句可嵌套

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号