C语言(数组)
一、选择题
1. 设有程序: main()
{ int i,a[11];
printf(\给数组赋值:\\n\; for (i=0;i<=10;i++) scanf(\,( ));
... ...
printf(\输出数组:\\n\; for(i=0;i<=10;i++) printf(\; }
则在程序中的两个园括号中分别应填入: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 printf(\ } 以上程序的输出结果是( D ). A) 1 B) 3 C) 2 D) 不确定的值 1 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 ). A) 720 B) 6 5. 以下定义语句中,错误的是( B ). A) int a[ ] = {6,7,8}; B) int n=5, a[n]; C) char a[ ]= \ 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(\B) scanf(\C) printf(\D) printf(\ 8.若定义数组int a[10] ,其最后一个数组元素为( C ). A) a[0] 2 C)24 D) 120 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 for(j=0;j 上面程序的输出结果是( 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 ). 3 A) a[3]=93; B) scanf(\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 18. 设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( C ). A) 2 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}}; 4 B) 5 C) 7 D) 1 B) 4 C) 6 D) 8 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(\语句的结果是哪一个( 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(\A) 1 5 9 B) 1 4 7 C) 3 5 7 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] 5 D) 3 6 9