第7章数组
17.
以下能正确定义二维数组的是____。
A、int a[][3];
B、int a[][3]={2*3};
C、int a[][3]={};
D、int a[2][3]={{1},{2},{3,4}};
答案:B
难易程度:初级
章节:7.3.2 二维数组的定义
21.
s1和s2已正确定义并分别指向两个字符串。若要求:当s1 所指串大于 s2所指串时,执行语句S;
则以下选项中正确的是____。
A、if(s1>s2)S;
B、if(strcmp(s1,s2))S);
C、if(strcmp(s2,s1)>0)S;
D、if(strcmp(s1,s2)>0)S;
答案:D
难易程度:初级
章节:7.4 字符数组
60.
有以下程序
main( )
{ char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是____。
A、7 7
B、8 8
C、8 10
D、10 10
答案:C
难易程度:初级
章节:7.4字符数组
64.
有以下定义
#include
char a[10],*b=a;
不能给a数组输入字符串的语句是____。
A、gets(a)
B、gets(a[0])
C、gets(&a[0]);
D、gets(b);
答案:B
难易程度:初级
章节:7.5 字符数组
73.
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是____。
A、char s[10]="abcdefg";
B、char t[]="abcdefg",*s=t;
C、char s[10];s="abcdefg";
D、char s[10];strcpy(s,"abcdefg");
答案:C
难易程度:初级
章节:7.5 字符数组
101.
以下不能正确定义二维数组的选项是____。
A、int a[2][2]={{1},{2}};
B、int a[][2]={1,2,3,4};
C、int a[2][2]={{1},2,3};
D、int a[2][]={{1,2},{3,4}};
答案:D
难易程度:初级
章节:7.3二维数组的定义及初始化
103.
以下能正确定义一维数组的选项是____。
A、int num[];
B、#define N 100
int num[N];
C、int num[0..100];
D、int N=100;
int num[N];
答案:B
难易程度:初级
章节:7.1.1 一维数组的定义
104.
下列选项中正确的语句组是____。
A、char s[8]; s={"Beijing"};
B、char *s; s={"Beijing"};
C、char s[8]; s="Beijing";
D、char *s; s="Beijing";
答案:D
难易程度:初级
章节:7.4.1字符数组的初始化
143.
有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=2;
for(i=0;i<3;i++)
{ printf("%d ",m[k][i]); }
}
执行后输出结果是____。
A、4 5 6
B、2 5 8
C、3 6 9
D、7 8 9
答案:C
难易程度:初级
章节:7.3 二维数组
144.
以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10
void arrin(int x[N])
{ int i=0;
while(i scanf("%d%",____); } 在下划线处应填入的是____。 A、x+i B、&x[i+1] C、x+(i++) D、&x[++i] 答案:C 难易程度:中级 章节:7.2一维数组的使用 145. 有以下程序 main() { char s[]="\n123\\"; printf("%d,%d\n",strlen(s),sizeof(s)); } 执行后输出结果是____。 A、赋初值的字符串有错 B、6,7 C、5,6 D、6,6 答案:C 难易程度:中级 章节:7.4字符数组 161. 以下能正确定义数组并正确赋初值的语句是____。 A、int N=5,b[N][N]; B、int a[1][2]={{1},{3}}; C、int c[2][]={{1,2},{3,4}}; D、int d[3][2]={{1,2},{34}}; 答案:D 难易程度:初级 章节:7.3二维数组的定义及初始化 164. 以下不能正确进行字符串赋初值的语句是____。 A、char str[5]="good!"; B、char str[]="good!"; C、char *str="good!"; D、char str[5]={'g''o''o''d'}; 答案:A 难易程度:初级 章节:7.4字符数组 170. 有以下程序 main() { char s[]="\n123\\"; printf("%d,%d\n",strlen(s),sizeof(s)); } 执行后输出结果是____。 A、赋初值的字符串有错 B、6,7 C、5,6 D、6,6 答案:C 难易程度:中级 章节:7.4字符数组 176. 若有定义和语句: char s[10]:s="abcd";printf("%s\n",s); 则结果是(以下u代表空格)____。 A、输出abcd B、输出a C、输出abcduuuuu D、编译不通过 答案:D 难易程度:初级 章节:7.4字符数组 207. 当调用函数时,实参是一个数组名,则向函数传送的是____。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 答案:B 难易程度:初级 章节:7.5.2数组名作为函数的参数 218. 以下程序的输出结果是____。 main() { char ch[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); } A、"AAAA" B、"BBB" C、"BBBCC" D、"CC" 答案:B 难易程度:中级 章节:7.4字符数组 221. 以下程序的输出结果是____。 mian() { int i,x[3][3]=[1,2,3,4,5,6,7,8,9]; for (i=0;i<3;i++) printf("%d",x[i][2-i]); } A、1,5,9 B、1,4,7 C、3,5,7 D、3.6.9 答案:C 难易程度:中级 章节:7.3.2 二维数组的定义 225. 当执行下面的程序时,如果输入ABC,则输出结果是____。 #include "stdio.h" #include "string.h" main() { char ss[10]="12345"; gets(ss) ;strcat(ss,"6789"); printf("%s\n",ss); } A、ABC6789 B、ABC67 C、12345ABC6 D、ABC456789 答案:A 难易程度:中级 章节:7.4字符数组 237. 有以下程序 int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; } main( ) { int a[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}}; printf("%d\n",f(a)); } 执行后的输出结果是____。 A、12 B、11 C、18 D、16 答案:D 难易程度:中级 章节:7.5.2数组名作为函数的参数 244. 以下选项中,不能正确赋值的是____。 A、char s1[10];s1="Ctest"; B、char s2[]={'c','t','e','s','t'}; C、char s3[20]="Ctest"; D、char *s4="Ctest\n"; 答案:A 难易程度:初级 章节:7.4字符数组 249. 设有以下语句 char str[4][12]={"aaa","bbbb","ccccc","dddddd"},*strp[4]; int i; for(i=0;i<4;i++)strp[i]=str[i]; 下列选择不是对字符串的正确引用的是(其中0 A、strp B、str[k] C、strp[k] D、*strp 答案:A 难易程度:中级 章节:7.4字符数组 259. 有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d ",m[k][i]); } } 执行后输出结果是____。 A、4 5 6 B、2 5 8 C、3 6 9 D、7 8 9 答案:C 难易程度:中级 章节:7.3.2 二维数组的定义 286. 以下能正确定义一维数组的选项是____。 A、int num[]; B、#define N 100 int num[N]; C、int num[0..100]; D、int N=100; int num[N]; 答案:B 难易程度:初级 章节:7.1一维数组的定义 295. 若有定义:int aa[8];则以下表达式中不能代表数组元素aa[1]的地址的是____。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 答案:C 难易程度:初级 章节:7.1一维数组的定义 299. 以下程序的输出结果是____。 char s[]="\\141\141abc\t"; printf("%d\n",strlen(s)); A、9 B、12 C、13 D、14 答案:A 难易程度:中级 章节:7.4字符数组 303. 执行下面的程序段后,变量k中的值为____。 int k=3,s[2]; s[0]=k; k=s[1]*10; A、不定值 B、33 C、30 D、10 答案:A 难易程度:初级 章节:7.1一维数组的定义 313. 有以下程序 main( ) { char a[]="abcdefg",b[10]="abcdefg"; printf("%d %d\n",sizeof(a),sizeof(b)); } 执行后输出结果是____。 A、7 7 B、8 8 C、8 10 D、10 10 答案:C 难易程度:中级 章节:7.4字符数组 328. 合法的数组定义是____。 A、int a[]="string"; B、int a[5]={0,1,2,3,4,5}; C、char s="string"; D、char a[]={0,1,2,3,4,5}; 答案:D 难易程度:初级 章节:7.4字符数组 331. 以下程序的输出结果是____。 main() { int i,a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A、258 B、741 C、852 D、369 答案:C 难易程度:初级 章节:7.2一维数组的使用 335. 以下程序的输出结果是____。 main() { char w[][10]={"ABCD","EFGH","IJLK","MNOP"},K; for (K=1;K<3;K++) printf("%s\n",w[k]); } A、ABCD FGH KL B、ABCD EFG IJ M C、EFG JK O D、EFGH IJKL 答案:D 难易程度:中级 章节:7.4字符数组 359. 以下程序输出的结果是____。 #include #include main() { char w[][10]={"ABCD","EFGH","IJKL","MNOP"}; int k; for (k=1;k<3;k++) printf("%s\n",&w[k][k]); } A、ABCD FGH KL B、ABCD EFG IJ M C、EFG JK D、FGH KL 答案:D 难易程度:中级 章节:7.4.4 二维字符数组 365. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};,则数组x在内存中所占字数是____。 A、3 B、6 C、10 D、20 答案:D 难易程度:初级 章节:7.1 一维数组的定义和初始化 377. 设有 static char str[]="Beijing"; 则执行 printf("%d\n",strlen(strcpy(str,"China"))); 后的输出结果为____。 A、5 B、7 C、12 D、14 答案:A 难易程度:初级 章节:7.4 字符串函数 401. 以下数组定义中不正确的是____。 A、int a[2][3]; B、int b[][3]={0,1,2,3}; C、int c[100][100]={0}; D、int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 答案:D 难易程度:初级 章节:7.3.2 二维数组的定义 402. 以下不能正确定义二维数组的选项是____。 A、int a[2][2]={{1},{2}}; B、int a[][2]={1,2,3,4}; C、int a[2][2]={{1},2,3}; D、int a[2][]={{1,2},{3,4}}; 答案:D 难易程度:初级 章节:7.3.2 二维数组的定义 409. 函数调用:strcat(strcpy(str1,str2),str3)的功能是____。 A、将串str1复制到串str2中后再连接到串str3之后 B、将串str1连接到串str2之后再复制到串str3之后 C、将串str2复制到串str1中后再将串str3连接到串str1之后 D、将串str2连接到串str1之后再将串str1复制到串str3中 答案:C 难易程度:初级 章节:7.4 字符串函数的调用 414. 以下定义语句中,错误的是____。 A、int a[]={1,2}; B、char *a[3]; C、char s[10]="test"; D、int n=5,a[n]; 答案:D 难易程度:初级 章节:7.1 一维数组的定义 418. 以下程序的输出结果是____。 main() {int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); } A、0650 B、1470 C、5430 D、输出值不定 答案:A 难易程度:初级 章节:7.3.4 二维数组的初始化 438. 下列程序执行后的输出结果是____。 main() { char arr[2][4]; strcpy(arr,"you"); strcpy(arr[1],"me"); arr[0][3]='&'; printf("%s \n",arr); } A、you&me B、you C、me D、err 答案:A 难易程度:初级 章节:7.4.3 字符串的输出 449. 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是____。 A、&t[3][2] B、t[3] C、t[1] D、*t[2] 答案:C 难易程度:初级 章节:7.3 二维数组的定义和二维数组元素的引用 461. 有如下程序 main() { int n[5]={0,0,0},i,k=2; for(i=0;i printf("%d\n",n[k]); } 该程序的输出结果是____。 A、不确定的值 B、2 C、1 D、0 答案:D 难易程度:初级 章节:7.1 一维数组的定义和初始化 473. 请读程序: #include f(int b[],int n){ int i,r; r=1; for(i=0;i<=n;i++) r=r*b[i]; return r; } main(){ int x,a[]={2,3,4,5,6,7,8,9}; x=f(a,3); printf("%d\n",x); } 上面程序的输出结果是____。 A、720 B、120 C、24 D、6 答案:B 难易程度:初级 章节:7.5 数组作为函数参数 489. 若已定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i; 其中0≤i≤9,则对数组元素不正确的引用是____。 A、a[p-a] B、*(&a[i]) C、p[i] D、a[10] 答案:D 难易程度:初级 章节:7.1 数组下标的取值范围 492. 若有以下定义和语句: char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2))); 则输出结果是____。 A、4 B、5 C、9 D、10 答案:A 难易程度:初级 章节:7.4 字符函数的调用 494. 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是____。 A、*p B、a[10] C、*a D、a[p-a] 答案:B 难易程度:初级 章节:7.1 数组下标的取值范围 505. 有以下定义 #include char a[10],*b=a; 不能给a数组输入字符串的语句是____。 A、gets(a) B、gets(a[0]) C、gets(&a[0]); D、gets(b); 答案:B 难易程度:初级 章节:7.4 字符数组 520. 下列描述中不正确的是____。 A、字符型数组中可以存放字符串 B、可以对字符型数组进行整体输入、输出 C、可以对整型数组进行整体输入、输出 D、不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值 答案:C 难易程度:初级 章节:7.4 字符数组 523. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是____。 A、char s[10]="abcdefg"; B、char t[]="abcdefg",*s=t; C、char s[10];s="abcdefg"; D、char s[10];strcpy(s,"abcdefg"); 答案:C 难易程度:初级 章节:7.4 用字符数组作为字符串和用指针指向的字符串之间的区别 557. 当执行下面程序且输入:ABC时,输出的结果是____。 #include #include main( ) { char ss[10]="12345"; strcat (ss,"6789"); gets(ss);printf('%s\n",ss); } A、ABC B、ABC9 C、123456ABC D、ABC456789 答案:A 难易程度:初级 章节:7.4 字符串函数 564. 设有数组定义:char array [] = "China";则数组array所占的空间为____。 A、4个字节 B、5个字节 C、6个字节 D、7个字节 答案:C 难易程度:初级 章节:7.4 字符串数组 589. 下面程序的输出是____。 #include #include main() { char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n", str);} A、xyzabcABC B、zabcABC C、yzabcABC D、xyabcABC 答案:D 难易程度:中级 章节:7.4 字符串函数 592. 有以下程序 void sort(int a[],int n) { int i,j,t;