第7章 数组
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;}