第六章
一、选择题
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是 。
A、
B、
C、
D、
2、以下对一维整型数组a的正确说明是____
A、
B、
C、
scanf(“%d”,&n);
D、#define SIZE 10
3、若有定义:int a[10],则对数组a元素的正确引用是
A、
4、以下能对一维数组a进行正确初始化的语句是 。
A、
B、
C、
D、
5、若有定义:int a[3][4],则对数组a元素的正确引用是________
A、
6、以下能对二维数组a进行正确初始化的语句是_______
A、
B、
C、
D、
7、若有说明:int a[3][4]={0};则下面正确的叙述是_______
A、
B、
C、
D、
8、下面是对s的初始化,其中不正确的是_____
A、
B、
C、
D、
二、程序填空
1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍然的序。请填空,完善程序。
#include
{int a[10]={0,12,17,20,25,28},x,i,n=5;
Printf(“enter a number”);
Scanf(“%d”,&x);
a[0]=x;i=n;
while(a[i]>x)
{a[____ (1)____ ]=a[i];
______(2)___________;
}
a[___(3)____]=x;n++;
for(i=1;i<=__(4)_______;i++)
printf(“M”,a[i]);
printf(“\n”);
}
三、编程题
1、用选择法对10个整数排序(从小到大)
2、有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,中文字母,中文字符,数字,空格及其他字符的个数。(提示:中文字符是两个字节,且数值均大于128的字符)。
3、将一个数组中的值按逆序重新存放。例如:原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。
参考答案
一、选择题
1、A
二、程序填空
(1)
(2)
(3)
(4)
二、编程题
1、
{int i,j,min,temp,a[11];
Printf(“enter data:\n”);
For(i=1;i<=10;i++)
{printf(“a[%d=”,i);
}
Printf(“\n”);
For(i=1;i<=10;i++)
For(i=1;i<=9;i++)
}
Printf(“\nthe sorted number:\n”);
For(i=1;i<=10;i++)
Printf(“]”,a[i]);
}
2、
{int i,j,upp,low,dig,spa,oth;
Char text[3][80];
Upp=low=dig=spa=oth=0;
For(i=0;i<3;i++)
For(j=0;j<80&&text[i][j]!=’\0’;j++)
Low++;
Printf(“space:%d\n”,spa);
Printf(“other:%d\n”,oth);
}
3、#define N 5
Printf(“M”,a[i]);
{temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
Printf(“\n now,array a:\n”);
For(i=0;i
Printf(“M”,a[i]);
Printf(“\n”);
}