第7章 数组

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第7章数组

一、选择题

1.以下对一维数组a的正确说明是:( )。

A) char a(10);B) int a[];

C) int k=5,a[k];D) char a[3]={‘a’,‘b’,‘c’};

2.以下能对一维数组a进行初始化的语句是: ( )。

A) int a[5]=(0,1,2,3,4,) B) int a(5)={ }

C) int a[3]={0,1,2} D) int a{5}={10*1}

3.在C语言中对一维整型数组的正确定义为 ( )。

A) int a(10); B) int n=10,a[n];

C) int n;a[n]; D) #define N 10

int a[N];

4、已知:int a[10]; 则对a数组元素的正确引用是()。

A) a[10] B) a[3.5] C) a(5) D) a[0]

5. 执行下面的程序段后,变量k中的值为( )。

int k=3, s[2];

s[0]=k; k=s[0]*10;

A) 不定值 B) 33 C) 30 D) 10

6.下述对C语言中字符数组的描述错误的是 ( )。

A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入和输出

C)可在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D)可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化

7.若有以下数组说明,则数值最大的和最小的元素下标分别是 ( )。

int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A)1,12 B)0,11 C)1,11 D)0,12

8.下面初始化与此初始化charc[ ]=“I am happy”;等价的是 ( )。

A) char c[ ]={‘I’,’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’,’\0’};

B) char c[ ]={‘I’,’am’,’happy’};

C) char c[ ]={‘I’, ’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’};

D)char c[ ]={‘I’,’am’,’happy’,’\0’};

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

( )。

A) 3 B) 6 C) 10 D) 20

10.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( )

A) 2 B) 3 C) 4 D)无确定值

11.以下定义语句中,错误的是 ( )

A) int a[]={1,2}; B) char *a;

C) char s[10]=“test”; D) int n=5,a[n];

12.下面程序段的输出结果是: ( )

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

for (i=0;i<3;i++)

printf("%2d ",x[i][2-i]);

A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9

13.对二维数组的正确定义是()

A) int a[ ] [ ]={1,2,3,4,5,6}; B)int a[2] [ ]={1,2,3,4,5,6};

C)int a[ ] [3]={1,2,3,4,5,6}; D)int a[2,3]={1,2,3,4,5,6};

14.已知int a[3][4];则对数组元素引用正确的是 ( )

A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1)

15. 合法的数组定义是 ( )

A)int a[]={“string”}; B) int a[5]={0,1,2,3,4,5};

C)char a[]= “string”; D) char a[5]={0,1,2,3,4,5};

二、编程题

1.输入9个已由小到大排列的数据,要求输入一个新数据,将此数按照原来的规律插入到数

组中。

2.输入10个数据存入数组中,要求将这些数据逆序重新存放,并输出。

3.编写程序实现两个字符串:str1和str2的比较,如果str1>str2,输出+1,如果str1

输出-1,如果str1=str2,输出0。(不使用strcmp函数)

4.输入20个数据,求平均值,并将其按相反的顺序输出。

答案

一、选择题

DCDDC BCADB DCCCC

二、编程题

1. #include

main( )

{ int a[10],i,x;

printf("please input nine numbers:\n");

for(i=0;i<9;i++)

scanf("%d",&a[i]);

printf("please input a new number:\n");

scanf("%d",&x);

for(i=8;i>=0;i--)

{if(x>a[i]) {a[i+1]=x;break;}

else a[i+1]=a[i];}

if(i==-1) a[0]=x;

for(i=0;i<10;i++)

printf("%5d",a[i]);

}

2. #include

main( )

{ int a[10],i,t;

printf("please input ten numbers:\n");

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<5;i++)

{ t=a[i];a[i]=a[9-i];a[9-i]=t;}

相关文档
最新文档