当前位置:文档之家› 第三次测试练习题及答案(练习题3-1-2)

第三次测试练习题及答案(练习题3-1-2)

单项选择================================================== 1.题号:3835以下程序的输出结果是min(){int n[6]={1,2,3,4},i,j,k=2;int sum=0, min;min = n[0];for(i=0;i<6;i++){sum += n[i];if( min>n[i] )min=s[i];}pritnf("%d,%d\n",sum, min);}A、10,1B、6,1C、10,0D、0,0答案:C1.题号:3553若有以下定义和语句:int a[15]={1,2,3,4},x;则对a数组元素非法引用的是().A、x=a[a[2]];B、x=a[a[7]-1];C、x=a[a[2]-1];D、x=a[a[7]+1];B2.题号:3640以下程序段给数组所有的元素输入数据,请选择正确答案填入(). #include<stdio.h>main(){int a[10],i=0;while(i<10){scanf("%d",( ) );i++;}return 0;}A、&a[i+1]B、&a[i]C、&a[++i]D、ai答案:B3.题号:3597有以下程序:main(){int m[][3]={1,2,3,4,5,6,7,8,9};int i,k=2;for(i=0;i<3;i++)printf("%d",m[k][i]);}执行后输出结果是:.A、4 5 6B、7 8 9C、1 2 3D、1 4 7B4.题号:3647下列一维数组说明中不正确的是().A、int N; scanf("%d",&N); int b[N];B、#define S 10int a[S];C、int S,int a[15]={0};S=a[10];D、float a[]={1,6,6,0,2};答案:A5.题号:3880以下能对一维数组a进行正确初始化的语句是().A、int a[10]=(0,0,0,0,0)B、int a[10]={0};C、int a[]=(0,0);D、int a[10]=[10*1];答案:B6.题号:3757int a[10];合法的数组元素的最小下标值为().A、10B、1D、9答案:C7.题号:3938若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中,错误的是().A、m[--i]B、m[2*2]C、m[m[0]]D、m[m[i]]答案:C8.题号:3633若有以下说明:int a[12]={8,9,10,11,12};则值为9的表达式是().A、a[2]B、a[3]C、a[1]D、a[4]答案:C9.题号:3545有以下程序:#include<stdio.h>int main(){int a[]={2,3,5,9},i, j;for(i=0;i<4;i++){switch(a[i]/3){case 1:printf("春");break;case 2:printf("夏");break;case 3:printf("秋");break;case 0:case 4:printf("冬");}}return 0;}程序运行后的输出结果是().A、春夏秋冬B、春秋夏冬C、冬春春秋D、冬秋夏春答案:C10.题号:3799下列定义数组的语句中正确的是().A、int x[];B、int x[0..10];C、#define N 10 int x[N];D、 int N=10; int x[N];答案:C11.题号:3762若有以下定义语句:int a[]={1,2,3,4,5,6,7,8,9,0};,则值为5 的表达式是()A、a[a[4]]B、a[a[5]]C、a[5]D、a[a[3]]答案:D12.题号:3642下列选项中能正确定义数组的语句是().A、int num[0..2008];B、int N=2008;int num[N];C、int num[];D、#define N 2008 int num[N];答案:D判断题================================================== 1.题号:3225若有定义 int a[10];则 for (i=0;i<=10;i++) a[i]=i;编译时无语法错误. 答案:正确2.题号:3663下列程序段是否正确:int a[10];....a++;答案:错误3.题号:3775若有#define N 5;则a数组定义语句可以写成:int a[N];答案:正确4.题号:3603数组在内存中占一连续的存储区,数组名代表数组的首地址. 答案:正确5.题号:3722定义 int x[5],n;则x=x+n;或x++;都是正确的.答案:错误填空题================================================== 1.题号:2506已知int b[8]={11,5,3,21,67,45,77}; 则b[7]的值是_____.答案:空 1:2.题号:2740已知int a[10]={1,2,3,4,5,6,7,0,9,6}; 下标最小的元素的值是_____.答案:空 1:13.题号:2690已知int b[8]={1,2,3}; 则b[0]的值是_____.答案:空 1:14.题号:2779设x的值为14,n的值为2,则表达式x%=n运算后x的值是_____.答案:空 1:5.题号:2949已知int a[10]={1,2,3,4,5,6,7,0,9,6}; 下标最大的元素的值是_____.答案:空 1:66.题号:2628已知int b[8]={11,5,3,21,67,45,77}; 则b[4]的值是_____.答案:空 1:677.题号:2836已知int b[8]={1,2,3}; 则b[2]的值是_____.答案:空 1:38.题号:3494以下程序的输出结果是_____。

main(){ int arr[10], i, k=0;for(i=0; i < 10; i++)arr[i]=i;for(i=0; i < 4; i++)k +=arr[i] + i;printf("%d\n", k);}答案:空 1:129.题号:3528已知int a[10]={3,2,4,1,5,6,7,8,9,10}; 最小的元素的下标值是_____.答案:空 1:310.题号:2870已知int b[8]={1,2,3}; 则b[6]的值是_____.答案:空 1:11.题号:3871已知char s[]={'H','e','l','l','o'}; 则s数组中含有_____个元素.答案:空 1:512.题号:3527已知int a[10]={11,2,3,4,5,6,7,8,9,10}; 最大的元素的下标值是_____.答案:空 1:13.题号:3577若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3 该数组中下标最大的元素的值是_____.答案:空 1:314.题号:3767若有以下定义:double w[10];则w数组元素下标的上限是_____, 下限是_____。

答案:空 1:9空 2:15.题号:3726已知int a[10]={11,2,31,4,5,6,7,8,9,10}; 最大的元素的下标值是_____.答案:空 1:216.题号:3951已知int a[10]={1,2,3,4,5,6,7,0,9,6}; 最小的元素的下标值是_____.答案:空 1:717.题号:3539已知int a[10]={1,2,3,4,5,6,7,8,9,10}; 最大的元素的下标值是_____.答案:空 1:918.题号:3800已知int b[]={1,2,3,4,5,6}; 则b数组中含有_____个元素.答案:空 1:619.题号:3797若有以下整型数组a[10],其值为 9 4 12 8 2 10 7 5 1 3 该数组可用的最大下标值是_____.答案:空 1:920.题号:3884已知int b[8]={1,2,3,4,5,6}; 则b数组中含有_____个元素.答案:空 1:8程序设计==================================================1.题号:7006/*------------------------------------------------【程序设计】--------------------------------------------------题目:给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可)。

注意:部分源程序给出如下。

请勿改动主函数main和其它函数中的任何内容,仅在函数station的花括号中填入所编写的若干语句。

*********Begin**********和********** End **********不可删除------------------------------------------------*/#include<stdio.h>void b ky();int station(int s[],int n){/**********B egin**********//********** End **********/}main(){int a[100],n,i,t;scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);t=station(a,n);printf("the max_value position is:%d\n",t);b ky();}void b ky(){FILE *IN,*OUT;int n;int i[10];int o;IN=fopen("in.dat","r");if(IN==NULL){printf("Read FILE Error");}OUT=fopen("out.dat","w");if(OUT==NULL){printf("Write FILE Error");}for(n=0;n<10;n++){fscanf(IN,"%d",&i[n]);}o=station(i,10);fprintf(OUT,"%d\n",o);fclose(IN);fclose(OUT);}示例代码:int i,k;k=0;if(s[i]>s[k]) k=i;return(k+1);2.题号:7030/*------------------------------------------------【程序设计】--------------------------------------------------题目:编写函数将数组中的数逆序存放, 输入输出在主函数中实现。

相关主题