搜档网
当前位置:搜档网 › C语言实验6

C语言实验6

C语言实验6
C语言实验6

C语言实验6:一维数组(1)

一、实验目的

(1)掌握一维数组的定义、赋值和输入输出的方法。

(2)掌握与数组有关的算法(例如排序算法)。

(3)进一步学习调试程序。

二、基础知识巩固

1、在C语言中,引用数组元素时,其数组下标的数据类型允许是________。

A、整型常量

B、整型表达式

C、整型常量或整型表达式

D、任何类型的表达式

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[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、下面程序________(每行程序前的数字为行号)

1 #include

2 void main()

3 {

4 int a[3]={3*0};

5 int i;

6 for(i=0;i<3;i++) scanf("%d",&a[i]);

7 for(i=1;i<3;i++) a[0]=a[0]+a[i];

8 printf("%d\n",a[0]);

9}

A、第3行有错误

B、第7行有错误

C、第5行有错误

D、没有错误

6、对以下说明语句的正确理解是________。

int a[10]={6,7,8,9,10};

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[0]至a[4]

C、将5个初值依次赋给a[6]至a[10]

D、因为数组与初值的个数不相同,所以此语句不正确

7、下面程序的运行结果是________。

main()

{ int a[6],i;

for(i=1;i<6;i++)

{ a[i]=9*(i-2+4*(i>3))%5;

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

}

}

A、-4 0 4 0 4

B、-4 0 4 0 3

C、-4 0 4 4 3

D、-4 0 4 4 0

8、若有以下说明:

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

char c='a',d,g;

则数值为4的表达式是

A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]

9、执行下面的程序段后,变量k中的值为

int k=3, s[2];

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

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

10、填补空出的语句,以使程序完整,然后上机验证。程序的功能是输出数组s中最大元素的下标。

main()

{

int k,p;

int s[]={1,-9,7,2,-10,3};

for(p=0,k=p;p<6;p++)

if(s[p]>s[k])_____________;

printf("%d\n",k);

}

【程序分析提示】主要考虑最大元素下标k和循环变量p之间的关系。

二、编程题(以下三题,任意选做二题)

1、从键盘上输入10个实型数存入数组,然后按输入顺序的逆序输出这10个数

2、将一个数组中的值按逆序重新存放。

如:原来顺序为8、6、5、4、1,要求改为1、4、5、6、8。

3、青年歌手参加歌曲比赛,有10个评委对她进行评分。试编程求这位选手的平均得分(去掉一个最高分和一个最低分)【分析】:这道题的核心是排序。将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分,其中排序部分可参考实验准备中的例子。

相关主题