11计算机二级考试C语言选择题 下载本文

A.int a[2][]={1,2,3,4,5}; B.int a[][2]={{0},{1}}; C.int a[2][2]={{1,2},{3}}; D.int a[][2]={1,2,3,4};

51109若定义int a[][4]={1,2,3,4,5,6,7,8};则表达式sizeof(a[0][1])的值为( B )。 A.1 B.2 C.3 D.4

51110以下程序段运行后s的值是( C )。 int a[3][3]={1,2,3,4,5,1,2,3,4}; int i,j,s=1; for(i=0;i<3;i++) for(j=i+1;j<3;j++) s+=a[i][j]; A.6 B.120 C.7 D.240

51111设已定义: int a[][4]={0,0,0}; 则下列描述正确的是( C )。 A.数组a包含3个元素 B.数组a的第一维大小为3 C.数组a的行数为1 D.元素a[0][3]的初值不为0

51112在C语言中,若定义二维数组a[2][3],设a[0][0]在数组中位置为1,则a[1][1]在数组中位置是( C )。 A.3 B.4 C.5 D.6

51200设有下列语句,则( D )是对a数组元素的不正确引用,其中0≤i<10。 int a[10]={0,1,2,3,4,5,6,7,8,9}, *p=a; A.a[p-a] B.*(&a[i]) C.p[i] D.*(*(a+i))

51201设已定义: char s1[8],s2[8]=\能将字符串\赋给数组s1的语句是(C)。

A.s1=s2; B.strcpy(s2,s1); C.strcpy(s1,s2); D.s1=\51202 以下程序段的运行结果是( A )。

char str[3][2]={ 'a', 'b', 'c', 'd', 'e', 'f'}; str[2][0]= '\\0'; printf(\

A.abcd B.ab C.abcd0 D.abcd0f

51203有如下定义:char str[10]={ \则分配给数组str的存储空间是(B)个字节。 A.11 B.10 C.9 D.8

51204以下程序段运行后输出结果是( C )。 char a[]=\char b[]=\strcpy(a,b); printf(\ A.n B.u C.e D.m

51205 以下程序段运行后输出结果是( A )。 char s[]=\printf(\ A.4 B.5 C.8 D.9

51206以下程序段运行后a的值为( D )。 int a=2;

char s1=\a=strcmp(s1,s2);

13

A.-1 B.2 C.1 D.0

51207以下对C语言字符数组描述中,错误的是( B )。 A.可以用strlen函数计算字符数组中字符串的长度

B.可以在赋值语句中通过赋值运算符\对字符数组整体赋值 C.存放在字符数组中的字符串,以'\\0'作为该字符串结束标志 D.字符数组可以存放字符串或字符

51208以下程序段运行后,屏幕的输出结果是( B )。 char str[80];

strcpy(str,\printf(\ A.7 B.8 C.9 D.80

51209若有定义:char str1[6]=\( C )是错误的。 A.strcpy(str2,str1); B.表达式strcmp(str1,str2)的值小于0 C.str1=str2; D.表达式strlen(str1)的值为5

51210 已有定义 char str1[15]={\则语句用法正确的是( C )。 A.str2=str1; B.str2=\

51211 设已定义: char str1[20]=\若要形成字符串\world!\正确语句是( B )。

A.strcpy(str1,str2); B.strcat(str1,str2);C.strcpy(str2,str1); D.strcat(str2,str1); 51212 若有字符数组a[80]和b[80],则以下输入语句正确的是( C )

A.gets(a,b) B.scanf(\51300 设有下列语句: char str1[]=\则( A )是对库函数strcpy的不正确调用。此函数用来复制字符串。 A.strcpy(str3,\C.strcpy(str1,\51301用数组名作为函数的实参时,错误的说法是( A )。

A.定义形参数组时,元素的个数必须与实参相同 B.可以使用数组名作为形参 C.实参传递给形参的值是数组的首地址 D.可以使用指针变量作为形参 51302 以下程序的运行结果是( D )。 int fun(int a[4][4]) { int i;

for(i=0;i<4;i++)

printf(\printf(\main()

{ int a[4][4]={1,1,2,2,1,9,0,0,2,4,0,0,0,5,9,8}; fun(a);}

A.1 9 0 5 B.2 0 0 0 C.2 0 0 8 D.2 0 0 9

51303 自定义函数中若缺省函数值类型,则隐含的类型是( A )。 A.int B.long C.float D.double 51304以下程序运行后输出结果是( C )。

#include int fun(int a, int b) {

return(a-b); }

14

main() { int x=5,y=3,k; k=fun(x,y);

printf(\}

A.0 B.x-y=2 C.5-3=2 D.2

51305以下程序运行后输出结果是( D )。 #include int a=2,b=3,c=5; int fun(int a, int b) {

int c;

c=a>b?a:b;

return(c); }

main() { int a=6;

printf(\}A.5 B.3,5 C.6,5 D.6

51306以下程序运行后输出结果是( C )。 void fun(int i) { int m=2; m=i++;

printf(\main()

{ int m=7,n=5; fun(n);

printf(\

A.5 5 B.6 6 C.5 7 D.6 7 51307若有函数定义: int func() {static int m=0;

return m++; }

以下程序段运行后屏幕输出为( C )。 int i;

for(i=1;i<=4;i++) func();

printf(\ A.0 B.1 C.4 D.5

51308 下面程序的输出结果是( B )。 #include int num=10; func() {int num=4; return ++num; } void main()

{ printf(\

15

A.4 B.5 C.10 D.11

51309 下列关于C语言函数的描述中,错误的是( A )。 A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.凡不加类型说明的函数,其返回值默认为整型 C.函数的返回值可以通过函数中的return语句获得 D.可以定义有参函数,也可以定义无参函数 51310以下程序的运行结果是( B )。 func(int a,int b) {int c;

c=(a>b)?(a-b):(a+b); return(c); } main() { int x=7,y=3;

printf(\ A.3 B.4 C.7 D.10

51311以下程序运行结果是( B )。 void main( )

{int max(float a,float b); float x,y; int z;

x=-4.6; y=-3.7; z=max(x,y); printf(\

int max(float a,float b) { float c; if(a>b) c=a;

else c=b; return (c); } A.-3.7 B.-3 C.-4.6 D.-4

51312下面函数调用语句含有实参的个数为( A )。

temp((a,b,c),(x,y)) A.2 B.3 C.4 D.5

51400以下程序的运行结果是( C )。 fun3(int x) { static int a=3; a+=x; return a;} main()

{ int k=2,m=1,n; n=fun3(k); n=fun3(m); printf(\ A.3 B.4 C.6 D.9

51401以下程序运行后输出结果是( D )。

16