企业C程序的流程设计_第1页
企业C程序的流程设计_第2页
企业C程序的流程设计_第3页
企业C程序的流程设计_第4页
企业C程序的流程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、当前文文件修改密码:8362839 HYPERLINK ./ 更多数据请访问精品数据网HYPERLINK E:还未拷贝企业管理流程管理(http:.)(.)第三章 C程序序的流程程设计一、教学学的目的的与要求求掌握顺序序、选择择、循环环三类程程序流程程控制语语句,以以及转移移语句,能够正正确使用用它们编编程。二、重点点与难点点:if语句句中的条条件表达达式,iif语句句中iff-ellse的的匹配关关系,iif语句句的嵌套套;swwitcch语句句的控制制流程,swiitchh语句的的嵌套;三种循循环语句句的格式式和功能能,循环环嵌套的的使用;转移语语句的使使用。三、教学学内容第一节 算法法1

2、、算法法的概念念为解决某某一个问问题而采采取的方方法和步步骤,就就称为算算法。2、算法法的性质质 = 1 * GB3 有穷性性:一个个算法应应包含有有限的操操作步骤骤 = 2 * GB3 一个初初始:此此动作序序列只有有一个初初始动作作 = 3 * GB3 确定性性:算法法中的每每一个步步骤都应应当是确确定性的的,仅有有一个后后继动作作。 = 4 * GB3 有一个个或多个个输出:序列终终止表示示问题得得到解答答或问题题没有解解答,没没有输出出的算法法是没有有意义的的。第二节 选择择型程序序设计1、iff 语句句的形式式 = 1 * GB3 if(条件表表达式) 语语句 = 2 * GB3 i

3、f(条件表表达式) 语语句1 elsse 语句 2注意: = 1 * GB3 if语语句中的的条件表表达式一一般为逻逻辑表达达式或关关系表达达式,但但也可以以是任意意的数值值类型(包括整整型、实实型、字字符型、指针类类型),例如下下列语句句也是合合法的。if(a) priintff(“%d” ,aa); = 2 * GB3 在iff语句中中,分号号是语句句的结束束标志。 = 3 * GB3 在iff和elsse后面面可以只只含一个个内嵌的的操作语语句,也也可以有有多个操操作语句句,此时时用花括括号将几几个语句句括起来来成为一一个复合合语句。例1:以以下不正正确的iif语句句形式是是( )。A)

4、iff(xy&x!=y);B)iff(x=y) xx+=yy;C)iff(x!=y) sscannf(“%d”,&xx) eelsee sccanff(“%d”,&y);D)iff(xy)z=x;x=yy;y=z;答案:xx,y,z的值值分别是是:200 330 30详解:在在此语句句中,条条件xy为假假,所以以只执行行x=yy;y=z;两两条语句句。例3、以以下不正正确的语语句是( )A)iff(xy);B)iff(x=y)&(xx!=00) x+=y;C)iff(x!=y) sccanff(“%d”,&x);D)iff(xy)x+;y+;答案:DD详解:分分号是语语句结束束的标志志,y+的

5、末末尾无分分号,所所以y+不是是合法的的语句。2、iff 的嵌嵌套 if(条件11) if(条件22) 语句句1 elsse 语句句2 elsse iff(条件件3) 语句句3 elsse 语句句4例4:以以下程序序的输出出结果是是( )mainn( )int a=1100,x=110,yy=200,okk1=55,okk2=00;if(xxy)if(yy!=110)if (!ook1)a=1;elsee iif(ook2) aa=100; prrinttf(“%dn”,a);答案:1100详解:把把10、20、5、0分别别给变数数x、y、ok11、ok22赋值,执行条条件语句句后a值值没有改

6、改变,所所以a值值仍是原原值1000。3、swwitcch结构构swittch语语句是多多分支选选择语句句,其形形式如下下:swittch(表达式式)casee 常量量表达式式1:语句11casee 常量量表达式式2:语句22defaaultt:语句句n+11注意:1、swwitcch后面面括号内内的“表表达式”,可以以是整型型表达式式或字符符型表达达式,也也可以枚枚举型数数据。2、当表表达式的的值与某某一个ccasee后面的的常量表表达式的的值相等等时,就就执行此此casse后面面的语句句,若所所有的ccasee中的常常量表达达式的值值都没有有与表达达式的值值匹配的的,就执执行deefauu

7、lt后后面的语语句。3、每一一个caase的的常量表表达式的的值必须须互不相相同,否否则就会会出现互互相矛盾盾的现象象。4、执行行完一个个casse后面面的语句句后,流流程控制制转移到到下一个个casse继续续执行,直到遇遇到brreakk语句或或执行完完为止。5、deefauult可可以放在在casse语句句的后面面,也可可以放在在casse语句句的前面面。例5:运运输公司司对用户户计算运运费,距距离越远远,每公公里运费费越低。设每公公里每吨吨货物的的基本运运费为pp,货物物重为ww,距离离为s,折扣为为d,则则总运费费f计算算公式为为f=pp*w*s(11-d),编写写程序。公里数数s与折

8、折扣率dd的标准准如下:(此程程序可用用ifellse来来完成,也可以以用swwitcch来完完成)。s2550kmm dd=0250s5500 d=00.055500s110000 d=00.077510000s220000 dd=0.120000s330000 dd=0.1530000s dd=0.2 maiin()int s;floaat pp,w,d,ff;prinntf(“请输输入每公公里每吨吨货物的的基本运运费”);scannf(“%f”,&pp);prinntf(“请输输入货物物重”);scannf(“%f”,&ww);prinntf(“请输输入公里里数”);scannf(“%f

9、”,&ss);swittch(innt)(s/2250) casee 0: d=00; brreakk; caase 1: dd=0.05; brreakk; caase 2: caase 3: dd=0.0755; brreakk; caase 4: caase 5:casee 6: caase 7: dd=0.1; brreakk; caase 8: caase 9:casee 100: caase 11: dd=0.15; brreakk; deefauult: dd=0.2; f=p*ww*s(1-dd); prrinttf(“基本运运费是:%f”,f);详解:1、多个个casse可共

10、共享一组组执行语语句,必必须写成成如下的的形式:casee 4: caase 5:casee 6: caase 7: dd=0.1; brreakk;casee后面只只能有一一个常量量,把上上式改写写成caase 4,55,6,7: d=0.11; brreakk;的形形式是错错误的。2、swwitcch后面面括号内内的“表表达式”必须是是整型表表达式或或字符型型表达式式,也可可以是枚枚举型数数据,对对于swwithh来说,关键是是把原始始数据转转换为易易表达的的形式。例6:请请读以程程序写出出程序的的输出结结果。#inccluddemainn( )int x=11,y=0,aa=0,b=00

11、; sswittch(x) caase 1: swiitchh(y) casee 0: a+;brreakk;casee 1: b+;brreakk; caase 2: a+;b+;bbreaak; pprinntf(“a=%d,b=%d”,a,bb);答案:aa=2,b=11详解:此此程序是是swiitchh的嵌套套结构,在此程程序中bbreaak跳出出内层sswittch结结构,接接着执行行外层sswittch的的casse 22后的语语句。例7:写写出下面面程序的的运行结结果是( )mainn()int i;for(i=11;i=5;i+) swwitcch(ii%5) casee 0:

12、 prrinttf(“*”); breeak; casse 11: pprinntf(“#”); brreakk; deffaullt: priintff(“n”); casse 22: pprinntf(“&”);答案:#& & &*详解:ddefaaultt可放在在casse语句句的前面面,也可可以放在在casse语句句的后面面,当ii%5不不等于00,1,2时,将执行行deffaullt后的的语句pprinntf(“nn”);执行完完成后没没有brreakk,将继继续执行行casse 22后的语语句prrinttf(“&”);第三节 循环环型程序序设计1、whhilee语句whille语

13、句句用来实实现”当当型”循循环结构构,其一一般形式式如下:whille(条条件表达达式) 循环环体语句句例8:设设有程序序段: iint k=110; wwhille(kk=0) kk=k-1; 循环体体执行( )次次。答案:00答案解析析:在此此程序的的whiile结结构中,条件表表达式kk=0的的结果永永远为00即为假假,所以以循环执执行的次次数为00。例9:下下面程序序段的运运行结果果是( )x=y=0; wwhille(xx3) brreakk; 循环环执行( )次答案:44答案解析析:whhilee结构中中的条件件表达式式priintff(“*”)的的值为输输出数据据的个数数,在此此

14、例中,priintff(“*”)的的结果为为1,即即为真。2、doo-whhilee语句do-wwhille语句句的特点点是先执执行循环环体,然然后判断断循环条条件是否否成立,其一般般形式为为:do循环体语语句whiile(条件表表达式);例11、若有如如下语句句 iint x=33; ddo priintff(“%dnn”,xx-=22);whille(-x);则上面程程序段输输出结果果是( )。答案:11例12、以下程程序段循循环执行行几次。x=-11;do x=x*xx; whhilee(!xx);答案:11例13、下面程程序的运运行结果果是( )mainn( )int y=110;do

15、yy-; whiile(-yy);prinntf(“%ddn”,y-);答案:003、foor语句句C语言中中的foor语句句使用最最为灵活活,不仅仅可以用用于循环环次数已已经确定定的情况况,而且且可以用用于循环环次数不不确定而而只给出出循环结结束条件件的情况况,它完完全可以以代替wwhille语句句,其一一般形式式为:for(表达式式1;表达式式2;表达式式2) 语语句说明: = 1 * GB3 forr语句一一般形式式中的“表达式式1”可可以省略略,此时时应foor语句句之前给给循环变变量赋初初值。注注意省略略表达式式1时,其后的的分号不不能省略略。 = 2 * GB3 如果表表达式22省

16、略,即不判判断循环环条件,循环无无终止地地进行下下去。 = 3 * GB3 表达式式3也可可以省略略,但此此时程序序设计者者应另外外设法保保证循环环正常结结束。 = 4 * GB3 可以省省略表达达式1和和表达式式3,只只有表达达式2,即只给给循环条条件,在在这种情情况下,完全等等同于wwhille语句句。 = 5 * GB3 3个表表达式都都可省略略,如:forr( ; ; ) 语语句,相相当于wwhille(11) 语语句,即即不设初初值,不不判断条条件(认认为表达达式2为为真值),循环环变量不不增值。无终止止地执行行循环体体。 = 6 * GB3 表达式式1可以以是设置置循环变变量初值值

17、的赋值值表达式式,也可可以是与与循环变变量无关关的其它它表达式式。foor(ssum=0;ii=1100;i+) summ=suum+ii; = 7 * GB3 表达式式一般是是关系表表达式(如i=1000)或或逻辑表表达式(如ab & xx+yy;x=i+) ii=x;B)foor(;x+=ii)C)whhilee(1)x+;D)foor(ii=100;ii-) suum+=i;答案:AA例16、执行语语句foor( i=11 ; i+4 ; ); 后变数数i的值值是()答案:44例17、下面程程序段的的功能是是计算110000!的末尾尾含有多多少个零零。请填填空。for(k=00,i=5;

18、ii=110000;i+=5)m=ii;whille( )k+;m=m/55;答案:mm%5!=04、brreakk与conntinnue在breeak语语句可以以使流程程跳出sswittch结结构,继继续执行行swiitchh语句下下面的一一个语句句。实际际上,bbreaak语句句还可以以用来从从循环体体内跳出出循环体体,即提提高结束束循环,接着执执行循环环下面的的语句。breeak语语句的一一般形式式为:bbreaak;conttinuue语句句只结束束本次循循环,而而不是终终止整个个循环的的执行。conntinnue语语句的一一般形式式为:cconttinuue;例18、下列程程序的运运

19、行结果果是( )。 maain( ) intt i,j,xx=0; ffor(i=00;i2;ii+) x+; foor(jj=0;j=3;jj+) if(j%22) cconttinuue; x+; x+; priintff(“xx=%ddn”,x);答案:例19、下面程程序的运运行结果果是( )mainn( ) innt kk=0;chaar cc=AA; doo swwitcch(cc+) ccasee AA:kk+;breeak; ccasee BB:kk-; ccasee CC:kk+=22;brreakk; ccasee DD:kk=k%2;cconttinuue; ccasee

20、EE:kk=k*10;breeak; ddefaaultt:k=k/33; k+;whiile(c=1e-6;ii+) t=(-1)*t*i; s=s+11/t;prinntf(“%llf”,s);例24、有一分分数序列列:2/1,3/22,5/33,8/55,13/6,21/13,.求出这个个数列的的前200项之和和mainn() innt ss=0, f11=1,f2=2; foor(II=1;I=20;I+) ss=s+f2/f1; ff2=ff1+ff2; ff1=ff2-ff1; prrinttf(“%d”,s);例25、打印九九九表mainn( )intt i,j;for(i=11

21、;i=9;i+) for(j=11;j=9;j+) prrinttf(“%2dd*%22d=%2d”,i,j,ii*j); pprinntf(“nn”);例26、打印出出下列图图形mainn( )int i,jj;for(i=11;i=5;i+) for(j=11;j=5+fabbs(ii-3);j+) prrinttf(“ ”);for(j=11;j=5-2*ffabss(i-3);j+) priintff(“”);prinntf(“nn”); 例27、打印出出下列图图形例28、兔子繁繁殖问题题mainn( ) intt i,f1,f2,f3; forr(i=3;ii=112;ii+) f3

22、=ff1+ff2;f1=ff2;f2=ff3;prinntf(“%dd”,ff3);例29、求最大大公约数数、最小小公倍数数。mainn( )intt r,u,vv,m,n;scannf(“%d,%d”,&mm,&nn);m=u;n=vv;if(uuv) rr=u;u=vv;v=r;whille(uu!=00)r=uu%v;u=vv;v=r;prinntf(“最大大公约数数是:%d,最最小公倍倍数是”,v,m*nn/v);例30、sn=a+aa+aaaa+aaaa,从键盘盘输入aa及n后,求求sn方法一:mainn()intt n,a;longg s;scnaaf(“%d%d”,&n,&a);

23、for(i=11;i=n;i+) ss=s*10+i*aa; prrinttf(“%ldd”,ss); 方法二:mainn()intt n,a;longg s,t=00;scnaaf(“%d%d”,&n,&a);for(i=11;i=n;i+) tt=t*10+as=s+t; prrinttf(“%ldd”,ss); 例31、给出一一个不多多于5位位的正整整数,要要求求出它它是几位位数分别打打印出每每一位数数逆序打打印此数数据。mainn( )lonng aa; intt i=0;ss=0;prinntf(“它的的每一位位数:”);Whille(aa!=00) i=ii+1; x=aa%100

24、; a=aa/100; s=ss*100+x; priintff(“%d ”,x);prinntf(“nn”);prinntf(“它是是%d位位数nn”,ii);prinntf(“它的的逆序是是%dn”,s); 例32、输出111000之间间每位数数的乘积积大于每每位数的的和的数数 mmainn() intt n,k=11,s=0,mm; ffor(n=11;ns) prrinttf(“%d”,n);例33、猴子吃吃桃问题题,猴子子第一天天摘下若若干桃子子,当即即吃了一一半,还还不过瘾瘾又多吃吃了一个个,第二二天又将将剩下的的桃子吃吃掉一半半,又多多吃了一一个,以以后每天天都吃前前一天剩剩下的

25、半半多一个个,到第第10天天,再吃吃桃时只只剩下一一个桃子子,求第第一天共共摘下多多少了桃桃。 mmainn() intt i,s=11; forr(i=9;ii=11;i-) ss=2*s+11;prinntf(“第一一天共摘摘下%dd个桃子子”,ss);例34、准备客客票:某某铁路在在线共有有10个个车站,问需要要准备几几种车票票。mainn()intt i,j,ss=0; forr(I=1;II=99;I+) foor(jj=I+1;jj=110;jj+) s=ss+1; priintff(“需需要准备备%d”,2*s);例35、有10220个西西瓜,第第一天卖卖一半多多两个,以后每每天

26、卖剩剩下的一一半多两两个,问问几天以以后能卖卖完。 maiin( ) iint dayy=0,s=110200; whhilee(s=0) s=ss/2-2; dayy+; prrinttf(“%d”,daay);例36、从三个个红球、五个白白球、六六个黑球球中任意意取出八八个球,且其中中必须有有白球,输出所所有可能能的方案案。mainn()intt reed,wwhitte,bblacck; forr(whhitee=1;whiite=5;whiite+) foor(rred=0;rred=3;redd+) forr(bllackk=0;blaack=1e-6) x33=(xx1+xx2)/2; if(f(xx3)*f(xx2)0) xx2=xx3;elsee xx1=xx3

温馨提示

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

评论

0/150

提交评论