c语言单选题试卷
- 格式:doc
- 大小:63.08 KB
- 文档页数:74
1、下列符号串中,不属于C语言保留字的是A、ifB、thenC、staticD、for参考答案:B2、下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09参考答案:D3、以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','I','n','g','\0'};printf("%d\n",strlen(str));}A、6B、7C、11D、12参考答案:A4、下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day参考答案:C5、下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D6、C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定参考答案:D7、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8参考答案:D8、若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',g;A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]参考答案:D9、以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面参考答案:D10、执行下列程序段,其中的do-while循环一共执行_次。
C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、 C程序的每行中只能写一条语句。
C、 C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。
c语言单选题\、c语言源程序的基本单位是()。
a)过程b)函数c)子程序d)标识符答案:b\\、下列字符序列中,可用作c标识符的一组字符序列是()。
a)s.b,sum,average,_aboveb)class,day,lotus_1,2dayc)#md,&12x,month,student_n!d)d56,r_1_2,name,_st_1答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。
a)a3_b3b)voidc)_123d)if答案:b\\、以下数据中,不恰当的数值或字符常量就是()。
a)0b)5lc)o13d)9861答案:c\\、以下的选择中,正确的赋值语句是()。
a)a=1,b=2b)j++c)a=b=5;d)y=int(x)答案:c\\、以下运算符中,优先级最低的运算符就是()。
a)?:b)++c)&&d),答案:b\\、在c语言中,能代表逻辑值“真”的是()。
a)trueb)大于0的数c)非0整数d)非0的数答案:d\\、下列变量说明语句中,正确的是()。
a)char:abc;b)chara;b;c;c)intx;z;d)intx,z;答案:d\\、以下字符序列中,不容用做c语言标识符的就是()。
a)b70b)#abc)symbold)a_1答案:b\\、以下不正确的叙述是()。
a)在c程序中所用的变量必须先定义后采用b)程序中,aph和aph就是两个相同的变量c)若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变d)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。
a)forb)printfc)wordd)sizeof答案:d\\、以下标识符中,无法做为合法的c用户定义标识符的就是()。
a)answerb)toc)signedd)_if答案:c\\、以下标识符中,不能作为合法的c用户定义标识符的是()。
C语言试卷1. 以下不是C语言的特点的是 ( B D )。
[单选题] *A.(正确答案)C语言简洁、紧凑D. C语言移植性好2. 以下不正确的C语言标识符是()。
[单选题] *A. ABCB. AbcC. a_bcD. ab.c(正确答案)3. 3.C语言规定,函数返回值的类型由()所决定。
[单选题] * A.return语句中的表达式类型B.调用该函数时的主调函数类型C.调用该函数时的形参类型D.在定义该函数时所指定的函数类型(正确答案)4. C程序由()组成。
[单选题] *A.子程序B.主程序和子程序C.函数(正确答案)D.过程5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为()。
[单选题] *A. intB. FloatC. double(正确答案)D. 不确定6. 在C语言中,char型数据在内存中的存储形式是()。
[单选题] *A. 补码B. 反码C. 源码D. ASCII码(正确答案)7. 有如下程序,输入数据:12345M678<cR>后( [单选题] *#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 运行错误(正确答案)D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是()。
[单选题] *A. a=1,b=2C. a=b=5;(正确答案)D. b=int(x);9. 以下程序的执行结果是()。
[单选题] *#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10(正确答案)B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是()。
[单选题] * #includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,89(正确答案)11. 下列运算符中优先级最高的是()。
C语言100题C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
一、单选题:(1)在C语言提供的合法的关键字是( )A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)’\084’ B) ’\x43’C)’ab’D) "\0”(3)若有定义和语句:char s[10]: s="abcd”;printf(”%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p,a=10, b=20;pp=&p;p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10,20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n”,u, v, w);则输出结果是()A) 8,16,10B)10,10,10 C)8,8,10 D) 8,10,10 (6) 若有以下定义和语句char c1=' b', c2='e’;printf(”%d,%c\n", c2-c1,c2—'a’+”A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7)若有以下定义:char s[20]=”programming”,*ps=s;则不能代表字符o的表达式是( )A)ps+2 B) s[2]C) ps[2]D) ps+=2,*ps(8)若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是() for (i=5; i; i—-)for(j=0;j<4; j++){。
}A) 20B) 25 C)24 D) 30(9)若有以下定义和语句:char *s1=”12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是()A)4B)5 C)9 D)10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是()A) *p B) a[10]C)*a D)a[p-a](11)下面程序的输出是()main(){char *s=”121";int k=0,a=0,b=0;do{k++;if(k%2==0) {a=a+s[k]—’0’;continue;}b=b+s[k]—’0';a=a+s[k]—'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C)k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main(){ unsigned a=32768;printf("a=%d\n”,a);}运行结果: —32768A)a=—32768 B)a=32767C)a=-32767 D)a=—1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){case1.0:printf("*\n”);{case1, 2:printf(”*\n”);case2。
一、单选题(每题1分,共100题)1.C语言源程序文件是后缀为(未填)的文件。
错误正确答案:AA. .cB. .exeC. .objD. .bat2.C语言中主函数的个数是(未填)。
错误正确答案:DA. 2个B. 任意个C.10个D. 1个3.定义指针变量时,需要在指针变量名前加上(未填)错误正确答案:CA.!B.@C.*D.&4.变量的指针,其含义是指该变量的(未填)错误正确答案:BA.值B.地址C.名D.标志5.若定义:int a=511,*b=&a;则printf("%d\n",*b);的输出结果为(未填)错误正确答案:DA.无确定B.a的地址C.512D.5116.若有以下定义int a[10],*p=a;则p+5表示(未填)错误正确答案:AA.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值7.下列变量名中合法的是(未填)错误正确答案:AA.TomB.3a6bC.6a7bD.5ABC8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(未填)。
错误正确答案:CA.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符9.表达式18/4*sqrt(4.0)/8值的数据类型为(未填)。
错误正确答案:CA.intB.floatC.doubleD.不确定10.若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(未填)。
错误正确答案:CA.A%2==1B.!(A%2==0)C.!(A%2)D.A%211.下列数据中,为字符的是(未填)。
错误正确答案:DA.‘AB’B."A"C.HowD.'A'12.下列不合法的实数是(未填)错误正确答案:CA.34.65B.6.3E2C.e3D.54.313.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(未填)。
计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
C语言单项选择题单项选择题(本大题共20小题,每小题1分,共20分)1.C++源程序文件扩展名为(A)A..cppB..hC..1ibD..obj5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.createC.delete D.realse6.从本质上看,引用是被引用变量的(B)A.拷贝B.别名C.复制D.克隆7.在函数调用时,如某一默认参数要指明一个特定值,则有(B)A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C)A.int m=max(22,max(59,70));B.int m=max(max(22,59),70);C.int m=max(22,59,70);D.int m=max(59,max(22,70));9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B)A.int m=min(min(15,26),min(15,47));B.int m=min(15,26,47);C.int m=min(15,min(47,26));D.int m=min(min(47,26),16);13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为(B)A.9,14B.9,15C.10,14D.10,1516.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C)A.10,10B.10,15C.15,10D.15,1517.设函数void swap(int,int)将交换两形参数值,如有两整型变量int a=10;int b=15,则执行swap(a,b);之后,a,b值分别为(C)A.15,10B.15,15C.10,15D.10,1018.设函数void subone(int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b 的值为(B)A.9B.10C.11D.未知10.下列函数不能和函数void print(char)构成重载的是(C)A.int print(int);B.void print(char,char);C.int print(char);D.void print(int,int);15.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明(C)A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);11.C++类中定义的成员默认访问属性为(B)A.publicB.privateC.protectedD.friend12.决定C++语言中函数的返回值类型的是(D)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型14.声明函数为内联函数时所使用的关键字为(B)A.constB.inlineC.shortD.signed19.声明函数int Func(int a=0,int b=3,int c=4)相当于声明了几个函数形式(A)A.1B.2C.3D.420.函数默认参数在函数原型中说明,默认参数必须放在参数序列的(C)A.前部B.中部C.后部D.两端21.下列哪个类型函数不适合声明为内联函数(A)A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长22.int Func(int,int);不可与下列哪个函数构成重载(B)A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);23.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为(B)A.9B.10C.11D.未知24.下列哪种默认参数的声明是不正确的(C)A.int max(int a,int b,int c,int d=0);B.int max(int a,int b,int c=0,int d=0);C.int max(int a=0,int b,int c=0,int d=0);D.int max(int a,int b=0,int c=0,int d=0);25.设int&max(int&,int&)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为(C)A.10,15B.11,15C.10,16D.1l,1626.包含哪种语句的函数不能声明为内联函数(A)A.循环B.变量自增自减C.if...else…D.变量声明*27.对类中声明的变量,下列描述中正确的是(C)A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享28.类的私有成员可在何处访问(D)A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中29.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(A)A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译30.一个类可包含析构函数的个数是(B)A.0个B.1个C.至少一个D.0个或多个31.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来(A)A.<>B.“”C.()D.{}32.一个类拥有多个构造函数,则这些构造函数间为(A)A.重载关系B.重复关系C.拷贝关系D.无关系33.对于拷贝构造函数point::point(point&p),下列说明正确的是(C)A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员34.使用delete[]删除对象数组时,描述正确的是(A)A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数35.this指针存在的目的是(B)A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问36.下列关于类的权限的描述错误的是(A)A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员37.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是(B)A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定*38.下列描述错误的是(A)A.在创建对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员39.对于友元描述正确的是(B)A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.友元不能访问本类私有成员*40.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和private B.public和protectedC.protected和private D.仅protected41.内联函数的特点是(D)A.减少代码量,加快访问速度B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度D.增加代码量,加快访问速度42.类的私有成员可在何处被访问(A)A.本类的成员函数中B.本类及子类的成员函数中C.通过对象名在任何位置D.不可访问43.假定MyClass为一个类,则该类的复制构造函数的声明语句为(C)A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass&x);D.MyClass(MyClass*x);44.类的构造函数在以下什么情况下会被自动调用(B)A.定义成员函数时B.定义对象时C.定义数据成员时D.定义友元函数时45.下列关于析构函数描述正确的是(D)A.可以重载B.函数体中必须有delete语句C.返回类型必须是void类型D.不能指定返回类型46.设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是(D)A.Sum(1,2);B.Sum(3.0,2.2);C.Sum(‘A’,‘C’);D.Sum("A","C");*47.关于类的静态成员函数描述错误的是(A)A.在创建对象前不存在B.不能说明为虚函数C.不能直接访问非静态函数D.不是对象的成员48.如果类A被声明成类B的友元,则(B)A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元49.派生类的对象可以访问以下那种情况继承的基类成员(B)A.私有继承的私有成员B.公有继承的私有成员C.私有继承的保护成员D.公有继承的公有成员50.函数模板templatevoid Func(T,T)可具有下列哪种实例化形式(B)A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的(A)A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名*51.对类A,复制构造函数的原型是(A)A.A::A(const A&);B.A::A(const A*);C.A::A(const A);D.A::A();52.对class point,如使用point*ptr=new point[2];创建对象数组,则删除此数组使用的语句是(B)A.delete ptr[2];B.delete[]ptr;C.delete ptr[];D.delete[2]ptr;53.下列哪个编译指令不属于条件编译指令(D)A.#ifB.#elseC.#endifD.#error54.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为(B)A.未初始化B.等于a.xC.等于0D.随机55.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是(C)A.strlen()B.strcap()C.strcat()D.strcmp()56.基类中的public成员,通过public派生,其在派生类中的访问权限为(D)A.不可访问B.privateC.protectedD.public57.不同对象调用同名函数,但导致完全不同行为的现象称为(D)A.抽象B.封装C.继承D.多态性58.设类Test中存在成员static int x,则下列哪种初始化方式是正确的(C)A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;59.下列关于友元的描述错误的是(C)A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元60.在继承中,派生类拥有的基类个数为(B)A.0个B.1个C.多个D.至少1个61.基类中的protected成员,通过public派生,其在派生类中的可见性为(D)A.不可访问B.privateC.protectedD.public62.下列哪个不是面向对象的关键要素(B)A.抽象性B.结构性C.封装性D.多态性63.设函数void subone(int&)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为(A)A.9B.10C.11D.未知64.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是(A)A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);65.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int*value;};若要对value赋值,则下面语句正确的是(B、D)A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);66.包含哪种语句的函数不能声明为内联函数(D)A.变量定义B.if……elseC.位操作D.switch67.声明函数模板的关键字是(B)A.inlineB.templateC.constD.short68.对于类中的成员,使用public修饰,表明该成员的访问权限是(A)A.公有的B.私有的C.保护的D.不可见的*69.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存(B)A.不允许B.允许C.无法确定D.视构造函数的函数,可确定70.析构函数的参数个数为(A)A.0个B.1个C.至少1个D.多于1个71.非静态成员函数都会有一个隐含指针,它是(B)A.self指针B.this指针C.current指针D.one指针72.下列访问公有静态成员的方式,错误的是(A)A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名73.声明友元使用下列哪个关键字(C)A.class B.constC.friend D.virtual74.派生类继承了基类的(A)A.所有成员B.部分成员C.数据成员D.成员函数75.基类private成员,通过public派生,其在派生类中为(A)A.private B.protectedC.public D.不可访问76.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和privateB.public和protectedC.protected和privateD.仅protected77.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.freeB.createC.deleteD.realse78.对于new类型名[size]描述正确的是(C)A.申请可以存储size个字节的空间B.申请可以存储1个该数据类型的空间C.申请可以存储size个该数据类型对象的空间D.申请可以存储1个字节的空间79.构造函数用于(B)A.定义对象B.初始化对象C.清除对象D.普通计算80.C++中专门定义一个仅在模板中使用的参数类型的关键字是(D)A.const B.inlineC.short D.typename81.对于类中的成员,使用private修饰,表明该成员的访问权限是(B)A.公有的B.私有的C.保护的D.不可见的82.使用new创建的对象,对其生命周期描述正确的是(B)A.由系统决定B.由用户控制C.全局生命周期D.永久存在83.析构函数被调用的时间点是(B)A.对象被创建时B.对象被销毁时C.不会被调用D.主函数被调用时*84.对象的构造函数调用顺序取决于(C)A.对象成员在初始化列表中给出的顺序B.对象成员在类中声明的顺序C.对象成员与在初始化列表中顺序和类中声明顺序均有关D.随机顺序85.下列对静态成员函数描述正确的是(B)A.静态成员函数中可使用1个this指针B.静态成员函数中不能使用this指针C.静态成员函数中可使用多个this指针D.静态成员函数中只可使用1个that指针86.友元的声明可出现在(B)A.类的私有部分B.类的公有部分C.类的保护部分D.类的任何部分*87.在下列派生中,子类和父类间是isa关系的是()A.private B.protectedC.public D.publish88.面向对象不仅进行功能抽象,还要进行(C)A.动态抽象B.消息抽象C.数据抽象D.算法抽象89.如声明对象数组,则下列描述正确的是(A)A.对每个元素均调用一次构造函数B.部分元素调用构造函数,其它元素不需调用C.均不需要调用构造函数D.只是首元素调用构造函数*90.不同对象调用同一成员函数时,this指针指向(A)A.不同对象B.相同对象C.无对象D.不确定*91.一个类可拥有多少个构造函数(C)A.0个B.1个C.1或多个D.以上皆对92.下列哪个要素不是面向对象的关键要素(A)A.模块化B.抽象性C.封装性D.继承性93.下列对于类的描述错误的是(C)A.类要先声明后使用B.类是具有唯一标识的实体C.两个类可以使用同一个名称D.组成类的不仅有数据,还可以有对数据进行操作的函数*94.使用引用调用方式将实参传给形参,下列说法正确的是(A)A.形参是实参的备份B.实参是形参的备份C.形参和实参共享同一对象D.形参和实参无联系95.关于对象的性质,下列描述错误的是(B)A.同一类对象之间可相互赋值B.不能使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员96.类的私有成员可在哪里被赋值(B)A.类体中B.该类的成员函数中C.A和BD.以上都不是97.派生类中继承的基类成员初始化如何进行(A)A.由派生类构造函数调用基类的构造函数进行B.由派生类构造函数进行C.由基类构造函数进行,无需派生类构造函数调用D.以上皆不正确98.对于多重继承,下列描述正确的是(B)A.所有基类使用相同的派生方式B.每个基类可使用不同派生方式C.只能是public派生D.只能是protected派生99.下列关于类的权限描述错误的是(B)A.类本身的成员函数可以访问自身的任何成员B.类的对象可以访问该类的所有成员C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问D.一个类可以将另一个类的对象作为成员100.运算符delete与哪个函数一起运行(B)A.构造函数B.析构函数C.主函数D.不与任何函数一起工作101.一个类可以获得另一个类的特性的机制称为(C)A.抽象B.封装C.继承D.多态性102.对引用调用描述正确的是(B)A.分配新存储空间B.修改已存储空间的名称为引用名C.引用名与已存在存储空间无任何关联D.将引用名标识符与一块已存在储区域相关联,没有分配新存储空间。
试卷编号:21所属语言:C语言试卷方案:TC_160505230643试卷总分:300分共有题型:1种一、单选共300题(共计300分)第1题(1.0分)题号:5282 难度:中第2章从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread()答案:A第2题(1.0分)题号:5622 难度:中第11章不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上().A:内存B:缓冲区C:文件D:寄存器答案:C第3题(1.0分)题号:5503 难度:中第8章若使用一维数组名作函数实参,则以下正确的说法是().A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A第4题(1.0分)题号:5289 难度:中第2章设变量定义为"int a, b;",执行下列语句时,输入(),则a和b的值都是10. scanf("a=%d, b=%d",&a, &b);A:10 10C:a=10 b=10D:a=10, b=10答案:D第5题(1.0分)题号:5482 难度:中第7章设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第6题(1.0分)题号:5591 难度:中第10章执行下列语句后的结果为().int x=3,y;int *px=&x;y=*px++;A:x=3,y=4B:x=3,y=3C:x=4,y=4D:x=3,y不知答案:B第7题(1.0分)题号:5264 难度:中第2章以下数据中,不正确的数值或字符常量是().A:cB:66C:0xaaD:50答案:A第8题(1.0分)题号:5554 难度:中第9章相同结构体类型的变量之间,可以().A:相加C:比较大小D:地址相同答案:B第9题(1.0分)题号:5254 难度:中第2章设C语言中,int类型数据占2个字节,则unsigned类型数据占().A:1个字节B:2个字节C:4个字节D:8个字节答案:B第10题(1.0分)题号:5583 难度:中第10章若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是().A:p=q;B:*p=*q;C:n=*q;D:p=n;答案:D第11题(1.0分)题号:5619 难度:中第10章设有如下定义: struct sk {int a; float b;} data,*p;若要使p指向data中的a域,正确的赋值语句是().A:p=(struct sk*)&data.a;B:p=(struct sk*) data.a;C:p=&data.a;D:*p=data.a;答案:A第12题(1.0分)题号:5392 难度:中第4章以下程序的输出结果为().main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}B:9,10C:010,9D:10,9答案:B第13题(1.0分)题号:5292 难度:中第2章下列程序的输出结果是().main(){int a=011;printf("%d\n",++a);}A:12B:11C:10D:9答案:C第14题(1.0分)题号:5268 难度:较易第2章以下正确的字符串常量是().A:"\\\"B:'abc'C:OlympicGamesD:'A'答案:A第15题(1.0分)题号:5215 难度:中第1章以下叙述正确的是().A:在C程序中,main函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C语言本身没有输入输出语句D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:C第16题(1.0分)题号:5375 难度:中第4章设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为().A:12B:144C:0D:132答案:C第17题(1.0分)题号:5350 难度:中第3章下列运算符中优先级最高的是().A:<B:+C:&&D:!=答案:B第18题(1.0分)题号:5544 难度:中第8章以下叙述中不正确的是().A:预处理命令行都必须以#号开始B:在程序中凡是以#号开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:以下是正确的宏定义 #define IBM_PC答案:C第19题(1.0分)题号:5286 难度:中第2章若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第20题(1.0分)题号:5496 难度:中第8章若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(). A:函数调用可以作为独立的语句存在B:函数调用可以作为一个函数的实参C:函数调用可以出现在表达式中D:函数调用可以作为一个函数的形参答案:D第21题(1.0分)题号:5548 难度:中第9章static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是().A:a[1]B:a[-1]C:a[0]D:a[10]答案:C第22题(1.0分)题号:5514 难度:中第8章C语言程序中,当调用函数时().A:实参和虚参各占一个独立的存储单元B:实参和虚参可以共用存储单元C:可以由用户指定是否共用存储单元D:计算机系统自动确定是否共用存储单元答案:A第23题(1.0分)题号:5615 难度:中第10章char *match(char c)是().A:函数定义的头部B:函数预说明C:函数调用D:指针变量说明答案:A第24题(1.0分)题号:5643 难度:中第11章fscanf函数的正确调用形式是().A:fscanf(fp,格式字符串,输出表列);B:fscanf(格式字符串,输出表列,fp);C:fscanf(格式字符串,文件指针,输出表列);D:fscanf(文件指针,格式字符串,输入表列);答案:D第25题(1.0分)题号:5323 难度:中第3章已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为"真"的数据是().A:1990B:1992C:1996D:2000答案:A第26题(1.0分)题号:5505 难度:中第8章下面叙述中错误的是().A:函数的形式参数,在函数未被调用时就不被分配存储空间B:若函数的定义出现在主调函数之前,则可以不必再加说明C:若一个函数没有return语句,则什么值也不会返回D:一般来说,函数的形参和实参的类型要一致答案:C第27题(1.0分)题号:5518 难度:中第8章函数调用:strcat(strcpy(str1,str2),str3)的功能是().A:将串str1复制到串str2中后再连接到串str3之后B:将串str1连接到串str2之后再复制到串str3之后C:将串str2连接到串str1之后再将串str1复制到串str3中D:将串str2复制到串str1中后再将串str3连接到串str1之后答案:D第28题(1.0分)题号:5600 难度:中第10章若有int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为().A:printf("%d",*(a+5));B:printf("%d",p[5]);C:printf("%d",*(p+5));D:printf("%d",*p[5]);第29题(1.0分)题号:5235 难度:中第2章下列四组选项中,均不是C语言关键字的选项是().A:define IF typeB:getc char printfC:include scanf caseD:while go pow答案:A第30题(1.0分)题号:5641 难度:中第11章fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是().A:只写B:追加C:读或读写D:答案B和C都正确答案:C第31题(1.0分)题号:5443 难度:中第6章以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第32题(1.0分)题号:5578 难度:中第10章若有int *p,a; p=&a,下列说法不正确的是().A:&*p==&aC:(*p)++==a++D:*(p++)==a++答案:D第33题(1.0分)题号:5296 难度:较难第2章已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是().A:A,BB:A,68C:65,66D:65,68答案:C第34题(1.0分)题号:5464 难度:中第7章下列定义数组的语句中正确的是().A:#define size 10 char str1[size],str2[size+2];B:char str[];C:int num['10'];D:int n=5; int a[n][n+2];答案:A第35题(1.0分)题号:5634 难度:中第11章若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是().A:"ab++"B:"wb+"C:"rb+"D:"ab"答案:B第36题(1.0分)题号:5581 难度:中第10章若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是().A:p1=&m;p2=&p1B:p1=&m;p2=&n;*p1=*p2;C:p1=&m;p2=p1;D:p1=&m;*p2=*p1;答案:C第37题(1.0分)题号:5488 难度:中第8章C语言规定,函数返回值的类型是由().A:return语句中的表达式类型所决定B:调用该函数时的主调函数类型所决定C:调用该函数时系统临时决定D:在定义该函数时所指定的函数类型所决定答案:D第38题(1.0分)题号:5318 难度:中第3章下列表达式中,可作为C合法表达式的是().A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第39题(1.0分)题号:5395 难度:中第4章执行下列语句后,a和b的值分别为().int a,b;a=1+'a';b=2+7%-4-'A';A:-63,-64B:98,-60C:1,-60D:79,78答案:B第40题(1.0分)题号:5400 难度:中第5章int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第41题(1.0分)题号:5384 难度:中第4章以下不符合C语言语法的赋值语句是().A:j++;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第42题(1.0分)题号:5427 难度:中第6章在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的表达式是().A:(!E==0)B:(E>0||E<0)C:(E==0)D:(E!=0)答案:C第43题(1.0分)题号:5301 难度:中第3章C语言能正确处理的指数是().A:8.5e4288B:e-32C:123000000000D:4.5e-5.6答案:C第44题(1.0分)题号:5238 难度:中第2章下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第45题(1.0分)题号:5304 难度:中第3章逻辑运算符两侧运算对象的数据类型().A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D第46题(1.0分)题号:5562 难度:中第9章若要说明一个类型名STP,使得定义语句STP s等价于char *s,以下选项中正确的是().A:typedef STP char *s;B:typedef *char STP;C:typedef stp *char;D:typedef char* STP;答案:D第47题(1.0分)题号:5225 难度:中第1章下列叙述中正确的是().A:C语言编译时不检查语法B:C语言的子程序有过程和函数两种C:C语言的函数可以嵌套定义D:C语言所有函数都是外部函数答案:D第48题(1.0分)题号:5219 难度:中第1章关于建立函数的目的,以下正确的说法是().A:提高程序的执行效率B:提高程序的可读性C:减少程序的篇幅D:减少程序文件所占内存答案:B第49题(1.0分)题号:5361 难度:较易第3章设有说明:char w; int x; float y; double z; 则表达式w*x+z-y值的数据类型为(). A:floatB:intC:charD:double答案:D第50题(1.0分)题号:5393 难度:较易第4章执行下列程序段后,m的值是().int w=2,x=3,y=4,z=5,m;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A:4B:3C:5D:2答案:D第51题(1.0分)题号:5417 难度:中第6章以下程序的运行结果是().main(){int i=1,sum=0;while(i<10) sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A:i=10,sum=9B:i=9,sum=9C:i=2,sum=1D:运行出现错误答案:D第52题(1.0分)题号:5344 难度:中第3章若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是().A:A%2==1B:!(A%2==0)C:!(A%2)D:A%2答案:C第53题(1.0分)题号:5558 难度:中第9章在定义构造数据类型时,不能().A:说明变量B:说明存储类型C:初始化D:末尾不写分号答案:D第54题(1.0分)题号:5241 难度:中第2章下面四个选项中,均是不合法的用户标识符的选项是().A:A P_0 doB:float la0 _AC:b-a goto intD:_123 temp int答案:C第55题(1.0分)题号:5627 难度:中第11章下列关于C语言数据文件的叙述中正确的是().A:文件由ASCII码字符序列组成,C语言只能读写文本文件B:文件由二进制数据序列组成,C语言只能读写二进制文件C:文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D:文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件答案:D第56题(1.0分)题号:5486 难度:中第7章以下程序段 char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]); 的输出结果是().A:AB:BC:DD:DEF答案:D第57题(1.0分)题号:5334 难度:中第3章经过以下语句定义后,表达式z+=x>y?++x:++y的值为().int x=1,y=2,z=3;A:2B:3C:6D:5答案:C第58题(1.0分)题号:5355 难度:中第3章以下运算符中,优先级最高的运算符是().A:=B:!=C:*(乘号)D:()答案:D第59题(1.0分)题号:5529 难度:中第8章函数的形式参数隐含的存储类型说明是().A:externB:staticC:registerD:auto答案:D第60题(1.0分)题号:5329 难度:中第3章C 语言中以下几种运算符的优先次序()的排列是正确的.A:由高到低为:!,&&,||,算术运算符,赋值运算符B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符C:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||D:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符答案:B第61题(1.0分)题号:5369 难度:中第4章若变量a与i已正确定义,且i已正确赋值,合法的语句是().A:a==1B:++i;C:a=a++=5;D:a=int(i);答案:B第62题(1.0分)题号:5485 难度:中第7章已定义两个字符数组a,b,则以下正确的输入格式是().A:scanf("%s%s", a, b);B:get(a, b);C:scanf("%s%s", &a, &b);D:gets("a"),gets("b");答案:A第63题(1.0分)题号:5575 难度:中第10章两个指针变量不可以().A:相加B:比较C:相减D:指向同一地址答案:A第64题(1.0分)题号:5310 难度:中第3章设 int x=1, y=1; 表达式(!x||y--)的值是().A:0B:1C:2D:-1答案:B第65题(1.0分)题号:5426 难度:中第6章有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是().A:p的值不等于12345并且n的值小于3B:p的值等于12345并且n的值大于等于3C:p的值不等于12345或者n的值小于3D:p的值等于12345或者n的值大于等于3答案:D第66题(1.0分)题号:5315 难度:中第3章设有 int x=11; 则表达式 (x++ * 1/3) 的值是().A:3B:4C:11D:12答案:A第67题(1.0分)题号:5647 难度:中第11章函数 rewind 的作用是().A:使位置指针重新返回文件的开头B:将位置指针指向文件中所要求的特定位置C:使位置指针指向文件的末尾D:使位置指针自动移至下一个字符位置答案:A第68题(1.0分)题号:5433 难度:中第6章以下for循环的执行次数是(). for(x=0,y=0;(y=123)&&(x<4);x++);A:是无限循环B:循环次数不定C:4次D:3次答案:C第69题(1.0分)题号:5624 难度:中第11章若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为().A:0B:1C:-1D:一个非0值答案:A第70题(1.0分)题号:5611 难度:中第10章下面选择中正确的赋值语句是().(设char a[5],*p=a;)A:p="abcd";B:a="abcd";C:*p="abcd";D:*a="abcd";答案:A第71题(1.0分)题号:5409 难度:较易第5章C语言中,switch后的括号内表达式的值可以是().A:只能为整型B:只能为整型,字符型,枚举型C:只能为整型和字符型D:任何类型答案:D第72题(1.0分)题号:5246 难度:中第2章以下叙述正确的是().A:可以把define和if定义为用户标识符B:可以把define定义为用户标识符,但不能把if定义为用户标识符C:可以把if定义为用户标识符,但不能把define定义为用户标识符D:define和if都不能定义为用户标识符答案:B第73题(1.0分)题号:5401 难度:中第5章int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为().A:1B:2C:3D:不一定答案:B第74题(1.0分)题号:5274 难度:中第2章下列变量定义中合法的是().A:short _a=1-.1e-1;B:double b=1+5e2.5;C:long do=0xfdaL;D:float 2_and=1-e-3;答案:A第75题(1.0分)题号:5312 难度:中第3章设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(). A:6.500000B:6C:5.500000D:6.000000答案:D第76题(1.0分)题号:5534 难度:中第8章以下叙述中正确的是().A:全局变量的作用域一定比局部变量的作用域范围大B:静态(static)类别变量的生存期贯穿于整个程序的运行期间C:函数的形参都属于全局变量D:未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B第77题(1.0分)题号:5314 难度:中第3章设以下变量均为int类型,则值不等于7的表达式是().A:(x=y=6,x+y,x+1)B:(x=y=6,x+y,y+1)C:(x=6,x+1,y=6,x+y)D:(y=6,y+1,x=y,x+1)答案:C第78题(1.0分)题号:5414 难度:中第6章while(fabs(t)<1e-5)if(!s/10)break;循环结束的条件是().A:t>=1e-5&&t<=-1e-5&&s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第79题(1.0分)题号:5360 难度:较易第3章设有说明:char c; int x; double z;则表达式c*x+z值的数据类型为(). A:floatB:intC:charD:double答案:D第80题(1.0分)题号:5516 难度:中第8章C语言中函数调用的方式有().A:函数调用作为语句一种B:函数调用作为函数表达式一种C:函数调用作为语句或函数表达式两种D:函数调用作为语句、函数表达式或函数参数三种答案:D第81题(1.0分)题号:5490 难度:中第8章C语言允许函数类型缺省定义,此时函数值隐含的类型是().A:floatB:intC:longD:double答案:B第82题(1.0分)题号:5234 难度:中第2章下列四个选项中,均是C语言关键字的选项是().A:auto enum includeB:switch typedef continueC:signed union scanfD:if struct type答案:B第83题(1.0分)题号:5431 难度:中第6章设j和k都是int类型,则下面的for循环语句().for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k);A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第84题(1.0分)题号:5639 难度:中第11章应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为().A:fclose()B:close()C:fread()D:fwrite答案:A第85题(1.0分)题号:5569 难度:中第10章设变量定义为"int x, *p=&x;",则&(*p)相当于().A:pB:*pC:xD:*(&x)答案:A第86题(1.0分)题号:5536 难度:中第8章在C语言中,函数的隐含存储类别是().A:autoB:staticC:externD:无存储类别答案:C第87题(1.0分)题号:5637 难度:中第11章以下可作为函数fopen中第一个参数的正确格式是().A:c:user\text.txtB:c:\user\text.txtC:"c:\user\text.txt"D:"c:\\user\\text.txt"答案:D第88题(1.0分)题号:5337 难度:中第3章若int a=2,则执行完表达式a-=a+=a*a后,a的值是().A:-8B:-4C:-2D:0答案:D第89题(1.0分)题号:5461 难度:中第7章若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(). A:2B:3C:4D:无确定值答案:B第90题(1.0分)题号:5650 难度:中第11章若调用fputc函数输出字符成功,则其返回值是().A:EOFB:1C:0D:输出的字符答案:D第91题(1.0分)题号:5539 难度:中第8章C程序中的宏展开是在().A:编译时进行的B:程序执行时进行的C:编译前预处理时进行的D:编辑时进行的答案:C第92题(1.0分)题号:5608 难度:中第10章设有以下语句, 若0<k<4,下列选项中对字符串的非法引用是().char str[4][2]={"aaa","bbb","ccc","ddd"},*strp[4];int j;for (j=0;j<4;j++)strp[j]=str[j];A:strpB:str[k]C:strp[k]D:*strp答案:A第93题(1.0分)题号:5367 难度:中第4章结构化程序由三种基本结构组成,三种基本结构组成的算法().A:可以完成任何复杂的任务B:只能完成部分复杂的任务C:只能完成符合结构化的任务D:只能完成一些简单的任务答案:A第94题(1.0分)题号:5322 难度:中第3章已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是().A:0B:语法错C:1D:"假"答案:C第95题(1.0分)题号:5573 难度:中第10章对于基本类型相同的两个指针变量之间,不能进行的运算是().A:<B:=C:+D:-答案:C第96题(1.0分)题号:5590 难度:较难第10章有定义:char*p1,*p2;则下列表达式中正确合理的是().A:p1/=5B:p1*=p2C:p1=&p2D:p1+=5答案:C第97题(1.0分)题号:5424 难度:中第6章以下描述中正确的是().A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号C:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作D:do-while 循环中,根据情况可以省略 while答案:C第98题(1.0分)题号:5596 难度:中第10章经过下列的语句 int j,a[10],*p;定义后,下列语句中合法的是().A:p=p+2;B:p=a[5];C:p=a[2]+2;D:p=&(j+2);答案:A第99题(1.0分)题号:5646 难度:中第11章函数 ftell(fp) 的作用是().A:得到流式文件中的当前位置B:移到流式文件的位置指针C:初始化流式文件的位置指针D:以上答案均正确答案:A第100题(1.0分)题号:5262 难度:中第2章以下数据中,不正确的数值或字符常量是().A:0B:5LC:o13D:9861答案:C第101题(1.0分)题号:5621 难度:中第11章C语言中的文件类型只有().A:索引文件和文本文件两种B:ASCII文件和二进制文件两种C:文本文件一种D:二进制文件一种答案:B第102题(1.0分)题号:5447 难度:中第7章假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是().A:3B:6C:10D:20答案:D第103题(1.0分)题号:5521 难度:较难第8章以下程序的输出结果是().void fun(int a, int b, int c){ a=456; b=567; c=678; }main(){ int x=10, y=20, z=30;fun(x, y, z);printf("%d,%d,%d\n", z, y, x);}A:30,20,10B:10,20,30C:456567678D:678567456答案:A第104题(1.0分)题号:5525 难度:中第8章执行下面程序后,输出结果是().main(){ a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);}int max(x,y)int x,y;{ int z;if(x>y) z=x;else z=y;return(z);}A:45B:27C:18D:72答案:A第105题(1.0分)题号:5509 难度:中第8章以下正确的说法是:在C语言中().A:实参和与其对应的形参各占用独立的存储单元B:实参和与其对应的形参共占用一个存储单元C:只有当实参和与其对应的形参同名时才共占用存储单元D:形参是虚拟的,不占用存储单元答案:A第106题(1.0分)题号:5555 难度:较易第9章定义共用体的关键字是().A:unionB:enumC:structD:typedef答案:A第107题(1.0分)题号:5306 难度:中第3章判断char型变量cl是否为小写字母的正确表达式是().A:'a'<=cl<='z'B:(cl>=a)&&(cl<=z)C:('a'>=cl)||('z'<=cl)D:(cl>='a')&&(cl<='z')答案:D第108题(1.0分)题号:5368 难度:中第4章用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是().long a=0xffffff;int b; char c;A:0ffffff 和0x61B:-1和98C:-1和97D:指向同一地址答案:C第109题(1.0分)题号:5430 难度:中第6章设j和k都是int类型,则for循环语句().for(j=0,k=-1;k=1;j++,k++) printf("****\n");A:循环结束的条件不合法B:是无限循环C:循环体一次也不执行D:循环体只执行一次答案:B第110题(1.0分)题号:5243 难度:中第2章以下标识符中,不能作为合法的C用户定义标识符的是().A:ForB:PrintfC:WORDD:sizeof答案:D第111题(1.0分)题号:5354 难度:中第3章以下运算符中,优先级最高的运算符是().A:||B:%C:!D:==答案:C第112题(1.0分)题号:5348 难度:中第3章下列程序段的输出结果为().int x=3,y=2;printf("%d",(x-=y,x*=y+8/5));A:1B:7C:3D:5答案:C第113题(1.0分)题号:5481 难度:中第7章若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串s1大于字符串s2时,输出s2的语句是().A:if(strcmp(s1,s1)>0)puts(s2);B:if(strcmp(s2,s1)>0)puts(s2);C:if(strcmp(s2,t)>0)puts(s2);D:if(strcmp(s1,t)>0)puts(s2);答案:D第114题(1.0分)题号:5517 难度:中第8章当调用函数时,实参是一个数组名,则向函数传送的是().A:数组的长度B:数组的首地址C:数组每一个元素的地址D:数组每个元素中的值答案:B第115题(1.0分)题号:5542 难度:中第8章以下描述中,正确的是().A:预处理是指完成宏替换和文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源程序中凡是行首以#标识的控制行都是预处理指令D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备答案:C第116题(1.0分)题号:5467 难度:中第7章以下不能对二维数组a进行正确初始化的语句是().A:int a[2][3]={0};B:int a[][3]={{1,2},{0}};C:int a[2][3]={{1,2},{3,4},{5,6}};D:int a[][3]={1,2,3,4,5,6};答案:C第117题(1.0分)题号:5236 难度:中第2章下列选项中,合法的C语言关键字是().A:VARB:cherC:integerD:default答案:D第118题(1.0分)题号:5372 难度:中第4章若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}执行后的输出结果是().A:8,6B:8,3C:6,4D:7,4答案:C第119题(1.0分)题号:5302 难度:中第3章表达式,0x13&0x17的值是().A:0x17B:0x13C:0xf8D:0xec答案:B第120题(1.0分)题号:5616 难度:中第10章若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为().A:scanf("%d",p);B:scanf("%d",&p);C:scanf("%d",*p);D:scanf("%d",**p);答案:A第121题(1.0分)题号:5457 难度:中第7章若有说明 int a[3][4];则a数组元素的非法引用是().A:a[0][2*1]B:a[1][3]C:a[4-2][0]D:a[0][4]答案:D第122题(1.0分)题号:5476 难度:中第7章char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是(). A:strcat(a2,a1);B:strcpy(a2,a1);C:strcat(a1,a2);D:strcpy(a1,a2);答案:A第123题(1.0分)题号:5210 难度:中第1章C语言源程序的基本单位是().A:过程B:函数C:子程序D:标识符答案:B第124题(1.0分)题号:5453 难度:中第7章以下对一维整型数组a的正确说明是().A:int a(10);B:int n=10,a[n];C:int n; scanf("%d",&n); int a[n];D:#define SIZE 10 (换行) int a[SIZE];第125题(1.0分)题号:5493 难度:中第8章对于void类型函数,调用时不可作为().A:自定义函数体中的语句B:循环体里的语句C:if语句的成分语句D:表达式答案:D第126题(1.0分)题号:5614 难度:较易第10章字符串指针变量中存入的是().A:字符串B:字符串的首地址C:第一个字符D:字符串变量答案:B第127题(1.0分)题号:5585 难度:中第10章若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是(). A:a,point,*&aB:&*a,&a,*pointC:*&point,*point,&aD:&a,&*point,point答案:D第128题(1.0分)题号:5435 难度:中第6章执行语句 for(i=1;i++<4;); 后变量 i 的值是().A:3B:4C:5D:不定答案:C第129题(1.0分)题号:5551 难度:较易第9章定义结构体的关键字是().B:enumC:structD:typedef答案:C第130题(1.0分)题号:5321 难度:中第3章下列运算符中是C语言关系运算符的是().A:~B:!C:&D:!=答案:D第131题(1.0分)题号:5325 难度:中第3章以下选项中,与k=n++完全等价的表达式是().A:k=n,n=n+1B:n=n+1,k=nC:k=++nD:k+=n+1答案:A第132题(1.0分)题号:5559 难度:中第9章enum a {sum=9,mon=-1,tue};定义了().A:枚举变量B:3个标识符C:枚举数据类型D:整数9和-1答案:C第133题(1.0分)题号:5635 难度:中第11章若以"a+"方式打开一个已存在的文件,则以下叙述正确的是().A:文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作B:文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作C:文件打开时,原有文件内容被删除,只可作写操作D:以上各种说法皆不正确答案:A第134题(1.0分)题号:5285 难度:中第2章若int类型数据占两个字节,则下列语句的输出为().int k=-1; printf("%d,%u\n",k,k);A:-1,-1B:-1,32767C:-1,32768D:-1,65535答案:D第135题(1.0分)题号:5531 难度:中第8章下列说法不正确的是().A:主函数main中定义的变量在整个文件或程序中有效B:不同函数中,可以使用相同名字的变量C:形式参数是局部变量D:在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效答案:A第136题(1.0分)题号:5253 难度:中第2章设C语言中,int类型数据占2个字节,则short类型数据占().A:1个字节B:2个字节C:4个字节D:8个字节答案:B第137题(1.0分)题号:5522 难度:中第8章以下程序的输出结果为().main(){int a=1,b=2,c=3,d=4,e=5;printf("%d\n",func((a+b,b+c,c+a),(d+e)));}int func(int x,int y){return(x+y);}A:15B:13C:9D:函数调用出错答案:B第138题(1.0分)题号:5279 难度:中第2章double x;scanf("%lf",&x);不可以赋值给x变量的常量是().A:123B:100000C:A'D:"abc"答案:D第139题(1.0分)题号:5437 难度:中第6章C语言中while和do—while循环的主要区别是().A:While的循环控制条件比do—while的循环控制条件严格B:do—while的循环体至少无条件执行一次C:do—while允许从外部转到循环体内D:do—while循环体不能是复合语句答案:B第140题(1.0分)题号:5214 难度:中第1章一个C语言程序是由().A:一个主程序和若干子程序组成B:函数组成C:若干过程组成D:若干子程序组成答案:B以下程序段中,能够正确地执行循环的是().A:for(i=1;i>10;i++)B:static int a;while(a)C:int s=6;do s-=2;while(s);D:int s=6;m:if(s<100)exit(0);else s-=2;goto m:答案:C第142题(1.0分)题号:5537 难度:中第8章在C语言中,形参的缺省存储类是().A:autoB:registerC:staticD:extern答案:A第143题(1.0分)题号:5478 难度:难第7章对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是().A:aa数组元素的值分别是"abcd"和"ABCD"B:aa是指针变量,它指向含有两个数组元素的字符型一维数组C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D:aa数组的两个元素中各自存放了字符'a'和'A'的地址答案:D利用 fseek 函数可以实现的操作是().A:改变文件的位置指针B:文件的顺序读写C:文件的随机读写D:以上答案均正确答案:D第145题(1.0分)题号:5494 难度:中第8章关于return语句,下列正确的说法是().A:不能在主函数中出现且在其他函数中均可出现B:必须在每个函数中出现C:可以在同一个函数中出现多次D:只能在除主函数之外的函数中出现一次答案:C第146题(1.0分)题号:5247 难度:中第2章以下叙述中错误的是().A:用户所定义的标识符允许使用关键字B:用户所定义的标识符应尽量做到"见名知意"C:用户所定义的标识符必须以字母或下划线开头D:用户定义的标识符中,大、小写字母代表不同标识答案:A第147题(1.0分)题号:5553 难度:中第9章结构体类型的定义允许嵌套是指().A:成员是已经或正在定义的结构体型B:成员可以重名C:结构体型可以派生D:定义多个结构体型答案:A第148题(1.0分)题号:5652 难度:中第11章以下read函数的调用形式中,参数类型正确的是().A:read(int fd,char *buf,int count)B:read(int *buf,int fd,int count)。