一、选择题
1. 以下对一维整型数组a的正确说明是 。
A.int a(10); B.int n=0, a[n];
C.int n;
scanf(“%d”,&n);
int a[n];
D.#define SIZE 10
int a[SIZE]
2. 若有说明:int a[10]; ,则对a数组元素的正确引用是 。
A.a[10] B.a[3.5] C.a(5) D.a[10-10]
3. 以下能对一维数组a进行正确初始化的语句形式是 。
A.int a[10]=(0, 0, 0, 0, 0); B.int a[10]={ };
C.double a[ ][4]; D.int a[10]={10*1};
4. 以下对二维数组a的正确说明是 。
A.int a[3][ ]; B.float a(3,4); C.double a[ ][4]; D.float a(3)(4);
5. 若有说明:int a[3][4]; 则对a数组元素的正确引用是 。
A.a[3][4] B.a[1, 3] C.a[1+1][0] D.a(2)(1)
6. 以下能对二维数组a进行正确初始化的语句是 。
A.int a[2][ ]={{1, 0, 1}, {5, 2, 3}};
B.int a[ ][3]={{1,2,3},{4,5,6}};
C.int a[2][4]={{1,2,3},{4,5},{6}};
D.int a[ ][3]={{1,0,1,0},{ },{1,1}};
7. 下面程序段 (每行代码前面的数字表示行号)。
1 int a[3]={3*0};
2 int i
3 for(i=0; i<3; i++) scanf(“%d”,&a[i]);
4 for(i=1; i<3; i++) a[0]=a[0]+a[i];
5 printf(“%d\n”,a[0]);
A.第1行有错误 B.第5行有错误 C.第3行有错误 D.没有错误
8. 若有定义float x[4]={1.3, 2.4, 5.6},y=6; 则错误的语句是 。
A.y=x[3]; B.y=x+1; C.y=x[2]+1 D.x[0]=y;
9. 定义如下变量和数组:
int k;
int a[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是 。
for(k=0; k<3; k++) printf(“%d”,a[k][2-k]);
A.3 5 7 B.3 6 9 C.1 5 9 D.1 4 7
10. 下面程序的运行结果是 。
#include
int main()
{int a[6][6],i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a[i][j]=(i/j)*(j/i);
for(i=1;i<6;i++)
{ for(j=1;j<6;j++)
printf("%2d",a[i][j]);
printf("\n");
}
return 0;
}
A.1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
B. 0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
C.1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
D.1 0 0 0 1
0 1 0 1 0
0 0 1 0 0
0 1 0 1 0
1 0 0 0 1
11. 下面是对数组s的初始化,其中错误的语句是 。
A.char s[5]={“abc”}; B.char s[5]={‘a’, ‘b’, ‘c’};
C.char s[5]= “ ”; D.char s[5]= “abcde”;
12. 下面程序段的运行结果是 。(□表示1个空格)
char c[5]={'a','b','\0