(最新整理)C语言上机题库百科园第3章(最新整理)南信大(最新整理)_第1页
(最新整理)C语言上机题库百科园第3章(最新整理)南信大(最新整理)_第2页
(最新整理)C语言上机题库百科园第3章(最新整理)南信大(最新整理)_第3页
(最新整理)C语言上机题库百科园第3章(最新整理)南信大(最新整理)_第4页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、(完整)c语言上机题库百科园第3章!南信大!(完整)c语言上机题库百科园第3章!南信大! 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)c语言上机题库百科园第3章!南信大!)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)c语言上机题库百科园第3章!南信大!的全部内容。第三章1。为表示关系xyz,应使用的表

2、达式是a。(x=y)(y=z)b。(x=y=z)c。(x=y)and(y=z)d。(x=y)(y=z)2。有以下程序 main() int i; for(i=0; i3; i+) switch(i) case 1: printf(”d”, i); case 2: printf(”%d, i); default : printf(”d”, i); 执行后输出结果是a。011122b.120c。012020d.0123.对 for(表达式1; ;表达式3) 可理解为().a。for(表达式1;1;表达式3)b。for(表达式1;0;表达式3)c。for(表达式1;表达式1;表达式3)d。for(表

3、达式1;表达式3;表达式3)4。若i为整型变量,则以下循环执行次数是()。for(i=2;i=0;) printf(”%d,i-);a。0次b.1次c.无限次d.2次5。有以下程序段int n=0,p;do scanf(”%d”,&p); n+;while(p!=12345nc) printf(dn”,d); else if(c-1 = d) = 1) printf(%dn”,d+1); else printf(dn”,d+2); 执行后输出结果是a。2b.4c.编译时出错d.3main()int x=1,a=0,b=0;switch (x) case 0: b+; case 1: a+; c

4、ase 2: a+;b+; printf(”a=d,b=%d”,a,b);该程序的输出结果是( )a。2,2b。2,1c.1,1d.1,010.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main() int n,k; float score,sum,ave; sum=0.0; for(n=1;n 0) y = 1;else y = 0;a。b.c.d.13。以下程序的输出结果是 main() int x, i; for(i = 1; i = 100; i+) x = i;if( +x % 2 = 0) if( +x 3 = 0 ) if( +

5、x % 7 = 0) printf(“%d “, x); printf(“n”);a.28 70b.39 81 c.42 84d.26 6814.以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是( )a.if((ab)&(bc)) k=1; else k=0; b。if((ab)|(bc)) k=1; else k=0;c。if(ab) k=1;else if(bc) k=1;else k=0;d。if(a=b) k=0;else if(b=c) k=1;15.为了避免在嵌套的条件语句 ifelse 中产生二义性,c语言规定:else子句总是与()配对。a.其之后最近的ifb

6、。其之前最近的ifc.缩排位置相同的ifd.同一行上的if16.t为int类型,进人下面的循环之前,t的值为0while( t=1 ) 则以下叙述中正确的是_。a.以上说法都不对b。循环控制表达式的值为1c.循环控制表达式的值为0d.循环控制表达式不合法17。以下程序段的输出结果是int k, j, s;for(k = 2; k b) c=a,a=b,b=c; c.if(ab) c=a;a=b;b=c;d.if(ab) c=a;a=b;b=c;22。以下程序中,while循环的循环次数是_main() int i=0; while(i10) if(i1) continue; if(i=5) b

7、reak; i+; a。死循环,不能确定次数b。6c。4d。123.选择结构中的条件与循环结构中循环成立的条件, 在写法上可以是任一表达式,但其值只能被判断为“真或“假”。 哪个数作为逻辑“假”值()。a.-1b。非零的数c.1d。024。int a=1,b=2,c=3; if(ab)a=b; if(ac)a=c; 则a的值为()。a。1b。不一定c。3d。225.有以下程序,若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( )#includestdio。hint main()int m,n,p;scanf(”m=%dn=dp=%d”,m,&n

8、,&p);printf(%d%ddn”,m,n,p);return 0;a.m=123 n=456 p=789b.m=123n=456p=789c.123 456 789d。m=123,n=456,p=78926。有以下程序main() int i=1,j=1,k=2; if(j+|k+)&i+)printf(”d,%d,%dn”,i,j,k);执行后输出结果是 a。2,2,2b。2,2,3c.1,1,2d.2,2,127。以下程序段的输出结果为()。 for(i=4;i1;i-) for(j=1;ji;j+) putchar();a.#b。无c.#d。#28.有如下程序main() floa

9、t x=2。0,y;if(x0.0)y=0。0;else if(x10。0)y=1。0/x;else y=1。0;printf(”fn”,y);该程序的输出结果是a.0。500000b。0.250000c.1.000000d。0。00000029.判断两个字符串是否相等,正确的表达方式是a.while(s1=s2)b.while(s1= =s2)c.while(strcmp(s1,s2)=0)d.while(strcmp(s1,s2)= =0)30.若x是int类型变量,以下程序段的输出结果是 for(x = 3; x bc)a=b; else a=c; 则a的值为()。a.2b。3c.1d。

10、034。为了避免在嵌套的条件语句ifelse中产生二义性,c语言规定:else总与( )配对a.同一行上的ifb。其之后最近的ifc。其之前最近的未配对的ifd。缩排位置相同的if35。以下不正确的if语句形式是()。a。if(xy&x!=y);c.if(x=y) x+=y;d.if(x!=y) scanf(”d”,&x) else scanf(d,y);36.结构化程序设计所规定的三种基本控制结构是()。a.树形、网形、环形b.输入、处理、输出c。主程序、子程序、函数d。顺序、选择、循环37.以下程序的输出结果是main() int y = 10 for(; y 0; y ) if(y %

11、3 = 0) pritnf(“d”, -y); continue; a。741 b。963c.875421d。852 38.以下程序的执行结果是main() int x = 0, s = 0; while( !x != 0 ) s += +x; printf( ”%d ,s ); a。.无限循环b。0c。1d。语法错误39。int a=1,b=2,c=3; if(ac)b=a;a=c;c=b;则c的值为()。a。3b.2c.不一定d.140.以下叙述正确的是()。a。do-while语句构成的循环不能用其它语句构成的循环来代替.b。用dowhile语句构成的循环,在while后的表达式为零时结

12、束循环c.用dowhile语句构成的循环,在while后的表达式为非零时结束循环.d。dowhile语句构成的循环只能用break语句退出.41.假定所有变量均已正确定义,下列程序段运行后x的值是()。k1=1;k2=2;k3=3;x=15;if(!k1) x-;else if(k2) x=4; else x=3;a.15b.14c.3d.442。有以下程序, 程序运行后的输出结果是 ( )include 0;j-) if(ij3) break; m*=ij;printf(“m=dn”,m);return 0;a.m=2b.m=6c。m=4d.m=543.以下for循环的执行次数是 for(x

13、=0,y=0;(y=123)&(x4);x+);()。a.4次b。是无限循环c.3次d。循环次数不定44.下列程序的输出结果是()。 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+;break; printf(”a=d,b=%dn,a,b); a.a=2,b=1b.a=2,b=2c。a=1,b=0d.a=1,b=145.有以下程序, 当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回

14、车也是一个字符)12cr34cr则输出结果是(b)include stdio。hint main()char a,b,c,d;scanf(cc”,&a,b);c=getchar(); d=getchar();printf(”%c%c%ccn”,a,b,c,d);return 0;a。1234b.1234c。123d。1246。以下程序的运行结果是().main() int n; for(n=1;n=10;n+) if(n3=0) continue; printf(%d”,n); a.12b。12457810c.1234567890d.36947.c语言中 while 和 do-while 循环

15、的主要区别是().a.while的循环控制条件比 do-while的循环控制条件更严格b。dowhile 的循环体至少无条件执行一次c。dowhile 的循环体不能是复合语句d。dowhile 允许从外部转到循环体内48.以下不是无限循环的语句为().a。for(;x+=i);b。while(1)x+;c.for(y=0,x=1;x+y;x=i+) i=x;d。for(i=10;i-) sum+=i;49。从循环体内某一层跳出,继续执行循环外的语句是a.break语句b.return语句c.continue语句d。空语句50.下列程序的输出为().main() int y=10; while(

16、y-); printf(”y=%dn,y); a。while构成无限循环b。y=0c。y=-1d。y=151。有以下程序,程序运行后的输出结果是( )#include int main()int a=1,b=2;while(a6) b+=a;a+=2;b=10;printf(“d,dn”,a,b);return 0;a.5,11b。6,1c.7,11d.7,152.在以下给出的表达式中,与 do-while(e)语句中的(e)不等价的表达式是()。a.(e=0)b。(e0|e0)c.(!e=0)d。(e!=0)53。以下程序段的输出结果是int i, j, m = 0;for(i = 1; i

17、 = 15; i += 4) for(j = 3; j = 19; j += 4) m+;printf(“dn”, m);a。15b。12c.20d。2554.执行下列语句后的输出为()。 int j=1; if(j=1) printf(*n”); else printf(”%n”);a.%cb.有错,执行不正确c。*d。%55。以下程序的执行结果是_。 main() int num = 0; while( num = 2 ) num+; printf( ”%d,”,num ); a.1,2,3,b.1,2,3,4,c.1,2,d。0,1,256。下面程序的运行结果是#include stdi

18、o。hmain() int y=10;doy;while(-y);printf(”dn”,y-); a.0b。1c。8d。157。若有定义语句int a,b;double x;则下列选项中没有错误是( )a。switch((int)(x)%2)case 0。0:a+;break; case 1。0:b+;break; default:a+;b+;b。switch(int)x2)case 0:a+;break; case 1:b+;break; default:a+;b+; c。switch(x2) case 0:a+;break; case 1:b+;break; default:a+;b+;

19、 d.switch(int)x2.0)case 0:a+;break; case 1:b+;break; default:a+;b+;58。设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是a.ab+c&bcb.a=bc。!((amain() int i = 0, j = 10, k = 2, s = 0; for( ; ; ) i += k; if(i j) printf(“%dn”, s); break; s += i; a.4b。8c。6d。761.while(fabs(t)1e5)if(!s/10)break;循环结束的条件是().a。fabs(t

20、)1e-5&!s/10b.fabs(t)1e5c。t=1e5&t=1e-5&s10&s10d。s/10=062。以下叙述正确的是:a.用do-while构成循环时,只有在while后的表达式为非零时结束循环b。do-while语句构成的循环不能用其它语句构成的循环来代替.c.用do-while构成循环时,只有在while后的表达式为零时结束循环d。dowhile语句构成的循环只能用break语句退出。63.以下程序的输出结果是main() int i, sum; for(i = 1; i 6; i+) sum += i; printf(“%dn” sum);a。15b。不确定 c.16d。06

21、4。有以下程序,程序运行后的输出结果是( )includeint main() char b,c; int i;b=a; c=a;for(i=0;i6;i+) if(i2) putchar(i+b); else putchar(i+c); printf(”n);return 0;a.abcdefb。abcdefc。abcdefd.abcdef65。有如下程序main() int x=1,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;printf(”a=d,b=dn”,a,b);该程序的输出结果是a.a=1,b=1b.a=2,b=1c.

22、a=1,b=0d.a=2,b=266.以下程序段中,能够正确地执行循环的是().a。static int a; while(a)b。int s=6; do s-=2; while(s);c。for(i=1;i10;i+)d.int s=6; m:if(s100) exit(0); else s=2; goto m:判断char型变量c是否为大写字母的c的表达式是a.a=c=zb。 (a=c) c. (c=a)&(c=a)&(c=z)下列程序的输出结果是()。main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+;brea

23、k; case 1:b+;break; case 2:a+;b+;break; case 3:a+;b+;break; printf(a=d,b=dn”,a,b);a.a=2,b=1b。a=1,b=0c.a=2,b=2d.a=1,b=1下面有关 for 循环的正确描述是()。a。for 循环是先执行循环循环体语句,后判断表达式b。在 for 循环中,不能用 break 语句跳出循环体c。for 循环只能用于循环次数已经确定的情况d。for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来假定所有变量均已正确定义,下面语句段执行后的x的值是a = b = c = 0; x = 35;

24、if(!a) x-; else if(b) ; if(c) x = 3; else x = 4;a.34b。4c.35d。3在c语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为()。a。1b。0c。trued。非0有以下程序,程序执行后的输出结果是( )include int main() int x=1,y=0;if(!x) y+;else if(x=0)if (x) y+=2;else y+=3;printf(”dn”,y);return 0;a.3b。2c。0d。1有以下程序段char name20;int num;scanf(name=%s num=

25、%d”,name;&num);当执行上述程序,并从键盘输入:name=lili num=1001回车后,name的值( )a.lili num=b。name=lilic.lilid.name=lili num=1001执行下列程序片段时输出的结果是( )。int x=13,y=5;printf(”%d”,x%=(y/=2);a。2b.3c。1d.0已知有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,a和b,当从第一列开始输入数据时,正确的数据输入方式是( )。int a1,a2; char c1,c2;scanf(”%d%cdc”,&a1,&c1,&a2,c2);a。1

26、0a20bb.10a20 bc.10 a20bd。10 a 20 b若定义x为double型变量,则能正确输入x值的语句是( ).a。scanf(”5。1f,x);b.scanf(”f”,x);c.scanf(”lf,x);d.scanf(%f,&x);以下程序段中的变量已正确定义for(i=0;iint main() int a=7;while(a-);printf(%dn”,a);return 0;a。-1b。1c.0d。7if语句的基本形式是:if(表达式)语句,以下关于表达式值的叙述中正确的是( )a。必须是正数b.可以是任意合法的数值c.必须是整数值d.必须是逻辑值设变量均已正确定义

27、并且赋值,以下与其他三组输出结构不同的一组语句是( )a。n=+x; printf(”%dn,n);b。n=x+; printf(”%dn,n);c.+x; printf(dn”,x);d。x+; printf(”%dn”,x);若有定义:int a,b;,通过语句scanf(“d;d”,&a,b);,能把整数3赋给变量a,5付给变量b的输入数据是( )a.3,5b.3 5c.3;5d。35有以下程序#include stdio.hint main()int a1,a2; char c1,c2;scanf(”%d%cd%c,a1,c1,a2,&c2);printf(%d,%c,d,%c”,a1

28、,c1,a2,c2);return 0;若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下_代表空格,cr代表回车)a。12,a,34,bc.12a34bcrd.12_a_34_bcr有以下程序,程序运行后的输出结果是( )#include stdio.hint main()int a=1,b=2;for(;a8;a+) b+=a;a+=2;printf(“%d,dn”,a,b);return 0;a.8,11b.7,11c.9,18d.10,14若i和k都是int类型变量,有以下for语句for

29、(i=0,k=-1;k=1;k+) printf(*n);下面关于语句执行情况的叙述中正确的是 ( )a。构成无限循环b.循环体一次也不执行c.循环体执行两次d。循环体执行一次程序设计/编写函数fun,它的功能是:求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回.例如,n为1000时,函数值应为s=96。979379.注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/include math。hinclude #includedouble fun(int n)/*begin*/*

30、 end */void main() file *wf;printf(s=%fn, fun(1000));/*/ wf=fopen(”debugout6.dat”,w); fprintf(wf,lf”,fun(1000); fclose(wf);/*/【参考代码】double fun(int n) double s=0.0; int i; for(i=0;i#include stdlib。hfloat fun (int m, int n)/*begin*/* end */ void main () file *wf; printf (p=%fn”,fun (12,8) ) ;/*/ wf=fo

31、pen(debugout8。dat”,”w); fprintf (wf,%f”,fun(13,8); fclose(wf);/*/【参考代码】 int i; double p=1。0; for(i=1;i=m;i+) p=p*i; /*求m!*/ for(i=1;i=n;i+) p=p/i; /*求m!/n!*/ for(i=1;i=m-n;i+) p=p/i;/*求m!/(n!(m-n)!)/ return p; /编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(x)x=0 的一个实根。xn+1=cos(xn) 迭代步骤如下: (1)取x1初值为0.0; (2)x0=x1

32、,把x1的值赋给x0; (3)x1=cos(x0),求出一个新的xl; (4)若x0-x1,的绝对值小于0。000001,则执行步骤 (5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回. 程序将输出结果root=0。739085. 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:*/include include float fun()/*begin*/* end */void main( ) file *out; float f=fun(); printf(”ro

33、ot=%fn,f); /*/ out =fopen(”debugout11。dat”,”w); fprintf(out,f,f); fclose(out); /*/ 【参考代码】 float x1=0。0,x0; do x0=x1; x1=cos(x0); while (fabs(x0-x1)=1e6); return x1; /输入一个无符号整数,判断该数是否为回文数(注:一个整数,从左向右读和从右向左读都是一样的数,则该数称为回文数,如123321),编写函数fun(),判断给定的数是否为回文数 /#includeint fun( int n) /*begin*/*end*/int mai

34、n()file out; int i,n,k4=123,123321,3443,200;out=fopen(debugout。dat”,”w);scanf(%d,n);if(fun(n) printf(是回文数!n”); else printf(”不是回文数!n); for(i=0;i4;i+) fprintf(out,dn”,fun(ki); fclose(out);return 0;【参考代码】int m,t=0;m=n;while(m!=0)t=t10+m10;m=m/10;if(t=n)return 1;elsereturn 0;/*编写函数fun,函数的功能是:根据以下公式计算s,计

35、算结果作为函数值返回;n通过形参传入。 s=1+1/(1+2)+1/(1+2+3)+1/(1+2+3+n) 例如,若n的值为11时,函数的值为1。833333。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */include include include stdlib。hfloat fun(int n)/*begin*/* end */void main() file wf; int n; float s; printf(”nplease enter n: ”); scanf(d,&n); s=fun(n); printf(”the result is:%fn , s)

温馨提示

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

评论

0/150

提交评论