1、复习题一、单项选取题(每题1分,共30分) 1、一种C语言程序是由( )。A一种主程序和若干子程序构成B函数构成C若干过程构成D若干子程序构成 3、用来标记变量名、符号常量名、函数名、类型名、文献名、数组名有效字符序列称为标记符。在C语言中,规定标记符只能有字母、数值或下划线三类字符构成,且第一种字符必要为( )或( )。A.字母,数字B.数字,下划线C.字母,下划线D.字母,下划线,数字 5、语言中,主调函数携带参数列表称为实参,而被调用函数参数列表习惯上称为( )。A.形式参数B.值参 C.动态参数D.静态参数 7、下列关于switch和break语句结论中,只有( )是对的。A.brea
2、k语句是switch语句一某些B.在switch语句中可以依照需要使用或不使用break语句C.在switch语句中必要使用break语句D.以上三个结论中有两个是对的 9、对于数组amn来说,使用数组某个元素时,行下标最大值是( ),列下标最大值是( )。A. m,n1B. m1,n1C. m1,nD. m,n 10、下面程序段运营成果是( )。char a7=abcedf;char b4=ABC;strcpy(a,b);printf(“%c”,a5);A. dB. 0C. eD. f 11、一维double型数组a长度为10,则实际所占内存字节数为( )。 A. 20B. 40C. 60D
3、. 80 12、字符串a=“hello”,则函数调用strlen(a)返回值为( )。A. 4B. 5C. 6D. 4 13、在语言中,&作为单目运算符时表达是( )。A.地址与B.取地址C.输入地址D.输出地址 14、对不同类型数据有不同格式字符。例如:( )格式字符是用来输出十进制整数,( )格式字符是用来输出一种字符串。A., B.,C.,D., 15、语句特点是( )。A.先执行循环语句,再判断条件与否为真(成立),若成立则继续执行循环,若不成立,则结束循环。do-while至少执行一次循环。B. 先判断条件与否成立(为真),若不成立则执行循环。C. 先执行循环语句,再判断条件与否为假
4、(不成立),若不成立则继续执行循环,若成立,则结束循环。D. 先执行循环语句,再判断条件与否为真(成立),若不成立则继续执行循环,若成立,则结束循环。 16、下面程序段运营成果是( )。char *s=“abcde”;s+=2;printf(“%d”,s);A. cdeB. 字符cC. 字符c地址D. 无拟定输出成果 17、若已知15,10,则表达式!值为( )。A. 1B. 0C. 5D. -5 18、若字符量在内存中占用一种字节,字符串“”则应占( )个字节。A. 2B. 4C. 1D. 0 19、在语言中,输入操作可以由库函数( )完毕,输出操作可以由库函数( )完毕。A. scanf,
5、printfB. inputf,outputC. get,outD. puts,gets 21、合法数组定义是( )。A. char a =string;B. inta5=0,1,2,3,4,5;C. int s=string;D. char a =0,1,2,3,4,5; 22、当a=3,b=4,c=1时,表达式f=abc值是( )。A. 3B. 0C. 1D. 4 23、请问:下面这个程序段输出是( )。Int a,b,c;a=7;b=8;c=9;if(ab) a=b,b=c;c=a;printf(“a=%d b=%d c=%dn”,a,b,c);A. a=7 b=8 c=7B. a=7
6、b=9 c=7 C. a=8 b=9 c=7D. a=8 b=9 c=8 24、若有char ch;则要使指针p指向该类型定义语句为:( )A. int pB. char pC. char *pD. int *p 25、有如下表达式int a10=19,23,14,17,37,28,49,36,*p;p=a;则值为36表达式为:( )A. p+7B. *(p+7)C. *(p)D. *(p+1) *26、执行printf(%d,%o,10,11)语句值为( )。A. 10,10B. 13,12C. 10,13D. 13,10 27、已有定义float n;char ch1;,为使n=6.5,c
7、h1=a,相应scanf语句是( )。A.scanf(“%f%c”,&n,&ch1);B.scanf(“%f,%c”,&n,&ch1,);C.scanf(“%f%c”, n,&ch1);D.scanf(“%f%c”,&n,ch1); 1、如下说法中对的是( )。AC语言程序总是从第一种定义函数开始执行B在C语言程序中,要调用函数必要在main( )函数中定义CC语言程序总是从main( )函数开始执行DC语言程序中main( )函数必要放在程序开始某些 2、如下选项中,合法C语言标记符是( )。A1_1 B1-1 C_11 D1_ 3、下面合法C语言字符常量是( )。At BA C65 DA
8、4、字符(char)型数据在微机内存中存储形式是( )。A反码 B补码 CEBC D.IC码 5、表达式:10!=9值是( )。A true B非零值 C0 D1 6、为表达关系xyz,应使用C语言表达式是( )。A(x=y) & (y=z)B(x=y) AND (y=z)C(x=y=z)D(x=y) & (y=z) 7、阅读下面程序#includevoid main()int i,j;scanf(%3d%2d,&i,&j); printf(i=%d,j=%dn,i,j);如果从键盘上输入1234567,则程序运营成果是( )。Ai=123,j=4567 Bi=1234,j=567 Ci=1,
9、j=2 Di=123,j=45 8、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2值是( )。A5.5 B5 C3 D4.0 9、如下程序输出成果是( )。#includevoid main()int a=12,b=12;printf(%d,%dn,-a,+b);A10,10 B12,12C11,10 D11,13 10、a=3,b=4,c=5,表达式a+bc& b=c值是( )。A0B1C表达式不合法D均不对 11、为了避免嵌套if-else语句二义性,C语言规定else总是与( )构成配对关系.A缩排位置相似if B在其之前未配对ifC在其之前尚未配对近来if D同一行上
10、if 12、下列程序执行后输出成果是( )。 #include void main( ) int a=5,b=60,c;if (a=A &ch=Z)?ch+32:ch值是( )。AZ Ba Cz DA 14、下面程序运营成果是( )。 #includevoid main( ) int s=0,i=1;while (s=10) s=s+i*i;i+;printf(%d,-i);A4 B3 C5 D6 15、下面程序输出成果是( )。#includevoid main( ) int i;for(i=1;i6;i+) if (i%2!=0) printf(#);continue;printf(*);
11、 printf(n); A#*#*# B# C* D*#*#* 16、如下论述对的是( )。Acontinue语句作用是结束整个循环执行B只能在循环体内和switch语句体内使用break语句C在循环体内使用break语句或continue语句作用相似D从多层循环嵌套中退出时,只能使用goto语句 17、若有阐明int a34;,则对a数组元素非法引用是( )。Aa02*1Ba13 Ca4-20Da04 18、规定下面程序运营后,显示如下成果:2 10 4 61 5 2 32 4 7 85 1 3 2则程序中划线处应填入( )。#include void main( ) int a44= _
12、;Int i,j;for(i=0;i4;i+)for(j=0;j4;j+) printf(%4d,aij);printf(n); A1,5,2,3,2,4,7,8,5,1,3,2B2,10,4,6,1,5,2,3,2,4,7,8,5,1,3,2C5,1,3,2,2,4,7,8,1,5,2,3D2,1,2,5,10,5,4,1,4,2,7,3,6,3,8,2 19、若有如下阐明:char s1 =tree,s2 =flower;,则如下对数组元素或数组输出语句中,对的是( )。Aprintf(%s%s,s15,s27); B printf(%c%c,s1,s2);Cputs(s1);puts(s
13、2);Dputs(s1,s2); 20、运营下面程序段输出成果是( )。char s110=S,e,t,0,u,p,0;printf(%s,s1);ASet BSetup CSet up DSet 21、调用函数时,当实参和形参都是简朴变量时,它们之间数据传递过程是( )。A实参将其地址传递给形参,并释放原先占用存储单元B实参将其地址传递给形参,调用结束时形参再将其地址回传给实参C实参将其值传递给形参,调用结束时形参再将其值回传给实参D实参将其值传递给形参,调用结束时形参并不将其值回传给实参 22、如下论述中,不对的是( )。A在同一C程序文献中,不同函数中可以使用同名变量B在main函数体内
14、定义变量是全局变量C形参是局部变量,函数调用完毕即失去意义D若同一文献中全局变量和局部变量同名,则全局变量在局部变量作用范畴内不起作用 23、对于C语言函数,下列论述中对的是( )。A函数定义不能嵌套,但函数调用可以嵌套B函数定义可以嵌套,但函数调用不能嵌套C函数定义和调用都不能嵌套D函数定义和调用都可以嵌套 24、设有如下函数:#include int f(int a) int b=0,c;c=3;b+ ;c+;return (a+b+c); 如果在下面程序中调用该函数,则输出成果是( B )。void main() int i;for(i=0;i3;i+) printf(%dn,f(i);
15、 A 5B5C3D3 7 6 4 3 9 7 5 3 25、在C语言程序中,数组名做函数调用实参时,传递给形参是( )。A数组第一种元素值B数组首地址C数组所有元素值 D数组元素个数 26、有如下函数调用语句func(rec1,rec2+rec3,rec4,rec5);该函数调用语句中,具有实参个数是( )。A3 B4 C5 D有语法错误 27、若已定义: int a=0,1,2,3,4,5,6,7,8,9,*p=a,i; 其中0i9,则对a数组元素不对的引用是( )。Aap-a B*(&ai) Cpi Da10 28、下面程序输出成果是( )。main( ) int a=1,2,3,4,5,
16、6,7,8,9,0,*p; p=a;printf(%dn,*p+9);A0 B1C10 D9 29、执行语句char a10=abcd,*p=a;后,*(p+4)值是( )。Aabcd BdC0 D不能拟定 1、下面标记符中,不合法顾客标记符为( )。APAD Ba_10 CCHAR Da#b 2、源程序要对的地运营,必要要有什么函数?Aprintf函数 B自定义函数 Cmain函数D不需要函数 3、在C语言中,合法字符常量是( )。A084 Bx43 Cabff D“0” 4、在C语言中,规定运算数必要是整型运算符是( )。A/ B+ C!= D% 5、若变量c为char类型,能对的判断出c
17、为小写字母表达式是( )。Aa=c= a)|(c= z)C(a=c) D(c= a)&(c=10 or a=0|a=10 &a=10|a=0 10、有如下程序main( ) float 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);该程序输出成果是( )。A0.000000 B0.250000 C0.500000 D1.000000 11、如下对的描述是( )。A函数定义可以嵌套,但函数调用不可以嵌套B函数定义不可以嵌套,但函数调用可以嵌套C函数定义和函数调用均不可嵌套D函数定义和函数调用均可
18、以调用 12、下面哪个表达式值为4( )。A11/3B11.0/3 C(float)11/3 D(int)(11.0/3+0.5) 13、有如下程序main( ) int i,sum; for(i=1;i6) n-;printf(%d,n);该程序段输出成果是( )。A987 B876 C8765 D9876 15、该源程序执行后,屏幕上显示什么( )? main() int a; float b; a=4; b=9.5; printf(a=%d,b=%4.2fn,a,b); Aa=%d,b=%fn Ba=%d,b=%f Ca=4,b=9.50 Da=4,b=9.5 16、下面程序运营成果为(
19、 )。#include #include main( ) char *aa=”then”,*bb=”than”; aa+=2; bb+=2; printf(“%dn”,strcmp(aa,bb);A有语法错 B不不大于零 C等于零 D不大于零 17、下面程序中有错误行是( )(每行程序前面数字表达行号) 1. main() 2. 3. int a3=1; 4. int i; 5. scanf(“%d”,&a0); 6. for(i=0;i3;i+) a0=a0+ai; 7. printf(“a0=%dn”,a); 8. A3 B6 C7 D5 18、若调用一种函数,且此函数中没有return语
20、句,则对的说法是( ),该函数A没有返回值B返回若干个系统默认值C能返回一种顾客所但愿函数值D返回一种不拟定值 19、若有定义语句:int x5=0,1,2,3,4,*p;,则如下数值不为2表达式是( )。Ap=x+1,+(*p) Bp=x+2,*p+ Cp=x+1,*(p+) Dp=x+1,*+p 20、如下不能对二维数组a进行对的初始化是( ):Aint a24=0 Bint a3=1,2,0;Cint a23=1,2,3,4,5,6;Dint a3=1,2,3,4,5,6; 21、如下程序段运营成果是( )。char b = “Basic”,*p; for(p=b;pb+5;p+) pr
21、intf(“%sn”,p); ABasic BB Cc DBasic asic a i c sic s s ic ic i a sic c c B asic22、对于下列阐明,请指出哪个是不对的( )?Aint a 3;Bint b0; Cchar c10=“abcdn”; Dfloat f 3=1,2,3,4,5,6; 23、下列程序执行后输出成果是( )。 main() char arr24; strcpy(arr,you);strcpy(arr1,me); arr03=&; printf(%s n,arr);Ayou&me Byou Cme Derr 24、请选取您以为对的说法( )。A
22、在C语言中,函数可以嵌套定义。B在C程序中,ABC和abc是两个不同变量。C在函数中,只能有一条return语句。DC程序中,会检查数组下标与否越界。 25、若有如下阐明和语句,且0=i10,则下面哪个是对数组元素地址对的表达? int a=1,2,3,4,5,6,7,8,9,0,*p,i; p=a; A&(a+1) Ba+ C&p D&pi 26、若k为整型变量,则如下for循环执行次数是( )。for(k=2;k=0;) printf(“%d”,k-); A无限次 B0次 C1次 D2次 27、若用数组名作为函数调用实参,传递给形参是( )。A数组首地址B数组第一种元素值C数组所有元素值D
23、数组元素个数 28、下面程序段运营成果是 char x5=a,b,0,c,0; printf(“%s”,x);AaB Bab Cab c Dabc 29、如下程序对的运营成果是( )。#define MAX 10int aMAX,i;main() printf(n);sub1();sub3(a);sub2();sub3(a);sub2() int aMAX,i,max; max=5; for(i=0;imax;i+) ai=i;sub1() for(i=0;iMAX;i+) ai=i+i;sub3(int a) int i; for(i=0;iMAX;i+) printf(%d ,ai); p
24、rintf(n); A 0 2 4 6 8 10 12 14 16 18B0 1 2 3 4 0 1 2 3 4 0 2 4 6 8 10 12 14 16 18C 0 1 2 3 4 5 6 7 8 9D0 2 4 6 8 10 12 14 16 18 0 1 2 3 4 0 2 4 6 8 10 12 14 16 18 30、当运营如下程序时,从键盘输入My Book,则下面程序运营成果是( )。#includestdio.hchar fun(char *s) if(*s=A) *s+=1; return *s;main() char c80,*p=c; gets(c); while(*p
25、) *p=fun(p);putchar(*p);p+; printf(n); AmZ bPPk Bmy book CNy Cook DMy Book 1、C语言规定,在源程序中,main函数位置( )。A. 必要在最开始B. 必要在系统调用库函数背面C. 可以任意D. 必要在最后 2、构造化程序设计3种基本构造是( )、( )与( )。、顺序构造,选取构造,逆序构造、重复构造,顺序构造,逆序构造、顺序构造,选取构造,重复构造D、顺序构造,选取构造,循环构造 3、下面对的字符常量是是( )。A. c B. C. w D. 4、若x、i、j和k都是int变量,则执行表达式x=(i=4,j=16,k
26、=32)后x值为( )。A. 4B. 16C.32D.52 5、已知各变量类型阐明如下int k,a,b;unsigned long w=5;double x=1.42;则如下不对的表达式是( )。A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3) 6、已知字符AASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2=A+6-3后,c2中值为( )。A. DB. 67C. 不拟定值D.C 7、关系式1010&10&100C、10&10&100 8、若有如下定义,则对的赋值语句是( )。int a,b; float x;A.
27、a=1,b=2,;B. b+; C. a=b=5 D.b=int(x); 9、如下针对scanf函数论述中,对的是( )A. 输入项可觉得一实型常量,如scanf(“%f”,3.5);B. 只有格式控制,没有输入项,也能进行对的输入,如scanf(“a=%d”); C. 当输入一种实型数据时,格式控制某些应规定小数点后位数,如scanf(“%4.2f”,&f);D. 当输入数据时,必要指明变量地址,如scanf(“%f”,&f); 10、已知ch是字符型变量,下面对的赋值语句是( )。A. ch=123; B. ch=xff;C.ch=08; D.ch=; 11、下列关系表达式中成果为假是(
28、)。A. 0!=1 B. 2=y&chB&!y)值为( )。A. 0B. 语法错C. 1D. 假 13、在语言中,输入操作可以由库函数( )完毕,输出操作可以由库函数( )完毕。Ascanf,printf Binput,outputCget,out Dputs,gets 14、如下程序运营成果是( )。main() int k=4,a=3,b=2,c=1;printf(“n%dn”,ka?k:c值为( )。A.1 B.0 C.5 D.-5 16、如下描述中对的是( )。A. for循环只能用于循环次数已经拟定状况B. for循环是先执行循环体语句,再判断表达式C. 在for循环中,不能用bre
29、ak语句跳出循环体D. for循环循环体语句中,可以包括多条语句,但必要用花括号括起来 17、如下不是无限循环语句是( )。A. for(y=0,x=1;x+y;x=i+) i=x;B. for(;x+=i);C. while(1) x+;D. for(i=10;i-) sum+=i; 18、执行语句for(i=1;i+4;)后变量i值为( )。A. 3B. 4C. 5D. 不定 19、下面程序运营成果是( )。#includemain() int k=0;char c=A;do switch(c+) case A:k+;break;case B:k-;case C:k+=2;break;ca
30、se D:k=k%2;continue;case E:k=k*10;break;default:k=k/3;k+;while(cG);printf(“k=%dn”,k);A. k=3 B. k=4 C. k=2 D. k=0 20、若有阐明:int a10;则对a数组元素对的引用是( )。A. a10 B. a3.5C.a(5) D.a10-10 21、如下能对二维数组a进行对的初始化语句是( )。A. int a2=1,0,1,5,2,3;B. int a3=1,2,3,4,5,6;C.int a24=1,2,3,4,5,6;D.int a3=1,0,1,0,1,1; 22、下面程序( )(
31、每行程序前面数字表达行号)。1 main( )2 int a3=1;3 int i;4 scanf(“%d”,&a);5 for(i=1;i3;i+) a0=a0+ai;6 printf(“%dn”,a0);7 A. 没有错误 B. 第4行有错误 C. 第5行有错误 D. 第6行有错误 23、定义如下变量和数组:int k;int a33=1,2,3,4,5,6,7,8,9;则下面语句输出成果是( )。for(k=0;k3;k+)printf(“%3d”,akk);A. 3 5 7 B. 3 6 9 C. 1 5 9 D.1 4 7 24、在C语言中,数组名代表( )。A.数组首址 B.数组内
32、容 C.数组长度 D.所有数组 25、如下对的函数形式是( )。A. double fun(int x;int y) z=x+y;return z;B. double fun(int x,int y) double z;z=x+y;return z;C. fun(x,y); int x,y;double z;z=x+y;return z;D.fun(int x,y) int z;return z; 26、如下程序运营成果是( )。int f (int x,int y) return (y-x)*x;main() int a=3,b=4,c=5,d; d=f(f(a,c),f(a,b)+f(c,
33、b);printf(“%dn”,d);A. -48 B. 58 C. -58 D.47 29、如下程序运营成果是( )。main() int a,b,k=4,m=6,*p1=&k,*p2=&m; a=p1=&m; b=*p1/*p2+7;printf(“a=%d,b=%dn”,a,b);A. a=-1,b=5 B. a=1,b=6 C. a=0,b=7 D.a=4,b=10 30、设p1和p2是指向同一种字符串指针变量,c为字符变量,则如下不能对的执行赋值语句是( )A. c=*p1+*p2;B. p2=c;C. p1=p2;D. c=*p1*(*p2;) 1、如下论述不对的是( )。A. 一种C源程序可由一种或各种函数构成
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100