C语言程序设计综合考试.docx
C语言程序设计综合考试1 . C语言源程序中主函数名是() A.masterB.leadingC.main(正确答案)D.major2 . 下列程序的运行结果是()#include A.4,0,7B.5,-1,7(正确答案)C.4,0,5D.5,-1,53 . 下列程序运行结果为()#include A.97 89 83(正确答案)B.99 97 95C.97 95 93D.99 89 794 . 此程序的主要功能是求()for( n=100; n<1000; n+ ) hun = n / 100; ten = (n-hun100) / 10; ind = n % 10; if(n = hunhunhun + tententen + indindind) printf("%d ", n); A.素数B.阿姆斯特朗数C.最小公倍数D.水仙花数(正确答案)5 . 由键盘输入一个待查的整数n,若n存在,则输出它在数组中的第一次出现的位置,否则给出没找到信息。则_应填写的内容是()#include A.i<=10B.i<10(正确答案)C.i!=10D.i>106 . 现有100元人民币换成5元,1元,0.5元,但要求100元换以上的零钱共100张,且要求每种不少于1张,主要程序段中横线中应该填()for(i=1;i<=20;i+) for(j=1;j<=100;j+) k=100-i-j; if(_) printf("%d,%d,%dn",i,j,k); A.i+j+k0.5=100B.i+j+k=100C.5i+j+k0.5=100(正确答案)D.5i+j+k=1007 . char 型数据占内存空间是_位。 A.8(正确答案)B.16C.32D.648 . 下列文件名不是C语言中常用的头文件的是 A.stdio.hB.math.hC.file.h(正确答案)D.string.h9 . 若有定义:int m=7,n=4;float a=38.4,b=0.4;则表达式m/2+na/b+1/2的值是 A.22B.27C.28D.387(正确答案)10 . 下列C语言中引用头文件的命令行正确的是 A.#includeB.#include stdio.hC.#include 'stdio.h'D.#include "stdio.h"(正确答案)11 . 对一维整型数组a的正确定义是() A.int a(10);B.int n=10,an;C.int a; scanf("%d",&n); int an;D.#defineSIZE10intaSIZE;(正确答案)12 . 若有int a4, 则执行表达式a+=a-=aa后,a的值是() A.6B.-8C.18D.-24(正确答案)13 . #include A.!?&B.!?C.!103?(正确答案)D.&!&14 . main() char ch='A' int k=0; do switch(ch+) case 'A':k+; break; case 'B':k+; case 'C':k+; continue; case 'D':k+; while(k<3); printf("k=%d,ch=%cn",k,ch);运行结果是()。 A.k=3,ch=C(正确答案)B.k=4,ch=CC.k=3,ch=DD.k=4,ch=D15 . 下列4段程序,哪个输出的结果与其他3段代码不一样 A.s=0;i=0; while(iB.s=0;i=1; while(i+(正确答案)C.s=0;i=0; while(iD.s=0;i=0; while(+i16 . 下面程序运行结果是#include A.11 2 3 4 5(正确答案)B.1 2 3 4 5C.11 12 13 14 15D.11 12 3 4 517 . 以下程序运行后输出的结果是#include A.3(正确答案)B.4C.5D.618 . 以下4个选项中,不能看做一条语句的是 A.;B.a=0,b=1,c=2;C.if(iD.if(a>0)i+;j+;(正确答案)19 . 数组定义为 int a32=1,2,3,4,5,6,值为6的数组元素是() A.a32B.a21(正确答案)C.a12D.a2320 . 下列程序的运行结果是:#include A.1 3 5 7 9(正确答案)B.2 4 6 8 10C.1 2 3 4 5D.6 7 8 9 1021 . 有这样一段程序:int a=2,b=3,t=0;if(a>b) t=a;a=b;b=t;程序运行后a,b的值分别为多少 A.2 3B.3 2C.3 3D.3 0(正确答案)22 . 下列格式符中,哪一个可以用于以八进制形式输入整数( )。 A.%8dB.%o(正确答案)C.%dD.%ld23 . 下列程序的运行结果是()#include A. (正确答案)B. C. ·D. 24 . 下面正确的字符常量是() A.“C”B.“?”C.'D.a'(正确答案)25 . C语言程序从 ( ) 开始执行 A.程序中的main函数(正确答案)B.包含文件中的第一个函数C.程序中第一个函数D.程序中第一条可执行语句26 . 从循环体内某一层跳出,继续执行循环外的语句是:( )。 A.break语句(正确答案)B.return语句C.continue语句D.空语句27 . 下列程序的运行结果是()#include A.20B.22C.24D.26(正确答案)28 . 输入一个实数,对其进行分半,一直到小于0.001为止,输出分半的次数#include A.n>=0.001(正确答案)B.n<0.001C.n<=0.001D.n!=0.00129 . 以下程序的运行结果是() #include A.5B.6(正确答案)C.7D.出错30 . 下面程序的运行结果是( )。main() int i,j,a=0; for(i=0;i<2;i+) for(j=0;j<4;j+) if( j%2) break; a+; a+; printf(“%dn”,a); A.4(正确答案)B.5C.6D.731 . 以下能对数组a进行正确初始化的语句是 A.int a5=(1,2,3,4,5);B.int a5=0;C.int a5=1,2,3,4,5,6;D.int a =0;(正确答案)32 . 已知int a=12,b=3,则表达式a=b+2的值是( ) A.14B.15C.5(正确答案)D.1733 . C语言源程序的扩展名是() A.exeB.objC.c(正确答案)D.doc34 . 以下不能定义为用户标识符的是() A.a12bB.Vi_dC._c4beD.int(正确答案)35 . 有以下定义:int k=7,x=12;则执行完x%=k%4;语句后x的值为 A.0(正确答案)B.1C.3D.536 . a数组中是一组升序的数,现由键盘输入一个待查的整数x,用二分法查找,若x存在输出其所在的位置,否则给出没找到信息。请将程序填充完整。#include A.mid+B.mid-C.break(正确答案)D.continue37 . 下列程序运行结果为()。main() int x=0,y=2,z=2; switch(x) case 0:switch(y=2) case 1:printf(""); break; case 2:printf("%"); break; case 1:switch(z) case 1:printf("$"); break; default:printf("!"); break; case 2:printf(""); A.%!B.%!C.(正确答案)D.!38 . 下列哪个是赋值运算符( ) A.=B.!=C.=!D.=(正确答案)39 . 设x和y均为int型变量,则执行以下的循环后,y的值为( )。for(y=1,x=1;y<=50;y+) if(x>=0) break; if(x%2=1) x+=5; continue; x-=3; A.1(正确答案)B.50C.51D.5240 . 当#include后面的头文件用""双撇号括起来时,寻找包含文件的方式是 A.只在当前目录中搜索B.直接按系统设定的方式搜索C.先在当前目录中搜索,再按系统设定的方式搜索(正确答案)D.先按系统设定的方式搜索,再在当前目录中搜索41 . 下列程序运行结果为()#include A.WAB.WLC.WLA(正确答案)D.WLA42 . 下列程序的运行结果是()void main() charb ="Hello,job" b5=0; puts(b); A.Hello,jobB.Hello,C.Hello(正确答案)D.job43 . 若定义:int a2,b3,c1;则执行下面程序段后的结果是() if(a>b) if(a>c) printf(“%d”,a); else printf(“%d”,b); printf(“%d”,c); A.3 1B.2 1C.3D.1(正确答案)44 . main() int c=0,k;for(k=1;k<3;k+) switch(k) default:c+=k; case 2:c+; break; case 4:c+=2; break; printf("%dn",c); A.1B.2C.3(正确答案)D.445 . 在C语言中,错误的int类型的常数是() A.0B.32768(正确答案)C.037D.0xaf46 . C语言中要使用输入输出库函数,需要在源文件中包含的头文件是 A.stdio.h(正确答案)B.math.hC.string.hD.ctype.h47 . 有定义:int m4,n5,k;则_是符合C语言语法的表达式。() A.5=nB.n2mC.m(n5)(正确答案)D.(mn)k48 . 有如下逗号表达式语句a=(3,4),(2,1);下面对此语句的判断正确的是 A.使a的值为1(正确答案)B.使a的值为2C.使a的值为3D.使a的值为449 . ( )是构成C语言程序的基本单位 A.函数(正确答案)B.过程C.子程序D.子例程50 . Fibonacci数列第1项值是:( )、1、2、3 A.0B.1(正确答案)C.2D.351 . 百马百担问题:在横线处应该填写()for(x=0;x<=33;x+) /大马的数量for(y=0;y<=50;y+) /中马的数量_/小马的数量 if(3x+2y+z/2=100) /判断是否100匹马伏100担货 printf("大马:%d 中马:%d 小马:%dn",x,y,z); A.z=xB.z=100-x-y;(正确答案)C.z=yD.z=x+y52 . 在定义intm3=1,2,3,4,5,6;后,m10的值是() A.4(正确答案)B.1C.2D.553 . 下列程序的运行结果是()#include A.4 3 3(正确答案)B.5 3 2C.6 3 1D.7 1 254 . 以下程序的运行结果是() #include A.1(正确答案)B.-1C.7D.355 . 以下程序的运行结果是() #include A.T(正确答案)B.FC.1D.056 . 扩展名为.exe的文件称为C语言的() A.用户程序B.目标程序C.源程序D.可执行程序(正确答案)57 . 计算a,b之和的平方的C语言表达式语句是 A.(a+b)2B.(a+b)(a+b)C.(a+b) (a+b)D.(a+b) (a+b);(正确答案)58 . 以下程序的运行结果是() #include A.0B.1C.2(正确答案)D.359 . 程序中定义char c1,c2;执行c1='A'+4; c2='A'+'8'-'5' 后printf("%c,%dn",c1,c2);输出结果是 A.D,69B.E,68(正确答案)C.E,DD.D,6860 . 下列程序运行结果为()。#include A.k=1,m=0B.k=1,m=1C.k=1,m=2(正确答案)D.k=2,m=261 . 若int i=10;执行下列程序后,变量i的正确结果是( )。switch (i) case 9: i+=1 ; case 10: i+=1 ; case 11: i+=1 ; default : i+=1 ; A.10B.11C.12D.13(正确答案)62 . 下列程序运行结果为()。#include A.k=2,m=3(正确答案)B.k=3,m=4C.k=1,m=2D.k=4,m=563 . 将8个两位正整数的数组中下标范围为【3,6】范围内的元素用插入法进行升序排序,并保持其他元素的顺序不变,_处应填入的内容是()#include A.aj-1=x(正确答案)B.x=aj-1C.aj+1=xD.x=aj+164 . 若有定义int i1,j9;则表达式(j)(i)的值是() A.0B.10(正确答案)C.8D.765 . 定义:double a=5.5,b=2.5;则表达式(int)a+b/b的值是 A.6B.6.0(正确答案)C.6.5D.766 . 下列程序的运行结果是()#include A.3336669993B.3339992(正确答案)C.3336669992D.333999367 . 下列各项中,_和表达式x/y4等价。 A.xx/y4B.xx/(y4)(正确答案)C.xy4/xD.xx4/y68 . 下列程序的运行结果是()#include A.45 34 23(正确答案)B.33 22 11C.11 22 33D.23 34 4569 . 当#include后面的头文件用< >(尖括号)括起来时,寻找包含文件的方式是 A.只在当前目录中搜索B.直接按系统设定的方式搜索(正确答案)C.先在当前目录中搜索,再按系统设定的方式搜索D.先按系统设定的方式搜索,再在当前目录中搜索70 . 如果已定义int a5;float b9.8;以下_语句中能输出正确值是 A.printf("%d %.1f",a,b);(正确答案)B.printf("%.3f %.1f",a,b);C.printf("%d %d",a,b);D.printf("%.3f %.3f",a,b);71 . 定义:char w; int x; float y; double z;则表达式wx+z-y的值的数据类型是 A.charB.intC.floatD.double(正确答案)72 . 以下说法中正确的是( )。 A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行(正确答案)D.C语言程序中的main( )函数必须放在程序的开始部分73 . 已知int a=7,b=3,则表达式a%=b+1的值是( ) A.10B.6C.4D.3(正确答案)74 . 下列程序的功能是统计一个字符串中的字母、数字、空格和其它字符的个数。与stri=' '等价的语句是()#include A.stri=' 'B.stri=32(正确答案)C.stri=32D.stri!=' '75 . 下列程序的运行结果是#include A.7 8 9B.3 6 9(正确答案)C.9 8 7D.9 6 376 . 以下程序的运行结果是#include A.10B.15C.6(正确答案)D.777 . C语言中,数组名代表() A.数组全部元素的值B.数组的首地址(正确答案)C.数组第一个元素的值D.数组元素的个数78 . 执行以下程序时输入1234567,程序的运行结果是( )。main() int x,y; scanf("%2d%2d",&x,&y); printf("%dn",x+y); A.17B.15C.46(正确答案)D.输入格式符不够,输出不确定的值79 . 赋值运算符的结合性是( ) A.从左向右B.从两边向中间C.从中间向两边D.从右向左(正确答案)80 . 以下4个选项中,不是正确的表达式语句的是 A.i+;B.a=b=c=0;C.a=b+c=1;(正确答案)D.k=i=j;81 . 下列正确的定义语句是 A.char str35="one","two","three"B.char str3 ="one","two","three"C.char str 6="one","two","three"(正确答案)D.char str3 ="one","two","three"82 . 由机器随机产生20个在1099之间(含10和99)的整数存入a数组,然后进行冒泡法升序排序。最后将排序结果输出,要求每行输出10个数。_处应填入的内容是()#include A.i%10=0B.i%9=0C.i%9=1D.i%10=9(正确答案)83 . 定义int i=2,j=3;执行完表达式语句i=j+2;后i的值为 A.2B.8C.10(正确答案)D.1284 . 下面叙述正确的是() A.变量不用定义就能使用B.main函数必须位于文件的开头C.每行只能写一条语句D.每条语句最后必须有一个分号(正确答案)85 . 下面哪一个不是浮点数() A.10(正确答案)B.-0.1C.3.2D.3e-0286 . 定义 int x=011;则printf("%dn",+x);的输出结果是 A.9B.10(正确答案)C.11D.1287 . 已定义int a,b,c;下面_与其它3个不同。 A.if(a> b)ca;ab;bc;B.if(a> b)ca,ab,bc;C.if(a> b)ca;ab;bc;(正确答案)D.if(a> b)ca,ab,bc;88 . int x=6,y=-8,则x=y%5表达式的值是( ) A.2B.-2C.3(正确答案)D.-389 . 以下程序段,输出结果是()char s ="141141abct"printf("%d",strlen(s); A.9(正确答案)B.10C.13D.1490 . #include A.2 11 13(正确答案)B.11 13C.2D.9 1591 . 下列程序运行结果为()main() int i,j,k,s,p,t; p=-1,t=0; for(i=6;i>0;i-) s=1;p=p+i;t=t-i; for(j=1;j<=i;j+) for(k=1;k<=j;k+) s=s+1; t=t+j; printf(“%d,%d,%d”,s,t,p); A.1,7,21B.2,6,20(正确答案)C.3,8,20D.4,9,2192 . 求1000以内的同构数 #include A.k%10=i&&k%100=i|k%1000=iB.k%10=i|k%100=i&&k%1000=iC.k%10=i|k%100=i|k%1000=i(正确答案)D.k%10=i&&k%100=i&&k%1000=i93 . 若运行以下程序时,从键盘输入2473 A.668977(正确答案)B.668966C.66778777D.668876694 . 下列程序运行结果为()main() int x=1,y=1,a=0,b=0; switch(x) case 1:switch(y) case 0:a+; break; case 1:b+; break; case 2:a+;b+; printf("a=%d,b=%d",a,b); A.a=2,b=1B.a=1,b=2(正确答案)C.a=2,b=3D.a=3,b=295 . int a34=1,2,0,1,2,3;则a11的值为 A.0(正确答案)B.1C.2D.396 . 若a,b,c都是int型变量,且a=2,b=3,c=4,若执行以下语句a=16+(b+)-(+c)后a的值为 A.28(正确答案)B.30C.32D.3497 . 以下对一维数组初始化正确的是() A.int a3=1,2,3,4;B.int a=1,2,3;(正确答案)C.int a3=0D.int a3=1,2,3;98 . C语言中要使用数学库函数,需要在源文件中包含的头文件是 A.stdio.hB.math.h(正确答案)C.string.hD.ctype.h99 . 如果输入8,4 ,下列程序的运行结果是#include A.32B.16C.8D.4(正确答案)100 . 下面属于C语言调试软件的是() A.PowerpointB.ExcelC.WordD.dev c+(正确答案)101 . 下列程序的运行结果是#include A.123B.132C.312D.321(正确答案)102 . a数组中是一组升序的数,现由键盘输入一个待查的整数x,用二分法查找,若x存在输出其所在的位置,否则给出没找到信息。请将程序填充完整。#include A.lowB.low<=high(正确答案)C.low>highD.low>=high103 . 若有定义int i=2,j=7;则表达式(+j)(i-)的值是() A.14B.15C.16(正确答案)D.7104 . 以下程序运行后,循环体运行的次数是int i=10,x;for(;i<10;i+) x=x+i; A.0(正确答案)B.1C.10D.无限105 . 下列程序的运行结果是#include A.2,2B.2,3(正确答案)C.3,2D.3,3106 . 扩展名为.exe的文件称为C语言的() A.源程序B.目标程序C.可执行程序(正确答案)D.用户程序107 . 下面关于C语言叙述错误的是() A.C程序必须有一个main函数B.构成C语言源程序的基本单元是算术表达式(正确答案)C.若一条语句较长,也可分写在下一行上D.一个C语言源程序由一个或多个函数组成108 . 下面_是程序的正确运行结果()。main() int a66; char cB'; printf(“%d%c%d”,a,c,ac); A.BBBBB.66B66BC.6666132D.66B132(正确答案)109 . 下列程序运行结果为()。main() int x=0,y=2,z=3; switch(x) case 0:switch(y=2) case 1:printf(""); break; case 2:printf("%"); break; case 1:switch(z) case 1:printf("$"); break; case 2:printf(""); break; default:printf("!"); A.%!(正确答案)B.%$C.$D.!$110 . 以下程序的运行结果是() #include A.2,1,3B.2,1,1C.2,1,2(正确答案)D.3,1,2111 . break语句的正确的用法是( )。 A.无论在任何情况下,都中断程序的执行,退出程序。B.在多重循环中,只能退出最靠近的那一层循环语句。C.跳出本层循环。(正确答案)D.只能修改控制变量。112 . 由键盘输入一个待查的整数n,若n存在,则输出它在数组中的第一个出现的位置,否则给出没找到信息。请将程序填充完整。#include A.i=nB.i<10C.i!=10D.i=10(正确答案)113 . 当执行下面的程序时,如果输入ABC,则写出下面程序的运行结果()#include A.ABC6789(正确答案)B.ABCC.6789D.12345114 . 判断字符串a和b是否相等,应当使用() A.if(strcmp(a,b)=0)(正确答案)B.if(strcpy(a,b)C.if(a=b)D.if(a=b)115 . 下列程序运行结果为()#include A.a=5b=30c=66(正确答案)B.a=6b=31c=60C.a=7b=31c=66D.a=5b=31c=65116 . 表达式 18/44.0/8值的数据类型为 ( ) A.intB.float(正确答案)C.charD.不确定117 . 下列程序段运行结果为() char ch=”600”; int a,s=0; for (a=0;cha>=0&&cha<=9;a+) s=10s+cha-0; printf(“%d”,s); A."600"B.600(正确答案)C."6"D.6118 . 执行语句:printf(“|%10.5f| ”,12345.678);的输出是( )。 A.|12345.67800|(正确答案)B.|12345.678000|C.|12345.6780|D.|12345.678|119 . 下列程序的运行结果是()#include A.AAAA(正确答案)B.BBBC.CCD.DDD120 . 由机器随机产生20个在1099之间(含10和99)的整数存入a数组,然后进行冒泡法升序排序。_处应填入的内容是()#include A.N-1-i(正确答案)B.N-2C.N-2-iD.N-1121 . 下列程序的运行结果是#include A.0(正确答案)B.1C.25D.30122 . C语言规定一条语句必须以( )作为结束标志 A.逗号B.句号C.分号(正确答案)D.空格123 . int a;则语句a= 'a'+2%3的值为 A.2B.97C.99(正确答案)D.100124 . 在main函数中定义了变量int i=1;在复合语句中又定义了int i=2; printf("%d",i+);则printf函数输出结果是 A.1B.2(正确答案)C.3D.程序出错,提示重复定义125 . 下列程序运行结果为()。main() int x=0,y=2,z=2; switch(x) case 0:switch(y=2) case 1:printf(""); case 2:printf("%"); break; break; case 1:switch(z) case 1:printf("$"); break; default:printf("!"); break; case 2:printf(""); A.B.%!C.$D.%(正确答案)126 . 下列成对的表达式中,运算符结果相同的一对是 A.5.0/3.0 5/3B.5/3.0 5/3C.5.0/3 5/3D.5.0/3.0 5/(float)3(正确答案)127 . float x=3.5;int z=8;则表达式x+z%3/4的值是 A.3.75B.3.5(正确答案)C.3D.4128 . 有以下数组定义:char str20;下面对数组赋值的方法正确的是 A.str="boy"B.str="boy"C.strcpy(str,"boy");(正确答案)D.str20="boy"129 . 下列叙述正确的是( )。 A.break语句只能用于switch语句B.在switch语句中必须使用defaultC.break语句必须与switch语句中的case配对D.在switch语句中,不一定使用break语句(正确答案)130 . int x=6,y=8,则x=(y%5)表达式的值是( ) A.6B.8C.18(正确答案)D.24131 . 以下程序char str="abcd"printf("%d",strlen(str);输出的结果是 A.4B.5(正确答案)C.6D.7132 . 定义char str6='a','b','0','d','e','f'则语句puts(str);的结果为 A.abB.ab0defC.ab(正确答案)D.ab0133 . 下列程序运行结果为()#include A.s=15B.s=10C.s=9(正确答案)D.s=8134 . 定义二维数组 int a3=1,2,3,4,5,6,7;则数组的行数是 A.2B.3(正确答案)C.4D.无法确定135 . 下列各项中,_和表达式x/y4等价() A.xx/y4B.xx/(y4)(正确答案)C.xy4/xD.xx4/y136 . 求Fibonacci数列前20项主要程序段中横线中应该填()for(i=1;i<=18;i+) f3=f1+f2; printf("%dt",f3); f1=f2; _ A.f2=f3;(正确答案)B.f3=f2;C.f1=f3;D.f1=f2;137 . C语言中要使用字符库函数,需要在源文件中包含的头文件是 A.stdio.hB.math.hC.string.hD.ctype.h(正确答案)138 . x=-13%-5则x的值是() A.2B.-2C.3D.-3(正确答案)