C语言(数组)
一、选择题
1. 设有程序:
main()
  {  int  i,a[11];
      printf("给数组赋值:\n");
      for (i=0;i<=10;i++)
            scanf("%d",(      ));
      ... ...
      printf("输出数组:\n");
      for(i=0;i<=10;i++)
            printf("%d,",(      ));
  }
则在程序中的两个园括号中分别应填入:C
A) &a[i]和&a[i]   
B) a[i]和&a[i]   
C) &a[i]和a[i]   
D) a[i]和a[i]                   
2. 设已定义:int a[15]; 则数组a占用的内存单元数是(  C  ).
A) 15    B) 16    C) 30    D) 32                     
3. 阅读程序:
main()
{  int a[2]={0},i,j,k=2;
  for(i=0;i<k;i++)
    for(j=0;j<k;j++) a[j]=a[i]+1;
  printf("%d\n",a[k]);
}
以上程序的输出结果是(  D  ).
A) 1    B) 3    C) 2    D) 不确定的值
4. 阅读程序:
f(int b[],int n)
{ int i,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);
}
以上程序的输出结果是( D  ).
A) 720    B) 6    C)24    D) 120                     
5. 以下定义语句中,错误的是(  B  ).
A) int a[ ] = {6,7,8}; 
B) int n=5, a[n]; 
C) char a[ ]= "string"; 
D) char a[5 ]={'0','1','2','3','4'};
6. 以下描述中正确的是(  D  ).
A) 数组名后面的常量表达式用一对圆括弧括起来
B) 数组下标从1开始   
C) 数组下标的数据类型可以是整型或实型
D) 数组名的规定与变量名相同
7. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'};指出以下错误语句( AB    ).
A)    scanf("%c",a[0]);
B)    scanf("%s",&a);
C)    printf("%c",a[3]);
D)    printf("%s",a);
8.若定义数组int a[10] ,其最后一个数组元素为(  C  ).
A)    a[0]
B)    a[1]
C)    a[9]
D)    a[10]
9. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立(  B )?
A)    a[8] 的值为0
B)    a[1] 的值为1
C)    a[3] 的值为4
D)    a[9] 的值为0
10. 指出以下错误语句(  A  ).
A)    int n=10,a[n];
B)    int n,a[10];
C)    int a[10]={1,2,3};
D)    int a[10]={1,2,3,4,5,6,7,8,9,10};
11. 请读程序:
main()
{int n[2],i,j,k;
for(i=0;i<2;i++) n[i]=0;
k=2;
for(i=0;i<k;i++)
      for(j=0;j<k;j++) n[j]=n[i]+1;
printf("%d\n",n[k]);
}
上面程序的输出结果是( A  ).
A)不确定的值    B)3    C)2    D)1
12. 若有以下的定义和语句:
int str[12]={1,2,3,4,5,6,7,8,9,10,11,12};
char c='e',
则数值为2的表达式是(  C  ).
A)str['g'-c]  B)str[2]    C)str['d'-'c']    D)str['d'-c]
13. 设有数组定义:int a[5];则下列给数组元素赋值错误的是(  B  ).
A) a[3]=93;
B) scanf("%c",a[3]);
C) a[3]=getchar();
D) a[3]='a'+3;
14. 以下数组定义中错误的是(  D  ).
A) #define N 30
  int a[N+30];
B) #define N 30
  int a[N];
C) int a[30];
D) int a[N];
15. 在定义一个一维数组时,不能用来表示数组长度的是(  D  ).
A)常量  B)符号常量    C)常量表达式  D) 已被赋值的变量
16. 若float型变量占用4个字节,有定义float a[20]={1.1,2.1,3.1};则数组a在内存中所占的字节数是(  D  ).
A)12  B)20    C)40    D)80
17. 设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( A  ).
A) 6    B) 5    C) 7    D) 1                       
18. 设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为(  C  ).
A) 2    B) 4    C) 6    D) 8                       
19. 设有:int a[4][5]; 则数组a占用的内存字节数是(  C ).
A) 12    B) 24    C) 40    D) 20                     
20. 以下数组定义中,不正确的是(  B  ).
A) int b[3][4];           
B) int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}};   
C) int b[200][100]={0};   
D) int c[ ][3]={{1,2,3},{4,5,6}};
21. 定义数组:int x[2][3]; 则数组x 的维数是(  2  ).
A) 1  B) 2  C) 3  D) 6 
22. 若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立(  C  )?
A)    表达式b[1][2]的值为1
B)    表达式b[1][2]的值为4
C)    表达式b[1][2]的值为6
D)    表达式b[1][2]的值为2
23. 若定义数组并初始化int a[2][3]={{1,2,3},{4,5,6}};
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf("%d",a[i][j]);语句的结果是哪一个(  C  )?
A)    1,2,3,4,5,6
B)    1 2 3 4 5 6
C)    123456
24. 若定义数组并初始化int a[2][3]= {{1,2, 3},{4,5,6}};以下语句哪一个不成立(  B  )?
A)    a数组中有6个元素
B)    a[2][3]是a数组的最后一个元素的引用
C)    a数组中每个元素都为整数
D)    a数组是整型数组
25. 定义如下变量和数组:
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是(  C  ).
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
26. 如有以下定义:double s[][5]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};则数值为2的元素是(  C  ).
A) s[1][3]    B) s[0][3]    C) s[0][2]    D) s[1][2]
27. 以下程序的输出结果是(  A  ).
main()
{int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j];
printf("%d",s);
}
A) 18    B)  19    C)  20    D) 21
28. 若已有char b[10][50];则该二维字符数组在内存所占字节数为(  D  ).
A) 10    B)50    C)60      D)500
29. 设有:char a[10]; 下列语句那个是正确的(  D  )?
A) scanf("%s",a[0]);   
B) scanf("%s",&a);   
C) printf("%s",a[0])   
D) printf("%s",a)                     
30. 阅读程序:
main()
{  char a[10];
  int i;
  for(i=1;i<=5;i++)
    scanf("%c",&a[i]);
  printf("%c",a[0]);
}
设从键盘输入字符串:abcde,则程序的输出结果是(  C  ).
A) a    B)空格    C)不确定    D)0                     
31. 合法的数组定义是(  D  ).
A) int a[ ] = "string";
B) int a[5]={0,1,2,3,4,5}; c语言二维数组表示方法
C) char a= "string";
D) char a[ ]={'0','1','2','3'};

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。