1、有以下程序:main() {int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2; printf(“%d\n”,*p+*q);} 程序运行后的输出结果是()。
A.16
B.10
C.8
D.6
本题答案:
B
2、fseek(fd,-10L,1)中的fd和1分别为()。
A.文件指针,文件的开头
B.文件指针,文件的当前位置
C.文件号,文件的当前位置
D.文件号,文件的开头
本题答案:
B
3、若有下面的变量定义,int i,a[10],*p; 以下语句中合法的是()。
A.p=a+2
B.p=a[5]
C.p=a[2]+2
D.p=&(i+2)
本题答案:
A
4、设有如下定义: char *aa[2]={“abcd”,“ABCD”}; 则以下说法中正确的是()。
A.aa数组成元素的值分别是“abcd”和“ABCD”
B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
D.aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
本题答案:
D
5、表达式0x13&0x17的值是()。
A.0x17
B.0x13
C.0xf8
D.0xec
本题答案:
B
6、以下程序运行后,int func(char *str) {int num=0; while(*(str+num)!=‘\0’) num++; return(num);} main() {char str[10],*p=str; gets(p); printf(“%d\n”,func(p));} 如果从键盘上输入ABCDE<回车>,则输出结果为()。
A.8
B.7
C.6
D.5
本题答案:
D
7、C语言要建立一个二进制文件应选择的打开方式是()。
A.“r”
B.“w”
C.“rb”
D.“wb”
本题答案:
D
8、以下程序: #define ADD(x) x*x main() {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d);} 的输出结果为()。
A.d=70
B.d=80
C.d=140
D.d=700
本题答案:
A
9、设整型变量a为5,使b不为2的表达式是()。
A.b=a/2
B.b=6-(--a)
C.b=a%2
D.b=a>3?2:1
本题答案:
C
10、以下程序段:char str[15]=“hello!”; printf(“%d\n”,strlen(str)); 的输出结果是()。
A.15
B.14
C.7
D.6
本题答案:
D
11、下列函数中不能用于对文件进行输入输出操作的是()。
A.fscanf()
B.printf()
C.fgetc()
D.fputs()
本题答案:
B
12、下面选项中正确的赋值语句是(设 char a[5],*p=a;) ()。
A.p=“abcd”
B.a=“abcd”
C.*p=“abcd”
D.*a=“abcd”
本题答案:
A
13、若有以下调用语句,main() {...int a[50],n; ...fun(n,&a[9]);} 则不正确的fun函数的首部是()。
A.void fun(int m,int x[])
B.void fun(int s,int h[41])
C.void fun(int p,int *s)
D.void fun(int n,int a)
本题答案:
C
14、在C语言中,字符型数据在内存中是以什么形式存放的?()
A.原码
B.BCD码
C.反码
D.ASCII码
本题答案:
D
15、以下叙述中不正确的是()。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
本题答案:
D
16、在C程序中有如下语句:char *func(int x,int y); 它是()。
A.对函数func的定义
B.对函数func的调用
C.对函数func的原型说明
D.不合法的
本题答案:
C
17、若有说明: int i,j=7,*p=&i;,则与i=j; 等价的语句是()。
A.i=*p
B.*p=j
C.i=&j
D.i=**p
本题答案:
B
18、有以下程序:main() {char a1=‘M’,a2=‘m’; printf(“%c\n”,(a1,a2));} 以下叙述中正确的是()。
A.程序输出大写字母M
B.程序输出小写字母m
C.格式说明符不足,编译出错
D.程序运行时产生出错信息
本题答案:
B
19、有以下程序:fun(int a,int b) {if(a>b) return(a); else return(b);} main() {int x=3,y=8, z=6,r; r=fun (fun(x,y),2*z); printf(“%d\n”,r);} 程序运行后的输出结果是()。
A.3
B.6
C.8
D.12
本题答案:
D
20、有以下程序:main() {char a1=‘M’,a2=‘m’; printf(“%c\n”,(a1,a2) );} 以下叙述中正确的是()。
A.程序输出大写字母M
B.程序输出小写字母m
C.格式说明符不足,编译出错
D.程序运行时产生出错信息
本题答案:
B
21、循环可以并列,但不可以嵌套。()
A.错误
B.正确
本题答案:
A
22、程序段if(u>s) t=u; t=s; 的功能是将u,s中的最大值赋给变量t。()
A.错误
B.正确
本题答案:
A
23、a==b; 的功能是将b的值赋给a。()
A.错误
B.正确
本题答案:
A
24、‘ab’是合法的字符型常量。()
A.错误
B.正确
本题答案:
A
25、C程序是以源程序文件为单位进行编译的。()
A.错误
B.正确
本题答案:
B
26、从循环体中退出只能使用goto语句。()
A.错误
B.正确
27、如果一个函数不需要参数,则函数名后的括号可以省略。()
A.错误
B.正确
28、若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。()
A.错误
B.正确
29、019是一个合法的整型常量。()
A.错误
B.正确
30、二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放一行的元素,再存放二行的元素。()
A.错误
B.正确
31、允许定义无名结构,但是它只能在定义结构类型时定义一次结构变量。()
A.错误
B.正确
32、通过return语句,函数可以带回一个或一个以上的返回值。()
A.错误
B.正确
33、若有形参定义:int a[10]; 则a++是合法的表达式。()
A.错误
B.正确
34、假设有int A[10],*p; 则p=&a[0]与p=a等价。()
A.错误
B.正确
35、getchar()函数的功能是从键盘上输入一个字符串。()
A.错误
B.正确
36、strlen是求字符串长度的函数。()
A.错误
B.正确
37、当C的值不为0时,(A=C)&&(B=C)能正确地将C的值赋给变量A,B。()
A.错误
B.正确
38、break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。()
A.错误
B.正确
39、定义在main函数后的任何函数都需在main中进行函数声明。()
A.错误
B.正确
40、一个C程序可以包含多个函数,但只能有一个main()函数。()
A.错误
B.正确