内容正文:
专题十三一维数组的定义和使用
一、选择题
1.以下对一维整型数组a的说明正确的是( )。
A.int a(10);
B.int n=10, a[n];
C.int n;
scanf("%d", &n);
int a[n];
D.#define SIZE 10
int a[SIZE];
2.以下程序段运行后 ,键盘输人4回车,结果是( )
int a[]={1,3,5,7,2,4,6,8} ,i,start;
scanf(" %d",&start);
for (i=0;i<3;i++)
printf (" %d" ,a[(start+i) %3]);
A.131
B.264
C.351
D.486
3.在 C语言中,数组名代表( )
A.数组全部元素的值
B.数组的首地址
C.数组第一个元素的值
D.数组元素的个数
4.在C语言中,下列有关数组的说法中,不正确的是( )
A.数组是有序数据的集合,数组中的每一个元素都属于同一个数据类型
B.数组元素的下标从1开始顺序编号
C.一维数组的定义格式:数据类型数组名[常量表达式]
D.数组元素的初始化格式:数据类型 数组名[常量表达式]={初值表}
5.在C语言中,下列有关数组的下标和数组名的说法中,正确的是( )
A.数组的下标可以是任何类型的表达式
B.数组的下标可以是整型常量或整型表达式
C.数组名表示所有元素的地址
D.数组名可以表示最后一个元素的地址
6.以下程序段的运行结果是( )
int a[4]={1,2,3,4},i,s=0;
for (i=0;i<4;i++)
s+=a[i++];
printf("%d",s);
A. 4
B. 5
C. 6
D. 10
二、读程序,写结果
1.若有以下输入(<CR>代表回车),
输入:52<CR>
写出该程序的运行结果。
main( )
{int a[8]={6, 12, 18, 42, 44, 52, 67, 94};
int low=0, mid, high=7, found, x;
found=0;
scanf("%d", &x);
while ((low<=high)&&(found==0))
{ mid=(low+high)/2;
if (x>a[mid])
low=mid+1;
else if (x<a[mid])
high=mid-1;
else { found=1; break; }
}
if (found==1)
printf("Search Successful! The index is:%d
", mid);
else printf("Can't search!
");
}
2. 若有以下输入(<CR>代表回车),
输入:12<CR>
写出该程序的运行结果。
#include <stdio.h>
main( )
{int a[8]={25, 57, 48, 37, 12, 92, 86, 33};
int i, x;
scanf("%d", &x);
for (i=0; i<8; i++)
if (x==a[i])
{ printf("Found! The index is:%d
", i+1);
break;
}
if ( i==8 )
printf("Can't found!");
}
三、综合应用题
1. 设计程序,程序的功能为输人10个学生的成绩,输出其平均成绩。
原创精品资源学科网独家享有版权,侵权必究!
$$
专题十三一维数组的定义和使用
一、选择题
1.以下对一维整型数组a的说明正确的是( )。
A.int a(10);
B.int n=10, a[n];
C.int n;
scanf("%d", &n);
int a[n];
D.#define SIZE 10
int a[SIZE];
答案:D
解析:本题考察一维数组的定义。类型说明符 数组名[常量表达式];,注意方括号中的常量表达式用来表示数组元素的个数(即数组的长度),该值是正整数。A项a(10)中的符号不对,B项a[n]中的n是变量,错误。C中a[n]的n是变量。
2.以下程序段运行后 ,键盘输人4回车,结果是( )
int a[]={1,3,5,7,2,4,6,8} ,i,start;
scanf(" %d",&start);
for (i=0;i<3;i++)
printf (" %d" ,a[(start+i) %3]);