y:
z的结果是()。
A.4
B.3
C.2
D.0
E.1
答案:
B
2.C语言的编译系统对宏命令的处理是________。
A.在程序连接时进行的
B.在对源程序中的其它语句编译之前进行的
C.在程序运行时进行的
D.和C程序中的其它语句同时进行的
答案:
B
3.以下叙述不正确的是________。
A.一个C源程序文件必须包含一个main()函数
B.一个C源程序文件可由一个函数组成
C.一个C源程序文件是一个编译单位
D.一个C源程序文件可由多个函数组成
答案:
A
4.以下能对一维数组a进行初始化的语句是:
()。
A.inta[5]=(0,1,2,3,4,)
B.inta(5)={}
C.inta[3]={0,1,2}
D.inta{5}={10*1}
答案:
C
5.若用数组名作为函数调用时的参数,则实际上传递给形参的是________。
A.数组元素的个数
B.数组的第一个元素值
C.数组中全部元素的植
D.数组首地址
答案:
D
6.在C语言中,正确的int类型的常数是________。
A.-2U
B.059
C.3a
D.0xAF
答案:
D
7.以下对一维数组a的正确说明是:
A.chara(10);
B.inta[];
C.intk=5,a[k];
D.chara[3]={‘a’,’b’,’c’};
答案:
D
8.C语言中规定,if语句的嵌套结构中,else总是与________配对。
A.与最近的if配套
B.与第一个if配套
C.按缩进位置相同的if配套
D.与最近的且尚未配对的if配套
答案:
D
9.以下有关switch语句的正确说法是________。
A.break语句是语句中必须的一部分
B.在switch语句中可以根据需要使用或不使用break语句
C.break语句在switch语句中不可以使用
D.在switch语句中的每一个case都要用break语句
答案:
B
10.若“intn;floatf=13.8;”,则执行“n=(int)f%3”后,n的值是()。
A.1
B.4
C.4.333333
D.4.6
答案:
A
11.任何复杂的程序,都是由________构成的。
A.分支结构、顺序结构、过程结构
B.循环结构、分支结构、过程结构
C.顺序结构、循环结构、分支结构
D.循环结构、分支结构
答案:
C
12.下列表达式没有错误的是________。
intx,*p;
A.5.0%2
B.x+1=5
C.&p
D.&(x+1)
答案:
C
13.若有定义charx[]="12345";chary[]={'1','2','3','4','5'};则。
A.x数组与y数组的长度相同
B.x数组长度大于y的长度
C.x数组长度小于y数组长度
D.x数组等价与y数组
答案:
B
14.下列为字符常量的是________。
A.HE
B."I"
C.'Z'
D.She
答案:
C
15.组成C程序的基本单位是________。
A.表达式与语句
B.若干文件
C.函数
D.main函数
答案:
C
16.若有定义:
intb[5];则以下对b数组元素的正确引用是________。
A.*&b[5]
B.b+2
C.*(*(b+2))
D.*(b+2)
答案:
D
17.已知:
inta[10];则对a数组元素的正确引用是()。
A.a[10]
B.a[3.5]
C.a(5)
D.a[0]
答案:
D
18.下列变量定义正确的是________。
A.intx_1;y;
B.intx=y=5;
C.intfor=4;
D.intprintf=2,x_y=2;
答案:
D
19.以下函数原型说明正确的是________。
A.floatadd(intx,inty);
B.intadd(intx;inty);
C.charadd(x,y);
D.intadd(charx[][]);
答案:
A
20.若有以下定义:
floatx;inta,b;则错误的switch语句是________。
A.switch(x){case1.0:
printf("*\n");case2.0:
printf("*\n");}
B.switch(a){case1:
printf("*\n");case2:
printf("*\n");}
C.switch(a+b){case1:
printf("*\n");case1+2:
printf("*\n");}
D.switch(a+b);{case1:
printf("*\n");case2:
printf("*\n");}
答案:
A
21.设有intx,y;以下语句判断x和y是否相等,正确的说法是该语句________if(x=y)printf("xisequaltoy.");
A.语法错
B.不能判断x和y是否相等
C.编译出错
D.能判断x和y是否相等
答案:
B
22.C语言中,关系表达式和逻辑表达式的值是()。
A.0
B.0或1
C.1
D.‘T’或’F’
答案:
B
23.下列对字符串的定义中,错误的是_____。
A.charstr[5]="abcde"
B.charstr[]="abcde"
C.char*str="abcde"
D.charstr[]={'a','b','c','d','e','\0'}
答案:
A
24.语句if(!
i)i++;中的条件表达式!
i等价于________。
A.i==0
B.i!
=1
C.i!
=0
D.-i
答案:
A
25.在C语言中对一维整型数组的正确定义为()。
A.inta(10);
B.intn=10,a[n];
C.intn;a[n];
D.#defineN10inta[N];
答案:
D
26.若变量c为char类型,能正确判断c为小写字母的表达式是________。
A.'a'<=c<='z'
B.(c>='a')||(c<='z')
C.('a'<=c)and('z'>=c)
D.(c>='a')&&(c<='z')
答案:
D
27.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )。
A.b=1.0/a
B.b=(float)(1/a)
C.b=1/(float)a
D.b=1/(a*1.0)
答案:
B
28.凡是在函数中未指定存储类别的局部变量,其隐含的存储类别是________。
A.静态(static)
B.外部(extern)
C.自动(auto)
D.寄存器(register)
答案:
C
29.设有定义语句“chars[]=”123”;”,则表达式“s[3]”的值是________。
A.’1’
B.’3’
C.’\0’
D.语法出错
答案:
C
30.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是________。
A.long型
B.float型
C.double型
D.int型
答案:
D
31.如果inta=3,b=4;则条件表达式"a
a:
b"的值是()。
A.3
B.4
C.0
D.1
答案:
A
32.有程序段如下,不能表示为地址的是________。
intx=2,*p;p=&x;x=x+1;
A.&x
B.p
C.&p
D.&(x+1)
答案:
D
33.简单变量做实参时,实参与其对应的形参之间的数据传递方式是________。
A.双向值传递方式
B.地址传递方式
C.单向值传递方式
D.用户指定传递方式
答案:
C
34.程序运行中需要从键盘输入多于一个数据时,各数据之间默认使用()符号作为分隔符。
A.空格或逗号
B.逗号后回车
C.逗号或分号
D.空格或回车
答案:
D
35.当处理一个问题时的循环次数已知时,最好采用()语句来解决。
A.for
B.whil
C.do-while
D.switch
答案:
A
36.假定一个二维数组的定义语句为"inta[3][4]={{3,4},{2,8,6}};",则元素a[1][1]的值为()。
A.2
B.4
C.6
D.8
答案:
D
37.在下列选项中,不正确的函数原型格式为()。
A.intFunction(inta);
B.voidFunction(char);
C.intFunction(a*b);
D.voidint(double*a);
答案:
C
38.假定指针变量p定义为"int*p=malloc(sizeof(int));",要释放p所指向的动态存储空间,应调用的函数为()。
A.free(p)
B.delete(p
C.free(*p)
D.free(&p)
答案:
A
39.由C语言源程序文件编译而成的目标文件的默认扩展名为()。
A.cpp
B.c
C.exe
D.obj
答案:
D
40.枚举类型中的每个枚举常量值都是一个()。
A.整数
B.浮点数
C.字符
D.记录
答案:
A
41.循环语句"for(i=0;i<=n;i++)S;"中循环体S被执行的次数为()。
A.1
B.n-
C.n
D.n+1
答案:
D
42.假定有语句"intb[10],*pb;",则不正确的赋值为()。
A.pb=b
B.pb=b[5]
C.pb=b+2
D.pb=&b[0]
答案:
B
43.标准输入设备的文件流标识符是()。
A.stderr
B.stdin
C.stdout
D.stdio
答案:
B
44.由C语言目标文件连接而成的可执行文件的默认扩展名为()。
A.cpp
B.exe
C.obj
D.c
答案:
B
45.带有随机函数调用的表达式rand()%20的值在()区间内。
A.1-19
B.1-20
C.0-19
D.0-20
答案:
C
46.在for循环语句"for(i=0;iA.n
B.n+1
C.n-1
D.n-2
答案:
A
47.下列的字符数组定义中,存在语法错误的是()。
A.chara[20]="abcdefg"
B.chara[]="x+y=55";
C.chara[15]={'1','2'};
D.chara[10]='5';
答案:
D
48.若有一个函数原型语句为"double*function();",则此函数的返回值类型为()。
A.实数型
B.实数指针型
C.函数指针型
D.数组型
答案:
B
49.在C语言中,所有预处理命令都是以()符号开头的。
A.*
B.#
C.&
D.@
答案:
B
50.表示文件结束符的符号常量为()。
A.eof
B.Eof
C.EOF
D.feof
答案:
C
51.逻辑表达式(x
A.x<=0||y!
=5
B.x<=0&&y!
=5
C.x>0||y!
=5
D.x>0&&