1、若二维数组a有m列,则在a[i][j]前的元素个数为()。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
本题答案:
B
2、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()。(假设a[0][0]位于数组的第一个位置上。)
A.i*m+j
B.j*m+i
C.i*m+j-1
D.i*m+j+1
本题答案:
D
3、若有以下说明,并且0≤i<10,则()是对数组元素的错误引用。int a[]=1,2,3,4, 5,6,7,8,9,10,*p=a,I
A.*(a+i)
B.a[p-a+i]
C.p+i
D.*(&a[i])
本题答案:
C
4、当定义一个结构体变量时系统分配给它的内存是()。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
本题答案:
D
5、以下程序的输出结果是()。main() {int a=0,b=1,c=0,d=20; if(a) d=d-10; else if(!b) if(!c) d=15; else d=25; printf(“d=%d\n”,d);}
A.d=10
B.d=15
C.d=20
D.d=25
本题答案:
C
6、以下能对二维数组a进行正确初始化的语句是()。
A.int a[2][]={{1,0,1},{5,2,3}}
B.int a[][3]={{1,2,3},{4,5,6}}
C.int a[2][4]={{1,2,3},{4,5},{6}}
D.int a[][3]={{1,0,1},{},{1,1}}
本题答案:
B
7、一个C语言程序总是从()。
A.主过程开始执行
B.主函数开始执行
C.子程序开始执行
D.主程序开始执行
本题答案:
B
8、已知ch是字符型变量,则不正确的赋值语句是()。
A.ch=5+9
B.ch=‘\0’
C.ch=‘7’+‘9’
D.ch=‘a+b’
本题答案:
D
9、若a为int类型变量,则执行以下程序段后a的值为()。a=5; a*=a/=a++
A.2
B.1
C.40
D.3
本题答案:
A
10、判断字符串a和b是否相等,应当使用()。
A.if(a==b)
B.if(a=b)
C.if(strcpy(a,b))
D.if(strcmp(a,b))
本题答案:
D
11、若执行fopen函数时发生错误,则函数的返回值是()。
A.随机值
B.1
C.NULL
D.EOF
本题答案:
C
12、若有定义:int x[10],*p=x;,则*(p+5)表示()。
A.数组元素x[5]的地址
B.数组元素x[5]的值
C.数组元素x[6]的地址
D.数组元素x[6]的值
本题答案:
B
13、下面程序的运行结果是()。main() {struct cmplx {int x; int y;} cm[2]={1,2,3,4}; printf(“%dn”, 2*cm[0].x+cm[1].y/cm[0].y);}
A.5
B.2
C.3
D.4
本题答案:
D
14、定义如下变量和数组:int k; int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是()。for(k=0; k<3; k++) printf(“%d”,a[k][2-k])
A.3 5 7
B.3 6 9
C.1 5 9
D.1 4 7
本题答案:
A
15、设有定义:int a=1,*p=&a; float b=2.0; char c=‘A’; ,以下不合法的运算是()。
A.p++
B.a--
C.b++
D.c--
本题答案:
A
16、在C语言中,一维数组的定义方式为:类型说明符数组名()。
A.常量表达式
B.整型表达式
C.整型常量或整型表达式
D.整型常量
本题答案:
A
17、判断char型变量c1是否为大写字母的正确表达式是()。
A.‘A’<=c1<=‘Z’
B.(c1>=‘A’)&(c1<=‘Z’)
C.(c1>=‘A’)&&(c1<=‘Z’)
D.(‘A’=c1)
本题答案:
C
18、以下程序执行后a的值为()。main() {int a,m=2,k=1,*p=&k; a=p!=&m; printf(“%d\n”,a);}
A.-1
B.1
C.2
本题答案:
C
19、下程序()。main() {int x1=3,x2=0,x3=0; if (x1=x2+x3) printf(“***”); else printf(“####”);}
A.输出:***
B.输出:###
C.#存在语法错误
D.无输出结果
本题答案:
B
20、以下对指针变量的操作中,不正确的是()。
A.int p,*q; q=&p
B.int *p,*q; q=p=NULL
C.int a=5,*p; *p=a
D.int a=5,*p=&a,*q=&a; *p=*q
本题答案:
D
21、若执行fopen函数时发生错误,则函数的返回值是()。
A.随机值
B.1
C.NULL
D.EOF
本题答案:
C
22、若执行下述程序时从键盘输入3 4,则输出结果是()。#include main() {int a,b,s; scanf(“%d%d”,&a,&b); s=a; if (a
A.186
B.256
C.324
D.400
本题答案:
B
23、设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是()。for (y=100; x!=y; ++x,y++) printf(“***\n”)
A.循环体只执行一次
B.是无限循环
C.循环体一次都不执行
D.for语句中存在语法错误
本题答案:
C
24、执行下面程序段后,x的值是()。int x; printf(“%d\n”,(x=3*5,x+5))
A.10
B.15
C.20
D.5
本题答案:
B
25、若调用fputc函数输出字符成功,则函数的返回值是()。
A.输出的字符
B.-1
C.EOF
本题答案:
A