版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1c语言语言(yyn)的三种基本结构的三种基本结构第一页,共73页。4.1 C4.1 C程序三种程序三种(sn (sn zhn)zhn)基本结构基本结构 从结构化程序(chngx)设计角度出发,程序(chngx)只有三种结构:顺序顺序(shnx)结构结构选择结构选择结构循环结构循环结构第1页/共73页第二页,共73页。1. 顺序顺序(shnx)结构结构表示(biosh)ABAB先执行(zhxng)A, 再执行(zhxng)B.第2页/共73页第三页,共73页。2. 选择选择(xunz)结结构构表示(biosh)为ABPTFB TPFA存在某条件(tiojin)P, 若P为真,则执行A,
2、否则执行B。第3页/共73页第四页,共73页。 另一种(y zhn)选择结构多分支结构.KK=K1A1A2AiAnK=K2K=Kn第4页/共73页第五页,共73页。3. 循环循环(xnhun)结结构构表示(biosh)为PFTAAP为T(1) 当型结构(jigu) 当P条件成立时(T),反复执行A,直到P为“ 假”时才停止循环.有两种结构:当型和直到型第5页/共73页第六页,共73页。(2) 直到(zhdo)型APTFA直到P为F 先执行A, 再判断P,若为F,再执行A,如此(rc)反复,直到P为F. 已证明: 上述三种结构(jigu)组成的程序可以解决全部的问题,所以任何一种高级语言都具备上
3、述三种结构(jigu)。第6页/共73页第七页,共73页。函数调用语句函数调用语句(yj):如: printf ();1. 表达式语句(yj)赋值语句赋值语句(yj): 如:如: i=i+1; i+; x+y;空语句空语句: 任何事情都不做。C程序语句可分为五大类: 如: ;4.2 C 4.2 C 语句语句第7页/共73页第八页,共73页。2. 控制语句(yj)改变语句(yj)的执行顺序 if ( ) else (条件(tiojin) for ( ) (循环(xnhun) while ( ) (循环) do while (循环) switch (多分支选择)( )表示条件, 表示语句第8页/共
4、73页第九页,共73页。 continue (结束本次(bn c)循环) break (中止(zhngzh)整个循环) return ( 函数(hnsh)返回)3. 限定转向(无条件转向)语句5. 终止程序运行语句4.无条件转移语句goto exit第9页/共73页第十页,共73页。6. 复合(fh)语句(语句体)用 括起来(q li)的一系列语句。 如: z=x+y; t=z/100; printf (%f, t); 第10页/共73页第十一页,共73页。 一、一、if 语句的三种语句的三种(sn zhn)形式形式执行(zhxng)过程: 当表达式的值为“真”(非零)时,执行(zhxng)语
5、句,否则,不执行(zhxng)语句。如如: if ( x y ) z = x;4.3 选择结构程序设计选择结构程序设计第11页/共73页第十二页,共73页。执行过程: 当表达式的值为“真”(非零)时,执行语句(yj)1,否则,执行语句(yj)2。如如: if (xy) z=x ; else z=y ;第12页/共73页第十三页,共73页。如:if (grade=85) level=A; else if (grade=70) level=B; else if (grade=60) level=C; else level=D; 第13页/共73页第十四页,共73页。 if后面的表达式一般后面的表达
6、式一般(ybn)为逻辑表达式或关系表为逻辑表达式或关系表 达式,也可以是任意数值类型表达式。达式,也可以是任意数值类型表达式。该语句(yj)是合法的:if(3) printf(“ok!”); if 语句中的语句中的“语句语句”为一个简单语句或复合语句。为一个简单语句或复合语句。 如:下面程序段是否有错?if (x=0) printf(“X is positive.”); x+;else printf(“X is negative.”);if (x=0) printf(“X is positive.”); x+;else printf(“X is negative.”);第14页/共73页第十五
7、页,共73页。 在 if 语句中又包含一个或多个(du )if 语句称为 if 语句的嵌套。一般(ybn)形式:if (条件1) if (条件2)语句1 else 语句2else if (条件3)语句3 else 语句4内嵌if内嵌if如:if(x0) if(y0) printf(x0,y0); else printf(“x0,y0) printf(“x0); else printf(“x=0, y6) if (n12) printf(“6n12”);else printf(“n6) if (n12) printf(“6n12”);else printf(“n=6”); 第16页/共73页第十
8、七页,共73页。 -1 ;x0 main( ) int x,y; scanf(%d,&x); if(xb) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(“%5.2f,%5.2f,%5.2f”,a,b,c);第18页/共73页第十九页,共73页。程序程序2:将程序:将程序1的的if语句语句(yj)改为:改为: /*exp52.c*/#include main ( ) int x, y; scanf(“%d, &x); if (x=0) if (x0) y=1; else y=0; else y=-1; p
9、rintf (x=%d, y=%dn, x, y);程序程序(chngx)1: /*exp51.c*/#include main ( ) int x, y; scanf(“%d, &x); if (x0) y= -1; else if (x=0) y=0; else y=1; printf (x=%d, y=%dn, x, y);第19页/共73页第二十页,共73页。程序程序4:将程序:将程序1的的if语句语句(yj)改为:改为:/*exp54.c*/#include main() int x,y; scanf(“%d,&x); y=0; if(x=0) if(x0) y=1;
10、 else y=-1; printf(x=%d,y=%dn,x,y); 程序程序(chngx)3:将程序:将程序(chngx)1的的if语句改为:语句改为:/*exp53.c*/#include main() int x,y; scanf(“%d,&x); y=-1; if(x!=0) if(x0) y=1; else y=0; printf(x=%d,y=%dn,x,y);第20页/共73页第二十一页,共73页。1. 程序程序1 和程序和程序2 是正确的。是正确的。 它们它们(t men)代表的函数为代表的函数为:2. 程序程序3 和程序和程序4 是错误的。是错误的。 它们代表它们代
11、表(dibio)的函数为的函数为:y= 0 (x0)y=1 (x0)结结论论(jiln):第21页/共73页第二十二页,共73页。用if或if/else或它们的嵌套也可使程序实现多路分支(fnzh),但容易出现下面的问题: 可读性差 破坏(phui)结构解决问题的方法解决问题的方法:采用switch语句。第22页/共73页第二十三页,共73页。 switch(变量) case 常量(chngling)表达式1: 语句体1 case 常量(chngling)表达式2: 语句体2 case 常量(chngling)表达式n: 语句体n default : 语句体(n+1) 一般一般(ybn)形式形
12、式:第23页/共73页第二十四页,共73页。 根据表达式的取值, 判断其与哪一个常量表达式相等。如=表达式i,则自语句i开始执行(zhxng),直到语句n+1止。 若与所有常量表达式值不相等,则从default后的语句(yj)开始执行。功能功能(gngnng):(gngnng):注:注:default 可有可无。第24页/共73页第二十五页,共73页。例例: : 根据成绩等级根据成绩等级(dngj)(dngj)打印百分数打印百分数段段. .switch (grade) case A: printf (85100n);case B: printf (7084n);case C: printf (
13、6069n);case D: printf (60n);default: printf (errorn);第25页/共73页第二十六页,共73页。程序程序(chngx)如下:如下:/*exp55.c*/#include main() char grade; scanf(%c,&grade); switch (grade) case A:printf(85-100n); case B:printf(70-84n); case C:printf(60-69n); case D:printf(60n); default:printf(Errorn); 第26页/共73页第二十七页,共73页。
14、运行运行(ynxng)结结果为:果为:A 程序运行结果程序运行结果(ji gu)不在预料之中!不在预料之中!产生错误的原因产生错误的原因: 没有没有(mi yu)完全起到分支作完全起到分支作用。用。85-10070-8460-6960Error第27页/共73页第二十八页,共73页。switch (表达式表达式) case 常表常表1: 语句语句(yj)1; break; case 常表常表2 : 语句语句(yj)2; break; case 常表常表n : 语句语句(yj)n; break; default: 语句语句(yj)n+1; 一般一般(ybn)形式为形式为:解决办法解决办法: 增加
15、增加(zngji)break语句语句, 使之跳出使之跳出switch结构。结构。第28页/共73页第二十九页,共73页。修改修改(xigi)(xigi)程序为程序为: :/*exp56.c*/#include main() char grade; scanf(%c,&grade); switch (grade) case A:printf(85-100n);break; case B:printf(70-84n); break; case C:printf(60-69n); break; case D:printf(60n); break; case D: printf(60n); b
16、reak; 例如例如(lr):第31页/共73页第三十二页,共73页。语言中可以用以下语句语言中可以用以下语句(yj)来实现循来实现循环:环: 用用goto语句语句(yj)和和 if 语句语句(yj)构成循环;构成循环; 用用while语句语句(yj); 用用do_while语句语句(yj); 用用for语句语句(yj)。 第32页/共73页第三十三页,共73页。 goto 语句为无条件转向语句,其作用为:使程序的执行无条件地转移(zhuny)到指定处。一般形式:一般形式: goto 语句标号; 如:如: goto label_1; goto 123;执行过程:执行过程:执行语句时,程序转移到
17、以标号 为前缀的语句处继续执行。如:如: p1: x+;p1: x+; . . . goto p1;第33页/共73页第三十四页,共73页。说明(shumng): C语言允许在任何语句前加一个语句标号,作为语言允许在任何语句前加一个语句标号,作为goto语句的目标。给语句加标号的形式:语句的目标。给语句加标号的形式: 语句标号:语句语句标号:语句 goto语句是一种语句是一种(y zhn)非结构化语句,结构化程序设计方法不提倡使用非结构化语句,结构化程序设计方法不提倡使用goto语句,因为滥用语句,因为滥用goto语句将使程序流程无规律,可读性差。但也不是绝对禁止使用,只有在能够大大提高程序效
18、率时才使用。语句将使程序流程无规律,可读性差。但也不是绝对禁止使用,只有在能够大大提高程序效率时才使用。且记:不要从循环且记:不要从循环(xnhun)体外跳到循环体外跳到循环(xnhun)体内!体内!第34页/共73页第三十五页,共73页。例:计算例:计算10!并输出!并输出(shch)结果。结果。 main() int i=1, sum=1;loop: if (i=10) sum=sum*i; i+; goto loop; printf(“10!=%dn”,sum); 运行(ynxng)结果:10!=24320本应是:10!=3628800 main() int i=1; long sum=
19、1;loop: if (i=10) sum=sum*i; i+; goto loop; printf(“10!=%ldn”,sum); 第35页/共73页第三十六页,共73页。 一般形式:一般形式: while (表达式表达式) 语句语句 执行过程:执行过程: 先计算表达式的值先计算表达式的值 ;若表达式的值为真若表达式的值为真(非非0) 时执行循环体中的语句,时执行循环体中的语句, 然后重复上面步骤。若然后重复上面步骤。若 表达式的值为假表达式的值为假(0) ,则,则 结束循环。结束循环。第36页/共73页第三十七页,共73页。例:将上面例:将上面(shng min)计算计算10!并输出结!
20、并输出结果的程序用果的程序用 while语句写出:语句写出:main() int i=1; long int sum=1; while (i=10) sum=sum*i; i+; printf(“10!=%ldn”,sum); main() int i=1; long int sum=1;loop: if (i=10) sum=sum*i; i+; goto loop; printf(“10!=%ldn”,sum); 第37页/共73页第三十八页,共73页。循环结构循环结构(jigu)的术语的术语 1. 循环(xnhun)条件: 是循环(xnhun)结构中的测试表达式。如:while(i=10
21、) 2. 循环体:是在每个循环周期均要执行一次的语 句。语句可以是任何(rnh)语句,简单语、 复合语句、空语句均可以。如:上例while语句中用花括号括起来的复合语句。 3. 循环控制变量循环控制变量:是在循环条件中控制条件是真是在循环条件中控制条件是真 是假的变量。是假的变量。如:上例while语句中使用的变量 i 。第38页/共73页第三十九页,共73页。注意:注意: 循环条件中的表达式一般是逻辑循环条件中的表达式一般是逻辑表达式和关系表达式,也可以是算数表表达式和关系表达式,也可以是算数表达式(非达式(非0为真,为真,0为假)。一般表达式为假)。一般表达式中应含有循环控制变量。中应含有
22、循环控制变量。 while (3)和和while (0)虽然从程序设计虽然从程序设计(chn x sh j)的角度上说是不合理的,但是合的角度上说是不合理的,但是合法的。法的。while (3) 语句 表示无限(wxin)循环while (0) 语句 表示不进入循环体 要写出一个正确的循环结构,对控制变量要做三方面(fngmin)工作:控制变量赋初值; 把控制变量写入正确的循环条件;控制变量的更新、调整。第39页/共73页第四十页,共73页。 一般形式:一般形式: do 语句语句 while(表达式);表达式);分号不能少 执行过程:执行过程:执行循环体中的语句;执行循环体中的语句;计算表达式
23、,测试循环计算表达式,测试循环 条件,为真条件,为真(非非0)则重复则重复 上面步骤,为假上面步骤,为假(0)结束循结束循 环。环。第40页/共73页第四十一页,共73页。例:将上面计算例:将上面计算10!并输出结果!并输出结果(ji gu)的程序用的程序用 do-while语句写出:语句写出:main() int i=1; long int sum=1; while (i=10) sum=sum*i; i+; printf(“10!=%ldn”,sum); main() int i=1; long int sum=1; do sum=sum*i; i+; while (i=10); prin
24、tf(“10!=%ldn”,sum); 第41页/共73页第四十二页,共73页。我们将我们将while和和do-while循环循环(xnhun)做一下做一下比较比较:main() int i; long sum=1; scanf(“%d”,&i); while (i=10) sum=sum*i; i+; printf(“%ldn”,sum); main() int i; long sum=1; scanf(“%d”,&i); do sum=sum*i; i+; while (i=10); printf(“%ldn”,sum); 输入(shr):9输出:90输入(shr):11输
25、出:1输入:9输出:90输入:11输出:11第42页/共73页第四十三页,共73页。 比较上面两个程序,虽然结构是相同比较上面两个程序,虽然结构是相同(xin tn)的,在输入值为有效值时结果相同的,在输入值为有效值时结果相同(xin tn),但当输入无效值时输出结果是不同的。为什么?,但当输入无效值时输出结果是不同的。为什么? 而do-while语句不管开始的时候测试循环条件是真是假,循环体都要执行一次,因为循环体是先于测试条件执行的。 while语句进入循环体之前,测试循环条件,表达式必须为真,否则while循环不进入循环体,即循环体可能一次也不执行。while与与do-while的主要的
26、主要(zhyo)区别:区别:第43页/共73页第四十四页,共73页。 一般形式:一般形式: for(表达式表达式1 ;表达式;表达式2 ;表达式;表达式3) 语句语句表达式1:一组初始化表达式。表达式2:循环控制条件(tiojin)。表达式3:在执行完循环体语句之后执行的表达式。 我们前面已经说明,要正确表达循环结构(jigu)应注意三方面的问题:控制变量的初始化,循环的条件和控制变量的更新。 for语句在书写形式上正好体现了这种紧密的逻辑关系。不能省略不能省略不能省略不能省略第44页/共73页第四十五页,共73页。执行执行(zhxng)过过程:程: 求出表达式求出表达式1的值,(若表达式的值
27、,(若表达式1是逗号表达式,则依次计算);是逗号表达式,则依次计算); 对对“表达式表达式2”进行判断,为假退出循环,否则转;进行判断,为假退出循环,否则转;执行循环体中语句;执行循环体中语句; 执行执行“表达式表达式3”,(若表达式,(若表达式3是逗号表达式,则依次计算)。是逗号表达式,则依次计算)。 转向。转向。 第45页/共73页第四十六页,共73页。例:将上面例:将上面(shng min)计算计算10!的程序用!的程序用 for语句写出:语句写出:main() int i; long sum; for(i=1,sum=1; i=10; i+) sum=sum*i; printf(“10
28、!=%ldn”,sum); main() int i; long sum; for(i=1,sum=1; i=10; sum=sum*i, i+) ; printf(“10!=%ldn”,sum); 空语句第46页/共73页第四十七页,共73页。说明说明(shumng):表达式1:用于进入循环体之前(zhqin)给某些变量赋初值。 若省略,可在for语句前给变量赋初值。main() int i=1; long sum=1; for( ; i=10; i+) sum=sum*i; printf(“10!=%ldn”,sum); for 循环的三个表达式起着不同的循环的三个表达式起着不同的作用,作
29、用, 根据需要可以根据需要可以(ky)省略。省略。 第47页/共73页第四十八页,共73页。表达式2:决定循环的条件,若省略(shngl),则为无限 循环。 如: for(i0; ;i+) 语句 for(; ;) 语句无限循环(死循环)表达式3:用于循环一次后对某些变量(binling)进行修改。 若省略,可在循环体内对变量(binling)进行修改。 main() int i; long sum=1; for(i=1 ; i=10 ; ) sum=sum*i; i+; printf(“10!=%ldn”,sum); 第48页/共73页第四十九页,共73页。 for 语句最为灵活语句最为灵活(
30、ln hu),它完全可以代替的,它完全可以代替的while语句。语句。如:i=1; while(i=10) sum=sum*i; i+; 等效于for(i=1;i=10;i+) sum=sum*i; for语句功能很强,其中表达式语句功能很强,其中表达式1和表达式和表达式3可以是可以是逗号表达式,但为增强程序逗号表达式,但为增强程序(chngx)的可读性,一的可读性,一般不要把与循环无关的东西放到般不要把与循环无关的东西放到for语句中。语句中。如:sum=1; for(i=1 ; i=10 ; i+) sum=sum*i;for(循环变量赋初值;循环条件;循环变量增值)语句for语句最简单、
31、常用的形式如下:语句最简单、常用的形式如下:第49页/共73页第五十页,共73页。三种循环语句共同的特点是:当循环控制条件非零时,执行循环体语句,否则三种循环语句共同的特点是:当循环控制条件非零时,执行循环体语句,否则(fuz)终止循环。终止循环。循环语句可以是任何循环语句可以是任何(rnh)语句,简单语句、复合语句、空语句均可以。语句,简单语句、复合语句、空语句均可以。while和for语句先判断循环控制条件,do-while语句后判断循环控制条件,所以,while和for语句的循环体可能一次也不执行,而do-while语句的循环体至少也要执行一次。在循环体内或循环条件中必须有使循环趋于结束
32、的语句,否则会出现死循环等异常情况。第50页/共73页第五十一页,共73页。三种循环可以处理同一问题,一般情况可以互相代替。但在实际应用中,我们要根据具体情况来选用(xunyng)不同的循环语句。选用(xunyng)的一般原则如下: 如果循环如果循环(xnhun)次数在执行循环次数在执行循环(xnhun)体之前就已确定,一般用体之前就已确定,一般用for语句;如果循环语句;如果循环(xnhun)次数是根据循环次数是根据循环(xnhun)体的执行情况确定的,一般用体的执行情况确定的,一般用while语句或者语句或者do-while语句。语句。 (循环次数(csh)确定例)int i;long s
33、um=1;for(i=1;i=10;i+) sum=sum*i;(循环次数不确定例)char cdo c=getchar(); printf(“%c”,c); while(c!=q|c!=Q);第51页/共73页第五十二页,共73页。当循环体至少当循环体至少(zhsho)执行一次时,用执行一次时,用do-while语句;反之,如果循环体可能一次也不执行时,用语句;反之,如果循环体可能一次也不执行时,用while语句。语句。 (循环体至少执行一次)/*只有当用户(yngh)键入q或Q,才结束循环*/char cdo c=getchar(); printf(“%c”,c); while(c!=q|
34、c!=Q);(循环体可能一次不执行)/*只有不是(b shi)q或Q的字符才被打印*/char c;c=getchar();while (c!=q|c!=Q); printf(“%c”,c); c=getchar(); 第52页/共73页第五十三页,共73页。例:在屏幕例:在屏幕(pngm)上打印一个上打印一个8行行7列的星号矩阵。列的星号矩阵。 #include main() int i; for( i=0; i7; i+ ) printf(*); /*打印(d yn)第1行星号*/ printf(n); for( i=0; i7; i+ ) printf(*); /*打印(d yn)第2行
35、星号*/ printf(n); for( i=0; i7; i+ ) printf(“*”);/*打印(d yn)第8行星号*/第53页/共73页第五十四页,共73页。什么什么(shn me)叫叫循环嵌套?循环嵌套? 一个循环(xnhun)的循环(xnhun)体中套有另一个循环(xnhun)叫循环(xnhun)嵌套。这种嵌套过程可以一直重复下去。 一个循环外面包围一层循环称为(chn wi)二重循环。一个循环外面包围二层循环称为(chn wi)三重循环。一个循环外面包围多层循环称为(chn wi)多重循环。 while、do-while、for可以互相嵌套自由组合。 第54页/共73页第五十五
36、页,共73页。例:将上例(打印例:将上例(打印8行行7列的星号矩形)用二重循环列的星号矩形)用二重循环(xnhun)实现。实现。 #include main() int i , k; for( i=0; i8; i+ ) for( k=0; k7; k+ ) printf(*); printf(n); 第55页/共73页第五十六页,共73页。一、break 语句(yj)一般形式:一般形式: break ;功能功能(gngnng):结束当前的一层循环。:结束当前的一层循环。 解释:解释:break 语句只能用于循环语句和语句只能用于循环语句和Switch语句。语句。第56页/共73页第五十七页,
37、共73页。例:打印例:打印(d yn)半径为半径为110的圆的面积,如果面积超过的圆的面积,如果面积超过100,则不再打印,则不再打印(d yn)。 #include #define PI 3.14159main() int r; float area; for(r=1; r100.0) break; printf(area=%fn,area); printf(now, r=%dn,r); 第57页/共73页第五十八页,共73页。注意:在嵌套循环中使用注意:在嵌套循环中使用break语句,它只语句,它只影响影响(yngxing)包含它的最内层循环,即包含它的最内层循环,即程序仅跳出包围该程序仅
38、跳出包围该break的那层循环。的那层循环。 例:编写程序,输出(shch)三角乘法表。 main( ) int i, j; for( i=1; i= 9; i+) for( j=1; ji ) break; printf(“%3d”, i*j ); printf(“n”); 运行(ynxng)结果:1 2 4 3 6 9 4 8 12 165 10 15 20 256 12 18 24 30 367 14 21 28 35 42 498 16 24 32 40 48 56 649 18 27 36 45 54 63 72 81第58页/共73页第五十九页,共73页。一般形式:一般形式: co
39、ntinue ;功能:结束循环体,进入功能:结束循环体,进入(jnr)下一个循环周期。下一个循环周期。 解释:一旦执行了解释:一旦执行了continue语句,程序就跳语句,程序就跳过循环体中位于该语句后的所有语句,过循环体中位于该语句后的所有语句, 提前结束本次提前结束本次(bn c)循环周期并开始下一个循环周期并开始下一个 循环周期。循环周期。二、continue语句(yj) 第59页/共73页第六十页,共73页。例例6.6 用用/41-1/ 3+1/5-1/7+1/9 求求近似的值。近似的值。 直到直到(zhdo)最后一项的绝对值小于最后一项的绝对值小于10-6为止。为止。#include
40、 math.hmain() int s; float n , t , sum, pi; t=1; sum=0 ; n=1 ; s=1; while(fabs(t)=.000001) sum=sum+t; n=n+2; s= -s; t=s/n; pi=sum*4; printf(pi=%fn,pi);运行(ynxng)结果:=3.141594第60页/共73页第六十一页,共73页。第几个月 小兔子对数(du sh) 中兔子对数(du sh) 老兔子对数(du sh) 总数 1 1 0 0 1 2 0 1 0 1 3 1 0 1 2 4 1 1 1 3 5 2 1 2 5. 例例6.7 斐波纳契
41、数列斐波纳契数列(shli):1,1,2,3,5,8第61页/共73页第六十二页,共73页。例例6.7 求斐波纳契数列求斐波纳契数列(shli):1,1,2,3,5,8 的前的前20个数。个数。(该数列特点:第(该数列特点:第1、2两个两个(lin )数是数是1、1,从第,从第3个数个数 开始,该数是其前两个开始,该数是其前两个(lin )数之和。)数之和。)main() int f1=1, f2=1, i; for(i=1;i=10;i+) printf(%6d%6dn,f1,f2); f1=f1+f2; f2=f1+f2; 运行(ynxng)结果: 1 1 2 3 5 8 13 21 34
42、 55 89 144 233 377 610 987 1597 2584 4181 6765 第62页/共73页第六十三页,共73页。例例6.7 求斐波纳契数列求斐波纳契数列(shli):1,1,2,3,5,8 的前的前40个数。个数。main() long int f1=1, f2=1, i; for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2); if(i%2= =0) printf(“n”); f1=f1+f2; f2=f1+f2; 运行(ynxng)结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 2584 4181 6765 第63页/共73页第六十四页,共73页。例例6.8 判断判断M是否是否(sh fu)为素数。为素数。#includemain() int m, i ,k; scanf(%d,&m); k=sqrt(m); for(i=2; ik) printf(%d is a prime number.n,m); else printf(%d is not a prime number.n,m);素数的定义素数的定义(dngy):只能被:只能被1和它他本身整除的正和它他本身整除的正整数。整数。第64页/共73页第六十五页,共73页。例例6.9 求出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高层建筑财务成本调整策略
- 消化系统疾病术后患者的护理
- 护理技能操作题库
- 风疹患者日常护理要点
- 分级护理PDL未来展望
- 高峰交通秩序课件
- 《网络广告设计》第7章移动端网络广告制作实例
- 公共美术考试题库及答案
- 2025年生物长沙中考真题及答案
- 2026年山东英才学院单招职业适应性测试模拟试题及答案解析
- 道路车辆汽车列车多车辆间连接装置强度要求
- 《劝学》课件+2025-2026学年统编版高一语文必修上册
- 红楼梦史湘云讲解
- 颅内感染指南解读
- 公路养护培训课件
- 医院生物安全培训简报课件
- 天车安全培训教学课件
- 医院清洁消毒培训
- 我国白酒企业盈利能力分析-以贵州茅台为例
- 2026年度安全生产工作计划
- 储能项目并网消防专篇
评论
0/150
提交评论