C语言程序设计框图_第1页
C语言程序设计框图_第2页
C语言程序设计框图_第3页
C语言程序设计框图_第4页
C语言程序设计框图_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构第3章控制结构C语言程序设计电子教案第3章控制结构3.1程序结构框图3.2二分支结构3.3多分支结构3.4循环结构3 5 break与cont i nue语句3.6习题三基本要求:1 )熟悉C语言的程序结构框图;2)熟悉C语言的二分支结构、多分支结构和循 环结构;3)熟练掌握结构化程序设计方法。学习重点:1 )流程图、NS图、循环结构;2)结构化程序设计方法。C语言程序设计电子教案第3章控制结构31程序结构框图3.1.1自然语言描述程序设计的关键是算法。算法是实际问题求解步骤的描述。有了正确有效的 算法,就可以用任何一种计

2、算机语言编写程序,解 决各种问题。算法可采用自然语言、流程图或N-S图等进行描述。0自然语言描述:用人们日常所使用的语言(如英语、汉语)进行算法的描述。31程序结构框图3.1.1自然语言描述例3 2 求s=1+2+3+100 之和。解题思路要将广20累加到S变量上去,如果采用先初始化 变量s=0,然后用语句序列s=s+1 ; s=s+2;则要重复写100个 加法赋值语句,很显然.这种算法不可取。改用下述算法。算法步骤:设s=0f n=0;变量n值加即n=n+1 ;将n加到变量s中,即s=s+n ;如果n值小于100,返回去执行第2步。否则执行第5步; 输出s变量的值。! IC语言程序设计电子教

3、案第3章控制结构3.1程序结构框图流程3.1.2流程图是一种传统的算法描述方法,它用几种不同的几何图来代表不同性质的操作;用流程线来指示算法的执行方向用流程图表示的算法简单直观,容易转化成相应的语 言程序。C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构3.1.2流程3.1程序结构框图常用流程图符号k ft表示算法 的开始或 结束;表示数据用来对给定的 的输入和条件进行判断 输出;在,根据条件成 实际中输立与否来决定 入输出也其后的操作, 常用矩形它有一个入口 框表示。和两个出口;表般据;来一数理用

4、示的处算行;示执程表法流用接不点程OC语言程序设计电子教案第3章控制结构3.1.2 流程图例3.4将例32中的算法用流程如下图所示。表93-1程序结构框图C语言程序设计电子教案第3章控制结构3-1程序结构框图C语言程序设计电子教案第3章控制结构3.1.3N-SC语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构N-S图是程序算法的另一种图形表示,它是由美国人I. Nassi和B. Shneiderman共同提出来的,其依据是:因为任何算法都是由顺序结构、分支(选择) 结构、循环结构这三种结构所组成,所以可以不需 要各结构之间的流程线,全部算法写在一个矩形框 内,矩形框内由顺

5、序、选择、循环三种结构组成。C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构3.1.3N-S顺序结构:句顺的示莫B 语后行所謄行 照先执图行执 按的次上执再。 是现依如先块 它出序。,块模3.1程序结构框图3种基本结构的N S图它进中。表立块件其行P成模支 条择执除腸分 阳定选支示当支行 2给分所分执 期据断个图件行则 3根判一上条执否热 *是行的如示时胖一上条执否妇C-IC当条件P为真当条件满足时,重 复执行某一操作。 如上图所示.当条 件P为“JT时,反 复执行A模块操作, 直到P为“假”时才 终止循环.继续执 行循环后面的语句直到条件P不成立直到型循环:它是先执行

6、循环体操作,再 判断条件.如果条件满足, 则继续执行循环体操作.直 到条件不满足时,才退出循 环。如上图所示,首先执行A 模块操作.然后再判断给定 的条件P是否成立,如果成立 ,反复执行A模块操作.直到 条件P不成立。*=C语言程序设计电子教案第3章控制结构3.1程序结构框图C语言程序设计电子教案第3章控制结构3.1.3N-SC语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构例36 将例32中的算法用N-S图表示,如下图所示。s=0, n=0nW 100s=s+nn=n+l输出s 1的值31程序结构框图3.1.4结构化程序设计结构化程序设计的基本思想是:任何程序都由顺序结

7、构、 分支结构和循环结构这三种基本结构组成。结构化程序:由3种基本结构经过反复组合、嵌套构成的 程序。结构化程序设计方法:自顶向下,逐步细化 模块化设计 结构化编码31程序结构框图3.1.4结构化程序设计结构化程序设计具有以下特点:0 一个程序单元由顺序、分支、循环这3种基本结构组成。3种基本 结构经过反复嵌套,可以表示任何复杂的算法。0 一个大的程序由若干个不同功能的小模块组成。0每个小模块只有一个入口和一个出口。程序中不能有无穷循环(死循环)程序中不能有在任何条件下都执行不到的语句(死语句)。 用结构化思想设计出来的计算机程序.具有清晰的模块界面,因 此,在书写程序时,我们应根据逻辑结构和

8、层次深度的不同.采 用缩进对齐的方式,将程序模块写在不同的位置,这样可以提高 程序的可读性有助于调试程序,找出程序的逻辑错误。31程序结构框图3.1.5 结构化程序的语句回表达式语句:由“表达式+分号污构成。如赋值语句、 函数调用语句 回空语句:只由一个分号构成。空语句执行不产生任何动回控制语句作,常用于循环体中。完成一定的程序流程控制功能。如i f-e I se,switch-case, for, while, do-while, break, continue, goto, return。回复合语句:由一对大括号括起来的一条或多条语句。被括起来的语句可以是这4类的任何一类语句,常用于函数体

9、或循环体。32二分支结构3.2J 二分支if语句C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构基本形式:if (表达式)语句1; else语句2;例如:if(x>y)printf(umax=%d9x); elseprintf(wmax=%d,y);表达式 / 真/假语句1语句23.2二分支结构c语言程序设计电子教案第3章控制结构3.2.1二分支if语句例3.7求两个整数x、y中较大的数,并赋给变量max。解题思路x、y值由输入函数输入,根据其大小判断.大的赋给max变量o其N-S图如图3.8所示,可以编写如下程序。#include <stdio. h>

10、;main()i nt xf y, max; printf(n Input x, y=H); scanf(n%d,%dn,&x, &y); if (x>y)max=x;elsemax=y;pr i ntf (r,Max=%dn,1, max); I“I蛊LijjiiiiiiiMlJC语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构if(x>y)printf(umax=%d9x);语句C语言程序设计电子教案第3章控制结构32二分支结构3.2.2不平衡if语句例38设计一个程序,从键盘输入3个整数,按由小到大的顺序输出。解题思路 三个整数x、yv

11、z,两两比较.始终保持x的值最小.z的值最大,不满足此条件,则其值进行交换。基N-S图如图3.10所示.可以编写出程序如下:#include <stdio.h>main() int x9y,z,temp; printf(HInput x,y,z=n); scanf(n%d,%d,%dH,&x,&y,&z); if(x>y) temp=x; x=y; y=temp; if(x>z) temp=x; x=z; z=temp; if(y>z) temp=y; y=z; z=temp; printf(f 1 % d, % d, % dn11 ,x,

12、y,z);C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构3.2二分支结构3.2.3 if语句的嵌套嵌套的一般形式if (exprl) if (expr2) statementl else statement!if (exprl) statementl elseif(expr3) statements else statement4内嵌if内嵌ifif (exprl)if (expr2)内嵌ifstatementlJelsestatement3if (exprl) if (expr2) elseel

13、seif(expr3)elsestatements statementsstate内嵌ifstate内联ifC语言程序设计电子教案第3章控制结构3.2二分支结构3.2.3 if语句的嵌套例3." 计算分段函数的值:C语言程序设计电子教案第3章控制结构3.2二分支结构C语言程序设计电子教案第3章控制结构3.2二分支结构sinxx < 00< x < 11< x <10>10C语言程序设计电子教案第3章控制结构3.2二分支结构输入x"7_iT"y=«3 exp (x)K<10yloglO(x) y=sin(x)输出y

14、3.2.3 if语句的嵌套例3." 计算分段函数的值:#include <stdio.h>#include <math.h> main() float x,y; scanf(H%f&x); if(x<0) y=x;else if(x<=l) y=exp(x);else if(x<10) y=loglO(x); else y=sin(x);printf(HY=%6.2fn,y);C语言程序设计电子教案第3章控制结构3.2二分支结构C语言程序设计电子教案第3章控制结构3.2二分支结构 if - else配对原则:缺省 时.else总是和

15、它上面离它最近的未配对的i f配对厂if()厂if()if()匕 elseJ else、else通过“if语句的嵌套”可实现“多分支结构. A孝LiliiiiiiiiiU3.2.3 if语句的嵌套汞例:if (a=b)rif(b=c) pTintf(“n=b=c");elseprintf(“M=b”);修改:if (a=b) if(b=c)p rintf(u a=b=c ”);elseprintf(“M=b”);C语言程序设计电子教案第3章控制结构3.2二分支结构C语言程序设计电子教案第3章控制结构3.2二分支结构实现ifelse正确配对方法:加33多分支结构3.3.1多分支swit

16、ch语句 if语句的嵌套实现多分支:如果分支较多,则嵌套的if语句层数就越多,程 序不但冗长而且理解也比较困难。因此,C语言 又提供了一种专门用于处理多分支结构的条件选 择语句,称为switch语句,又称开关语句。=士2恥赳C语言程序设计电子教案第3章控制结构33多分支结构3.3.1 多分支sw i tch语句switch语句(开关语句)般形式:sw i tch (表达式) case常量表达式仁break;case常量表达式2:语句组2;break;case常量表达式n:语句组n; break;defau11:语句组n+1 ; break;33多分支结构3.3.1 多分支sw i tch语句s

17、witch语句(开关语句)语句组1语句组2语句组n语句组n+133多分支结构3.3.1 多分支sw i tch语句说明:0 switch后面的表达式的值类型可以是整型、字符型或枚举型。0备表达式的值与某个case中的常量表达式的值相等时, 就执行相应的case后的语句序列,直到遇到break语句或到 达sw i tch结构末尾。0 多个连续直case语句可以共用一个语句序列。0 case后的不同常量表达式的值不能相等。0 break的作用是改变程序在sw i tch结构中的执行流程, 将程序流程跳出sw i tch语句,转到sw i tch语句后的下一条语 句去执行。0 sw i tch语句中

18、允许嵌套sw i tch语句。C语言程序设计电子教案第3章控制结构33多分支结构3.3.1多分支switch语句例3.14 从键盘输入一学生成绩,判断学生成绩等级。如果成绩在 90=00分,等级为州成绩在8089分,等级为“B笃成绩在7079分,等 级为 S 成绩在6069分,等级为 讥 成绩小于60分,等级为 忖。 int score; char grade;表达式score/10 的值为10和9时 共用相同的语 句序列。printf(“Input studenfs score: ” ); scanf (“d”, &score);case10:case9Sgrade=,A9;brea

19、kcase8:grade=,B9;break;case7sgrade=,C9;break;case6:grade=,D9;break;defau1t:grade=,E9;sw i tch (score/10)pr intf (66The stu denfs grade is %cn? grade);严丨 睦LiiiiiiiiiiMU33多分支结构3.3.2多分支结构综合举例例315计算分段函数的值:CoXJ =100.5 x + 2040+ x(x<0) (0 < x < 10) (10 V 兀 v 20) (20 < x < 40)(40 V x)下面使用4种不

20、同的方法实现该程序,以展现C语言多 分支结构的风格。33多分支结构3.3.2多分支结构综合举例(1) 使用不嵌套的if语句编程: #include <stdio. h> main()f I oat xf y ; scanf (“f", &x); if (x<0)if(0<=x&&x<10)y=o; y=x; y=io;if(20<=x&&x<40)y=0, 5*x+20;if (x>=40)y=40+x;pr i ntf (“y=%5 2fn9 y);if (10<=x&&x

21、<20)33多分支结构3.3.2多分支结构综合举例C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构使用嵌套的if语句编程:# i ncIude <std i o. h>C语言程序设计电子教案第3章控制结构main()float x, y; scanf (“f ”,&x); if (x>=0)if (x>=10)y=40+x; y=0. 5*x+20;i f (x>=20) if (x>=40)elsee I sey=10 ;e I sey=x ;e I sey=0 ;printf (<6y=%5. 2f n? y)

22、;33多分支结构3.3.2多分支结构综合举例(3)使用i广else形式编程:# i ncIude <stdio. h> main() f I oat xf y ; scanf (“f &x); i f (x<0) y=0; else if(x<10) y=x;y=0. 5*x+20; y=40+x;else if (x<20)y=10 ;else if(x<40) else printf (uy=%52fn”,y);C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构33多分支结构3.3.2多分

23、支结构综合举例使用switch语句编程:#incIude <stdio, h>main() fI oat x, y; int z; scanf (“f&x); z= (int) (x/10); if (x<0) z= -1 ; sw i tch (z)case-1:y=0; break;case0:y=x; break;case1:y=10; break;case2:case3:y=0. 5*x+20; break;defauIt:y=40+x;printf (y=%5. 2fn5 y); ml a® a m « m ti h m I C语言程序设

24、计电子教案第3章控制结构3.4循环结构3.4.0引例例3.16 求 s=1+2+3+.+100 之和。解题思路设变量s存储累加和,其初值为0,变量n作为循环 变量,其值由1变化到20,将n的每一个值累加到s变量,则可 以实现上述算法。(利用目前所学知识能编写如下程序)#include <stdio. h> main() int s=0, n=0;n=n+1;s=s+n;n=n+1;s=s+n; pr intf (“s=%dn”, s); 在上例中,n=n+l ;和 s=s+n;两语句会在毎序中 反复出现100次,使程序变 得很长。为解决这一问题 ,C语言引入了循环结构。C语言中实现

25、循环结构的语 句有for语句、while语 句和dowh订e语句。3.4 循环结构3.4.1 for 语句for语句的一般形式for(表达式1;表达式2;表达式3)循环体;例如:for(s=09n=l;n<=100;n+) s=s+n;3.4循环结构C语言程序设计电子教案第3章控制结构3.4.1 for 语句for语句的执行过程(1) 计算表达式X(2) 计算表达式乙若其值为非0,则 执行第3步;若为0,则转向第6步执行;执行循环体;计绘表送衣3 ;跳转到第2步继续执行;终止循环,执行for语句后的下一条语句。C语言程序设计电子教案第3章控制结构3.4循环结构3.4.1 for 语句例3

26、.17例316用for语句实现,程序如下: #include <stdio. h>main()irrt sy n;for (s=0f n=1; n<=100; n+)s=s+n;printf (“s=%drT,s); 3.4循环结构C语言程序设计电子教案第3章控制结构3.4.1 for 语句for语句的说明(1)在for语句中,若表达式1缺省,则必须将表达式1作为语句安排在for语句之前。例3.17例3.16用for语句实现,可以编写如下程序:# i ncIude <std i o.h> main() int s, n;s=0; n=1;for(; n<=1

27、00; n+)s=s+n;prirrtf (“s=%dnH s);C语言程序设计电子教案第3章控制结构3.4循环结构3.4.1 for 语句for语句的说明(2) 在for语句中,若表达式2缺省,则系统默认循环控制条件 为真(非0值),此时,如果不在循环体中加其它语句进行控制 ,循环将无限制进行下去,即出现死循环。例3.17例3.16用for语句实现,可以编写如下程序:# i ncIude <stdio. h>main() int s, n;for(s=0, n=1 ; ; n+)if(n>100) break;s=s+n;pr intf ("s=%dn”,s);C

28、语言程序设计电子教案第3章控制结构3.4循环结构3.4循环结构3.4.1 for 语句for语句的说明(3) 在for语句中,若表达式3缺省,可将它的语句放在循环体的最后。例3.17例316用for语句实现,可以编写如下程序:#include <stdio.h>main() int s, n;for(s=0, n=1 ; n<=100;)s=s+n;n+;pr i ntf (“s=%drfs);3.4.1 for 语句for语句的说明(4) 在for语句中三个表达式都可以缺省,但其中的两个分号 不可省。例3.17例3.16用for语句实现,可以编写如下程序:#include

29、<stdio. h>main()int s=0, n=1;for(;)s=s+n;n=n+l; if(n>100) break;pr intf ("s=%dn”,s);3.4循环结构3.4.1 for 语句for语句的说明(5) 循环体可以为空语句,但必须有分号(即循环为空语句)例3.17例3.16用for语句实现,可以编写如下程序:# i ncIude <std i o. h>main()int sy n;for (s=0, n=1; n<=100; s=s+n, n+)printf (us=%dnwfs);3.4.1 for 语句思考与练习:例

30、3.16用for语句实现,相应的程序在前面已经例举 了多种方法,请同学们试用其他可能的方法编写程序。另夕卜,例316还可以用while语句、do-while语句、 if+got。等方法实现。这说明,对于某个实际的编程问题 ,可以编写出很多种程序来解决同一问题。所以,对我们 初学者来说,关键是要多学习、動练习,熟则能生巧,到 时,编写起程序来就游刃有余了!加油吧! !3.4 循环结构3.4.2 wh i I e语句 whi I e语句的一般形式while (表达式)例如:int n, s;n=1;s=0;while (n<=100) s=s+n:n+;C语言程序设计电子教案第3章控制结构3

31、4循环结构3.4.2 wh i I e语句 while语句的执行过程首先计算和判断表达式的值, 如果表达式的值为样真”(非0当表达式式时直为賞循环体while语句的下一语句),则执行循环体,然后程序转 回去再计算和判断表达式的值, 直到表达式的值为"假” (0) ,终Jjtwhile循环,继续执行 whi le语句后的下一语句。C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构示例 例3.16用while语句实现,可以编写如下程序:# i ncIude <stdio. h>main() int sf n;s=0;

32、n=1;whi!e(n<=100) s=s+n;n+;pr intf (“s=%dn”,s);3.4 循环结构3.4.3 dowh i I e语句 dowhile语句的一般形式do循环体; while (表达式)例如=int n=1, s=0;do s=s+n; n+;while(n<=100);C语言程序设计电子教案第3章控制结构循坏体当裁如为賁dowhile齣后虾-条晤句3.4 循环结构3.4.3 dowh i I e语句 dowhile语句的执行过程dowh订e语句的作用是无条件 地先执行循环体一次(无论表达式 的值是否为0或非0),所以又称为 “直到型循环” o循环体执行一

33、次 后,计算和判断表达式的值,若表 达式的值为“真”(非0),则程序 转回去反复执行循环体,直到表达 式的值为“假”(0),终止do while语句,继续执行dowhile语句后的下一条语句。3.4 循环结构3.4.3 dowh i I e语句示例 例3.16用do-while语句实现,可以编写如下程序:# i ncIude <std i o. h>main() int s, n;s=0; n=1;dos=s+n;n+;while(n<=100);pr intf (“s=%dn", s);3.4循环结构3.4.4循环嵌套循环嵌套:指_个循环完全包含在另_个 循环的循

34、环体中。 while循环、dowhile循环和for循环都 可以互相嵌套。二重循环的执;亍过程是外循环执行一次, 内循环执行一遍,直至内循环结束后,才 能再进行一次外循环,如此反复,直到外 循环结束。内、外循环控制变量一般不能相同.3.4循环结构3.4.4循环嵌套示例 下面是for语句的二重循环嵌套程序,试分析 其功能:# i ncIude <stdio. h> main() i nt i f j ;for(i=l;i<=9;i+)for(j=l;j<=i;j+) printff6%d*%d=%df i, j, i*j);printf(unw);C语言程序设计电子教案第

35、3章控制结构C语言程序设计电子教案第3章控制结构3.4循环结构3.4.4循环嵌套上例二重循环嵌套程序的执行结果如下:1*1=12*1=23*1=31*1=45*1=56*1=6P*i=?8*1=8 M=?2»2M3*2=6 3*3=94*2=8 4*3=12 4M=165*2=10 5*3=15 5M=2B6*2=12 6*3=18 6昨24?*2=H ?*3=21 ?M=288*2=16 8*3=24 8M=32?*2=18 5*3=27 M=36弼=256«5=30?*5=358*5=40 烁456*6=367*6=128*6=48M=54?*?=«8*7=5

36、6 8*8=64悴63 M=72 M=81C语言程序设计电子教案第3章控制结构35 break、continue及goto语句3.5.1 break 语句 break语句的一般形式while()C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构break;if (.) 验已血break语句经常放在循环语句的 循环体中,且通常和匚彳语句一 起使用。作用=直满足一定条件时,提 前退出本层循环(不管循环控 制条件是否成立),使程序流 程转向该循环结构后的下一条 语句执行。35 break、continue及goto语句3.5.1 break 语句 break语句的示例例32求s

37、=1+2+3+.+100之和。程序如下:C语言程序设计电子教案第3章控制结构#include <stdio.h>main()int s=09n=l;while(l)s=s+n;在程序中,while 循环的循环条件为n+; if(n>100) break; printf(ws=%dnw,s);1 y是一死循环, 退出该循环的办法是在循环体中加一条件和break语句,满足n>100时,即退出循环。C语言程序设计电子教案第3章控制结构35 break、continue及goto语句3.5.2 continue 语句 continue语句的一般形式cont inue;cont

38、i nue语句经常放在循环语 句的循环体中。作用=是结束本次循环,即跳 过循环体中某些还没有被执行 的语句,开始新的一次循环。while( ) vfcontinue;与break比较:cont i nue仅结 耒本次循环,而break是结束整 个循环语句的执行。MkC语言程序设计电子教案第3章控制结构例3.30从键盘 输入10个不为0的整 数,统计其中负数 的个数,并求所有 正数的平均值。解题思路程序 中count用于统计负 数个数,avg在循环 结构中用于统计正 数和,循环结束后 用于计算平均值.35 break、continue及goto语句3.5.2 continue 语句 contin

39、ue语句的示例#include <stdio.h>main() int n,count=0,x;float avg=0;for(n=0; n<10; n+) scanf(w%d59,&x); if(x>0) avg=avg+x; continue; count+;if(count != 10)avg /=10-count;printf(uCount=%d,average=%fn5 count,avg);t I * iZ B35 break、continue及goto语句3.5.3 goto 语句 goto语句的_般形式goto语句标号;2 aaa作用=使程序的流

40、程无条件转移到相应语句标号处。 goto语句一般和if语句一起使用,构成循环。语句标号是对语句的标识,应是合法的标识符,即只能由字臥数字和下*m组成,且第一必须是字母或下划 线。注意:不能用一个整数作为语句标号。goto语句是非结构化语句,大量使用会造成程序流向混乱 ,可读性差,因此结构化程序设计一般不用goto语句.35 break、continue及goto语句3.5.3 goto 语句 goto语句的示例例3.31 构造当型循环(先判断循 环控制条件),程序如下= #include <stdio.h> main() int n=l,s=0;loop: if(n<=100

41、) s=s+n ; n+; goto loop; printf(ws=%dn,s);求 s=l+2+3+. .+100 之和 o构造直到型循环(先执行循环体1次,后判断循环体控 制条件),程序如下:#include <stdio.h>main()int n=l,s=0;loop: s=s+n;n+; if(n<=100) goto loop;printf(ws=%dnw,s);3.6习题三单项选择题D结构化程序模块不具有的特征是 B .A)只有一个入口和一个出口B)要尽量多使用got。语句C)一般有顺序、选择和循环三种基本结构D)程序中不能有死循环2) C语言中,逻辑“真”等

42、价于 .A)整数1B)整数0C)非0数D) TRUE3)以下4条语句中,有语法错误的是D .A) i f (a>b) m=a; B) i f (a<b) m=b;C) i f (a=b)>=0) m=a; D) i f (a=b:)>=0) m=a;.二 J MC语言程序设计电子教案第3章控制结构 aC语言程序设计电子教案第3章控制结构3.6习题三 aC语言程序设计电子教案第3章控制结构单项选择题4)若i, j均为整型变量,则以下循环_C for(i=0, j=2; j=1; i+, j)printf(n%5df %dnH, iy j): aC语言程序设计电子教案第3章

43、控制结构 aC语言程序设计电子教案第3章控制结构A)循环体只执行一次B)循环体执行二次 aC语言程序设计电子教案第3章控制结构C)是无限循环5)以下程序段,执行结果为 D)循环条件不合法 Ado aC语言程序设计电子教案第3章控制结构B)循环体执行二次D)循环条件不合法 a=a*a; wh i I e (! a);A)循环体只执行一次C)是无限循环 aC语言程序设计电子教案第3章控制结构3.6习题三单项选择题6) C语言中whi le与dowhi le语句的主要区别是AA) dowhi le的循环体至少无条件执行一次B) do-while允许从外部跳到循环体内C) while的循环体至少无条件

44、执行一次D) whi le的循环控制条件比dowhi le的严格7)语句whi le (!a);中条件等价于 D .A) a!=0 B) "a C) a=1 D) a=0C语言程序设计电子教案第3章控制结构3.6习题三单项选择题8)以下程序的运行结果为"#include <stdio. h>main()int i=1, sum=0;whi le(i<=100) sum+= i; i+;pr intf (n1+2+3+. +99+100=%df, sum);A) 5050 B) 1 C) 0 D)程序陷入死循环3.6 习题三单项选择题9)以下程序的运行结果为

45、A .#include <stdio. h>main()int sum, pad;sum=pad=5; pad=sum+; pad+; +pad; pr intf(n%dnn, pad);A) 7B) 6C) 5D) 4C语言程序设计电子教案第3章控制结构3.6习题三单项选择题10)以下程序的运行结果为D .#include <stdio. h>main()int a=2, b=10;pr i ntf (na=%d, b=%dn, av b);A) a=%2, b=%10B) a=2, b=10C) a=%d, b=%dD) a=%d, b=%d3.6习题三单项选择题1

46、1)为了避免嵌套的if-else语句的二义性,C语言规定else总A)与缩排位置相同的if组成配对关系B)与在其之前未配对的i f组成配对关系C)与在其之前未配对的最近的if组成配对关系D)与同一行上的if组成配对关系12)对于for (表达式1;:表达式3)可理解为BA)for (表达式1; 0 ;表达式3)B)for (表达式1; 1 ;表达式3)C)for (表达式1;表达式1;表达式3)D)for (表达式1;表达式3;表达式3)36 习题三程序填空题1.下面程序的功能是计算n!。#include <stdio. h>main()int iv n;long p;printf

47、 ( "Please input a number:nH ); scanf (n%d' &n);p= ;for (i=2; i<=p; i+),.p二p 条 1;或 p*=i;printf(nn!=%ldnf p);C语言程序设计电子教案第3章控制结构C语言程序设计电子教案第3章控制结构3.6习题三C语言程序设计电子教案第3章控制结构程序填空题2.下面程序的功能是:从键盘上输入若干学生的成绩.统计并输出最高和最 低成绩.当输入负数时结束输入。#include <stdio. h>main () float score, max, min;printf

48、 ( "Please input one score:nn ); scanf (n%d", &score);max=min=score;八while( score>=0) if (score>max) max=score;if ( SCOieVmill ) min=score;printf ( "Please input another score:nn ); scanf (n%dn, &score);printf (nnThe max score is %fnThe min score is %fn, max, min); XX X丁

49、+三_+的值。.00001103.6习题三#include3.下面程序的功能是:计算y= T 3 要求从键盘上输入x的值,精鹿控制在0.<stdio. h># i ncIude <math. h>main () fI oat x f y=0f fz=-1, fm=-1f temp=1; printf ( "Please input the value of x:n"); scanf (n%f", &x);Whi le( abs(temp)>0>00001)fm=fm+2;temp=fz/fm;y+=temp;printf

50、(nny= %f' y);3.6习题三程序填空题4下面的程序完成两个数的四则运算。用户输入一个实现两个 数的四则运算的表达式,程序采用switch语句对其运算进行 判定后执行相应的运算并给出结果。#include <stdio. h> main() float xf y;char op;pr intf("PI ease input Expression:");scanf&xv &opv &y);switch(op) case '+1:pr intf (,%g%c%g=%gn, X,Op,y,X+y ); break :3.6习题三程序填空题caseprintf(H%g%c%g=%gn,x,op9y,x-y); break;case f*f:printf(" % g % c % g= % gn " Nopyxy); break;case 7':if(y>=le6) && (yv=le6)printf(H Division Error!nu);else printf(H%g%c%g=%gn,x9op9y9x/y); break;de

温馨提示

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

评论

0/150

提交评论