C语言的数组练习及问题详解 下载本文

内容发布更新时间 : 2024/6/28 14:37:00星期一 下面是文章的全部内容请认真阅读。

实用标准文案

第四部分 数组

4.1 选择题

1. 以下关于数组的描述正确的是(c )。

A. 数组的大小是固定的,但可以有不同的类型的数组元素 B. 数组的大小是可变的,但所有数组元素的类型必须相同 C. 数组的大小是固定的,所有数组元素的类型必须相同 D. 数组的大小是可变的,可以有不同的类型的数组元素 2. 以下对一维整型数组a的正确说明是(d )。

A.int a(10); B. int n=10,a[n]; C.int n; D. #define SIZE 10 scanf(\ int a[n];

3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。 A. 整型常量 B. 整型表达式

C. 整型常量或整型表达式 D. 任何类型的表达式

4. 以下对一维数组m进行正确初始化的是(c )。

A. int m[10]=(0,0,0,0) ; B. int m[10]={ }; C. int m[ ]={0}; D. int m[10]={10*2}; 5. 若有定义:int bb[ 8];。则以下表达式中不能代表数组元bb[1]的地址的是(c )。 A. &bb[0]+1 B. &bb[1] C. &bb[0]++ D. bb+1

6. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。

A. 3 B. 6 C. 10 D. 20 7. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g;

则数值为4的表达式是(d )

A. a[g-c] B. a[4] C. a['d'-'c'] D. a['d'-c] 8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。 #include main() {

int a[10],i=0;

while(i<10) scanf(\┇ }

精彩文档

实用标准文案

A. a+(i++) B. &a[i+1] C. a+i D. &a[++i] 9. 执行下面的程序段后,变量k中的值为(a )。 int k=3, s[2]; s[0]=k; k=s[1]*10;

A. 不定值 B. 33 C. 30 D. 10 10. 以下程序的输出结果是(c ) main() {

int i, a[10];

for(i=9;i>=0;i--) a[i]=10-i; printf(\}

A. 258 B. 741 C. 852 D. 369 11. 以下程序运行后,输出结果是(d )。 main() {

int n[5]={0,0,0},i,k=2;

for(i=0;i

A. 不确定的值 B. 2 C. 1 D. 0 12. 以下程序运行后,输出结果是(b )。 main() {

int y=18,i=0,j,a[8]; do

{ a[i]=y%2; i++; y=y/2;

} while(y>=1);

for(j=i-1;j>=0;j--) printf(\ printf(\}

A. 10000 B. 10010 C. 00110 D. 10100 13. 以下程序运行后,输出结果是(a )。 main() {

int a[10], a1[ ]={1,3,6,9,10}, a2[ ]={2,4,7,8,15},i=0,j=0,k; for(k=0;k<4;k++)

if(a1[i]

for(k=0;k<4;k++) printf(\ }

A. 1234 B. 1324 C. 2413 D. 4321 14. 以下程序运行后,输出结果是(b )。 main()

精彩文档

实用标准文案

{

int i,k,a[10],p[3]; k=5;

for (i=0;i<10;i++) a[i]=i;

for (i=0;i<3;i++) p[i]=a[i*(i+1)]; for (i=0;i<3;i++) k+=p[i]*2; printf(\}

A. 20 B. 21 C. 22 D. 23 15. 以下程序运行后输出结果是(d )。 main( ) {

int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2;

for (i=0;i

printf(\

A. 2 B. 1 C. 0 D. 3 16. 下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是 (b )。 main() {

int i,a[10],x,flag=0; for(i=0;i<10;i++) scanf(\scanf(\

for(i=0;i<10;i++) if _______ {flag=i+1; break;} printf(\}

A. x!=a[i] B. !(x-a[i]) C. x-a[i] D. !x-a[i] 17. 若说明:int a[2][3]; 则对a数组元素的正确引用是(c ) 。

A. a(1,2) B. a[1,3] C. a[1>2][!1] D. a[2][0] 18. 若有定义:int b[3][4]={0};则下述正确的是(b ) 。 A. 此定义语句不正确 B. 没有元素可得初值0 C. 数组b中各元素均为0

D. 数组b中各元素可得初值但值不一定为0

19. 若有以下数组定义,其中不正确的是(d ) 。 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}};

精彩文档