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
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 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
{ 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