(31) 以下定義語句中,錯誤的是
A) int a[]={1,2}; B) char *a[3];
C) char s[10]=”test”; D) int n=5,a[n];
(32) 以下選項中,不能正確賦值的是
A) char s1[10];s1=“Ctest”;
B) char s2[]={‘C’, ‘t’, ‘e’, ‘s’, ‘t’};
C) char s3[20]=“Ctest”;
D) char *s4=“Ctest\n”
(33) 以下程序的輸出結(jié)果是
A) ABCD B) ABCD C) EFG D) EFGH
FGH EFG JK IJKL
KL IJ O
M
main()
{ char w[][10]={ “ABCD”,”EFGH”,”IJKL”,”MNOP”},k;
for(k=1;k<3;k++) printf(“%s\n”,w[k]);
}
(34) 當(dāng)執(zhí)行下面的程序時,如果輸入ABC,則輸出結(jié)果是
A) ABC6789 B) ABC67 C) 12345ABC6 D) ABC456789
#include “stdio.h”
#include “string.h”
main()
{ char ss[10]=“1,2,3,4,5”;
gets(ss); strcat(ss, “6789”); printf(“%s\n”,ss);
}
(35) 有如下程序
main()
{ char s[]=”ABCD”, *P;
for(p=s+l; p<s+4; p++) printf (“%s\n”,p);
}
該程序的輸出結(jié)果是
A) ABCD B) A C) B D) BCD
BCD B C CD
CD C D D
D D
(36) 有如下程序
main()
{ char ch[2][5]={“6937”,”8254”},*p[2];
int i,j,s=0;
for(i=0;i<2;i++) p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=10*s+p[i][j]-‘0’;
printf(“%d\n”,s);
}
該程序的輸出結(jié)果是
A) 69825 B) 63825 C) 6385 D) 693825
(37) 設(shè)有數(shù)組定義: char array [ ]="China"; 則數(shù)組 array所占的空間為
A) 4個字節(jié) B) 5個字節(jié) C) 6個字節(jié) D) 7個字節(jié)
(38) 設(shè)已有定義: char *st="how are you"; 下列程序段中正確的是
A) char a[11], *p; strcpy(p=a+1,&st[4]);
B) char a[11]; strcpy(++a, st);
C) char a[11]; strcpy(a, st);
D) char a[], *p; strcpy(p=&a[1],st+2);
(39) 下列程序執(zhí)行后的輸出結(jié)果是
A) you&ne B) you C) me D) err
mai()
{ char arr[2][4];
strcpy(arr,"you"); strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s \n",arr);
}
(40) 執(zhí)行下列程序時輸入:123<空格>456<空格>789<回車>,輸出結(jié)果是
A) 123,456,789 B) 1,456,789
C) 1,23,456,789 D) 1,23,456
main()
{ char s[100]; int c, i;
scanf("%c",&c); scanf("%d",&i); scanf("%s",s);
printf("%c,%d,%s \n",c,i,s);
}