C语言精选题目jk
数组
一.选择题
1.在C语言中,引用数组元素时,其数组下标的数据类型允许是 。
A)整型常量 B)整型表达式
C)整形常量或整形表达式 C)任何类型的表达式
2.以下对一维整型数组a的正确说明是 。
A)int a(10) ; B)int n=10,a[n];
C)int n; D)#define SIZE 10
scanf(“%d”,&n); int a[SIZE];
int a[n];
3.若有定义:int a[10],则对数组a元素的正确引用是 。
A)a[10] B)a[3.5] C)a(5) D)a[10-10]
4.以下能对一维数组a进行正确初始化的语句是 。
A)int a[10]={0,0,0,0,0}; B)int a[10]={} ;
C)int a[ ] = {0} ; D)int a[10]={10*1} ;
5.若有定义:int a[3][4],则对数组a元素的正确引用是 。
A)a[2][4] B)a[1,3] C)a(5) D)a[10-10]
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},{},{1,1}} ;
7.以下不能对二维数组a进行正确初始化的语句是 。
A)int a[2][3]={0} ;
B)int a[][3]={{1,2},{0}} ;
C)int a[2][3]={{1,2},{3,4},{5,6}} ;
D)int a[][3]={1,2,3,4,5,6} ;
8.若有说明:int a[3][4]={0};则下面正确的叙述是 。
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
9.若有说明:int a[][4]={0,0};则下面不正确的叙述是 。
A)数组a的每个元素都可得到初值0
B)二维数组a的第一维大小为1
C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
10.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 。(设a[0][0]位于数组的第一个位置上)
A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1
11.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是 。
A)2 B)3 C)4 D)无确定值
12.以下不正确的定义语句是 。
A)double x[5]={2.0,4.0,6.0,8.0,10.0};
B)int y[5]={0,1,3,5,7,9} ;
C)char c1[ ]={‘1’,’2’,’3’,’4’,’5’} ;
D)char c2[ ]={‘\x10’,’\xa’,’\x8’} ;
13.下面程序段的输出结果是 。
int k,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
14.下面是对s的初始化,其中不正确的是 。
A)char s[5]={“abc”}; B)char s[5]={‘a’,’b’,’c’};
C)char s[5]=” ”; D)char s[5]=”abcdef”;
15.下面程序段的输出结果是 。
char c[5]={‘a’,’b’,’\0’,’c’,’\0’}
printf(“%s”,c);
A)’a’’b’ B)ab C)ab c D)abc
16.若有程序段:
int k,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)a与b数组完全相同 B)a与b长度相同
C)a和b中都存放字符串 D)a数组比b数组长度长
17.有两个字符数组a,b,则以下正确的输入语句是 。
A)gets(a,b);