《C语言循环结构程序设计模拟题.doc》由会员分享,可在线阅读,更多相关《C语言循环结构程序设计模拟题.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第五章 循环结构程序设计一、选择题1while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 的操作,否则,循环将会无限制地进行下去。(0级)A)0 B)1 C)成立 D)22在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的 不能丢,它表示do-while语句的结束。(0级)A)0 B)1 C); D),3for语句中的表达式可以部分或全部省略,但两个 不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。(0级)A)0 B)1 C);
2、D),4程序段如下int k=-20;while(k=0) k=k+1;则以下说法中正确的是 。(1级)A)while循环执行20次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次5程序段如下int k=1;while(!k=0) k=k+1;printf(%dn,k);说法正确的是 。(1级)A)while循环执行2次 B)循环是无限循环C)循环体语句一次也不执行 D)循环体语句执行一次6以下for循环是 。(1级)for(a=0,b=0;(b!=123)&(a=4);a+)A)无限循环 B)循环次数不定 C)执行4次 D)执行5次7在下列程序中,while循环的循环
3、次数是 。(1级)main( ) int i=0; while(i10) if(i1) continue; if(i= =5) break; i+; .A)1 B)10 C)6 D)死循环、不能确定次数8程序段如下int k=0; while(k+=2) printf(%dn,k);则执行结果是 。(1级)A)1 B)2 C)0 D)无结果 2 3 1 3 4 29程序段如下int k=0;while(k+=2); printf(last=%dn,k);则执行结果是last= 。(1级)A)2 B)3 C)4 D)无结果10执行下面的程序后,a的值为 。(1级)main()int a,b;fo
4、r(a=1,b=1;a=20)break;if(b%3=1) b+=3; continue; b-=5;A)7 B)8 C)9 D)1011以下程序的输出结果 。(1级)main()int x=3;doprintf(%3d,x-=2);while(-x);A)1 B)30 3 C)1 -2 D)死循环12定义如下变量:int n=10;则下列循环的输出结果是 。(1级)while(n7)n-;printf(%dn,n);A)10 B)9 C)10 D)9 9 8 9 8 8 7 8 7 7 613以下程序的输出结果 。(1级)main()int n=0;while(n+=1) printf(%
5、dt,n);printf(%dn,n);A)1 2 3 B)0 1 2 C)1 1 2 D)1 2 214以下程序的输出结果是 。(1级)main()int i;for(i=1;i=5;i+)if(i%2)printf(#);else continue;printf(*);printf($n);A)*#*#*#$ B)#*#*#*$ C)*#*#$ D)#*#*$15以下程序的输出结果是 。(1级)main()int a=0,i;for(i=;i5;i+)swich(i)case 0:case 3:a+=2;case 1:case2:a+=3;default:a+=5;printf(%dn,a
6、);A)31 B)13 C)10 D)2016以下程序的输出结果是 。(1级)#include main()int i=0,a=0;while(i20)for(;) if(i%10)= =0) break;else i-;i+=11; a+=i;printf(%dn,a);A)21 B)32 C)33 D)1117当输入为quert?时,下面程序的执行结果是 。(1级)#includemain()char c;c=getchar();while(c=getchar()!=?) putchar(+c);A)Quert B)vfsu C)quert? D)rvfsu? 18当输入为quert?时,
7、下面程序的执行结果是 。(1级)#include main()while(putchar(getchar()!=?);A)quert B)Rvfsu C)quert? D)rvfsu?19当输入为quert?时,下面程序的执行结果是 。(2级)#includemain()char c;c=getchar();while(c!=?)putchar(c);c=getchar();A)quert B)Rvfsu C)quert? D)rvfsu?20在C语言的循环语句for,while,do-while中,用于直接中断最内层循环的语句是 。(0级)A)swich B)continue C)break
8、 D)if21若i,j已定义为int型,则以下程序段中循环体的总的执行次数是 。(1级)for(i=5;i;i-) for(j=0;j4;j+) A)20 B)24 C)25 D)3022以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main()int n,k;float score,sum,ave;sum=0.0;for(n=1;n=10;n+)for(k=1;k 7; n- ) printf ( “ %dn” , n ) ;A)10 B) 9 C)10 D)99 8 9 88 7 8 7 7 624. 循环语句中的for语句,其一般形式如下
9、:for(表达式1;表达式2;表达式3) 语句其中表示循环条件的是 。(0102第二学期试题)A)表达式1 B)表达式2 C)表达式3 D)语句25.定义如下变量:int n=10;则下列循环的输出结果是 。(0102第二学期试题) while (n7) n-;printf(“%d”,n); A) 10 B) 9 C) 10 D) 99 8 9 88 7 8 7 7 626. 下面程序段的运行结果是: 。(03试题) x=y=0; while(x15) y+, x+=+y; printf(“%d, %d”, y, x);A)20, 7 B)6, 12 C)20, 8 D)8, 2027. 以下
10、程序的运行结果是: 。(03试题)main( ) int a=2, i ; for(i=0;i3;i+) printf(“%4d”,f(a) ) ; f( int a) int b=0,c=3;b+; c+; return(a+b+c); A)7 10 13 B)7 7 7C)7 9 11 D)7 8 928. 下面程序的运行结果是: 。(往届试题) main( ) int y=10; do y-; while(-y) ; printf(“%dn”,y-); A)-1 B)1 C)8 D)029. 下面有关for循环的正确描述是 。(0405第二学期试题)A)for循环只能用于循环次数已经确定
11、的情况B)for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来30. 以下能正确计算12310的程序段是 。(0405第二学期试题)A)do i=1;s=1; s=s*i; i+; while(i=10);B)do i=1;s=0; s=s*i; i+; while(i=10);C)i=1;s=1; do s=s*i; i+; while(i=10);D)i=1;s=0; do s=s*i; i+; while(i=10);31. 以下程序段 。(0405第二学期试题)x=-1; do
12、x=x * x; while(!x);A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误32. 下面程序的运行结果是: 。(往届试题)#include main( ) int y=10; do y-; while(-y) ; printf(“%dn”,y-); A)-1 B)1 C)8 D)033. 定义如下变量和数组:int I;int x33=1,2,3,4,5,6,7,8,9;则下面执行语句的结果为: 。(往届试题)for(I=0;I3;I+)printf(“%3d”,xI2-I);A)1 5 9 B)1 4 7C)3 5 7 D)3 6 934. 以下程序的运行结果是:
13、。(往届试题)main( ) int n=4; while(n-)printf (“%2d”,-n);A)2 0 B)3 1C)3 2 1 D)2 1 035. 设有以下程序段,则执行该程序后为: 。(往届试题)int x = 0, s = 0 ;while ( !x != 0 ) s += + x ;printf ( “ %d ”, s ) ;A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次36. 下面程序的运行结果是: 。(往届试题)#include main( ) int I ; for ( I = 1; I =5; I+) switch
14、( I%5 ) case 0: printf ( “ * ” ); break; case 1: printf ( “ # ” ); break; default : printf (“n”); case 2: printf ( “ &” ); break; A)#&* B)#& C)# D)#& &* & * & *二、填空题1while语句的特点是 (1) ,do-while语句的特点是 (2) 。(0级)2将for(表达式1;表达式2;表达式3)语句改写为while语句是 。(0级)3break语句的功能是 。(0级)4break语句只能用于 (1) 语句和 (2) 语句中。(0级)5c
15、ontinue语句的作用是 ,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。(0级)6在循环中,continue语句与break语句的区别是:continue语句只是 (1) ,break语句是 (2) 。(0级)7循环的嵌套是指 。(0级)8要使以下程序段输出10个整数,请填入一个整数:for(i=0;iamax) amax=x;if (2) amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);2.下面程序可求出11000的自然数中所有的完数(因子和等于该数本身的数)请填空。(03试题)main( ) int
16、m, n, s;for(m=2;m1000;m+) _(1)_for(n=1;n=m/2;n+)if(_(2)_) s+=n;if(_(3)_) printf(“%dn”, m); 3.以下程序的功能是根据求e的近似值,精度要求为。请填空:(0405第二学期试题)main( )int i=1; double e,new;e=1.0; new=1.0; while( (1) )new/=(double) i; e+=new; (2) ; printf(“e=%en”,e);四、读程序写结果题1下面程序的输出结果是 。(1级)main()int n=0;while(n+=1);printf(%d,
17、n);printf(%dn,n);2下面程序的输出结果是 。(1级) main()int s,i;for(s=0,i=1;i2);printf(%dn,j);4设有以下程序main()int n1,n2;scanf(%d,&n2);while(n2!=0)n1=n2%10;n2=n2/10;printf(%d,n1);程序运行后,如果从键盘上输入1298,则输出结果为 。(1级)5下面程序的输出结果是 。(1级)main()int s=0,k;for(k=5;k=0;k-)swich(k)case 1: case 5:s+;break; case 3: case 4:break; case 0
18、: case 2:s+=2;break;printf(s=%dn,s);6.下面程序运行结果是: 。(03试题)main( ) int x, i ; for( i=1,x=1; i=10) break;if(x%2=1) x+=5;continue;x - = 3;printf(“%dn”, i ); 7.下面程序运行结果是: 。(0405第二学期试题)include main( ) int i,j;for(i=4;i=1;i-) printf(“*”); for(j=1;j=4-i;j+) printf(“*”); printf(“n”); 8.下面程序的运行结果是: 。(往届试题) mai
19、n( ) int i; for(i=1;i=5;i+) switch(i%5) case 0: printf(“*”) ; break; case 1: printf(“#”) ; break; default: printf(“n”); case 2: printf(“&”); 9.下面程序的运行结果是:_。(往届试题)# include main( ) int i, j ; for ( i = 0 ; i= 3; i+ ) for ( j = 0; j=5 ; j+ ) if ( i=0| j=0| i=3| j=5) printf(“*”); else printf( “ ” ) ; p
20、rintf(“n”); 五、编程题1编写程序,求两个整数的最大公约数。(1级)2把输入的整数(最多不超过5位)按输入顺序的反方向输出,例如,输入数是12345,要求输出结果是54321,编程实现此功能。(1级)3中国古代数学家张丘建提出的“百鸡问题”:一只大公鸡值五个钱,一只母鸡值三个钱,三个小鸡值一个钱。现在有100个钱,要买100只鸡,是否可以?若可以,给出一个解,要求三种鸡都有。请写出求解该问题的程序。(1级)4求100200间的全部素数。(1级)5整元换零钱问题。把1元兑换成1分,2分,5分的硬币,共有多少种不同换法,请编写求解此问题的程序。(1级)6有一分数序列:2/1,3/2,5/
21、3,8/5,13/8,21/13,.,编写程序求这个数列的前20项之和。(1级)7编写程序,利用公式e=1+1/1!+1/2!+1/3!+.+1/n!求出e的近似值,其中n的值由用户输入(用于控制精确度)。(1级)8.一个数如果恰好等于它的因子之和(除自身外),则称该数为完全数,例如:6=1+2+3,6就是完全数,请编写一程序,求出1000以内的整数中的所有完全数。其中1000由用户输入。(2级)9编一程序,将2000年到3000年中的所有闰年年份输出并统计出闰年的总年数,要求每10个闰年放在一行输出。(1级)10请编写一程序,打印出九九乘法口诀表(例:1*1=1)。(1级)11请编写一程序,
22、将所有“水仙花数”打印出来,并打印出其总数。“水仙花数”是一个其各位数的立方和等于该整数的三位数。(0405第二学期试题)12编写一程序,求1-3+5-7+.-99+101的值。(1级)13编写程序,计算1!+2!+3!+.+n!的值,其中n的值由用户输入。(1级)14求sn=a+aa+aaa+aaaa+.+aa.a的值,其中a是一个数字,例如:2+22+222+2222+22222(此时n=5)。n和a的值由键盘输入,请编程实现以上和过程。(1级)15编写程序,用迭代法求x=a的近似根。求平方根的迭代公式为:Xn+1=(Xn+a/Xn)/2。要求前后两次求出的x的差的绝对值小于0.00001
23、。(1级)16一个求从100米高度自由落下,每次落地后又反弹回原来高度的一半,再落下,求它在第10次落地时共经过多少米?第10次反弹多高?编写程序求解该问题。(1级)17.若有如下公式: + + +。+ 试根据上述公式编程计算 的近似值(精确到10-6)。(03试题)12环 题程 。设 似的计式述 。 式下若级(题求写?反0米多共落第求下再度高反地次,度米 求级 000小的 求前求/ = 为公的求似 代用程级(程以实请盘值和。=时 + 如,个中值的. +. 求级 入由 ,! . !计写级(值 . + 求一题试第 0。的于方数各一数“。印,出数花有将写级级。*例表乘九,一编级级输在闰 求年的闰并
24、年闰中0到年 序一级(。由0其全所数的以 序一请完 +=例完该则)(子的等果个级级度精用(用 ,似出 .+ ! 式利序级(和 的这程,. , 序数级(程题此请法种多共的,换元题零元级(素的间0级(序问求请都种,一给可可是0 钱0在钱值个钱三鸡钱值鸡:”百出张家代级 能实程 出求 数,方的输位 不数输级 数大整两程写程 ;)( ;) “ )*“ = = | +; ; ( + 0=( 题届。_是运序 & )” # )“ : + ;= )试( 结运序 ; ( ;“ )+ ( 题试二 ( 果行程 ),”% ;=; = ) ( + ; ; =( 题 ( :结运程)% 0 : -0; , ( 级 是结序级
25、级 为出则 键如,)( 0 00=0= ) ( 程以), ) -+ 0 0 ( 级 是出序) )=+ =0 ,( )( 结序),% ),( )=+ 0 ( 级( 出序面果序)=“ ; (/ 0 . ; 题试二(填为度值的据根序 ; “ )_( = _(_+/;=_(_+ 0 =) ( ( 空填。时入,成绩最出,的学入上从能程空填级级划或是字第组 由示标由级0 句语 等写 达 达达( 级0 点句 _, 是的语 级( 用的 ) +, ( =; 数整入数0出程使级(。 指嵌级级 (是语 , 只 区句 句 ,级级判环执一进接语未下环过 的语 级0句 用句语 级( 是的语 级级 句 写)达;表式( 级0
26、 (是的语 的 空 # ) ) ;” ( : ;” ; ; )” + ;=;= ( 题届。 果运程下限行序法是表控段出后序行出后程行 “ ! =0= 题试。 为程则段以 ; , “ - = 题届。 是行序以 ) ,% + (题试。 为句行 , 组和变定) ) ) -” ( - - 0= . 题试。 果行序下错语) 行环 次执) 循) = 题题二 序以) ( + = =) + ; )0 ; = )0 ; ;*; 题试二( 段程 计确 起起用但句多可句环环 环循跳 用不循 达断判句行是循情定确次于环循题期第0 描正 关下) ) -” “ )- 0= ( 题届( 果行序 ) ) ; ; ; 0 ;)
27、(”% + = 题 。 结的程 ) , ) ) ,“ ;+ +) 0 题题第00。 结执段下 ) % ; = ; 级( 句这不置程现语序), 00 =; = ( + = +0 =00 , ( 下下出分平生算计的门学 读:功程 ) + 0=- =级 行的的段下则 义已若 ) 级( 语循最接用 ,句循语在 ) ) )( () ( . 级级 结的面时 为当 ) ;) ( 级( 是执面时 为入? )( )!) () ( 级 是的序,? 当 ) ) +; ;- 0=0 ( ; 00 0 = ( 级级 结输下 ),% +: +: 0 +; 0 ( 级 果的下*#) $* #* $*) ) ) %+ ( 级
28、 果输下 ) ), ) + 00( 级( 果的以 ) ) 0) ( - (级( 果的0=量变定循) - ) ) ) ( (级( 果序以 ) = = (+0;= ( 级 。 的后程行结) ) 级( 结) % ( ;+ 0 如段 结无 级 结), =+( ;=如序次定、循 . + =( ( 0 00 级( 次的循 中序 执 ) 不环 环+ ; ( !; = 级( 环 一执语) 执次体循无环 行循 级 是;), ( ;+ 0! 如如一执体) 执次语环 循是循 次行循 级级 的中说 0=00 如序) ; ) 级0环成下地无环,少缺略达三。省 个,部部式达中) ) 级(束句 示它不 的面 在意须结 用开由,环 - ) ) ) 级级下地限环,的 变式此有,循 此因否循定式表圆后 ,语环 择