第三次测试练习题及答案练习题312.docx
- 文档编号:27061414
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:59
- 大小:77.04KB
第三次测试练习题及答案练习题312.docx
《第三次测试练习题及答案练习题312.docx》由会员分享,可在线阅读,更多相关《第三次测试练习题及答案练习题312.docx(59页珍藏版)》请在冰豆网上搜索。
第三次测试练习题及答案练习题312
单项选择
==================================================
1.题号:
3835
以下程序的输出结果是
min()
{intn[6]={1,2,3,4},i,j,k=2;
intsum=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,1
B、6,1
C、10,0
D、0,0
答案:
C
1.题号:
3553
若有以下定义和语句:
inta[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];
答案:
B
2.题号:
3640
以下程序段给数组所有的元素输入数据,请选择正确答案填入().
#include
main()
{
inta[10],i=0;
while(i<10){
scanf("%d",());
i++;
}
return0;
}
A、&a[i+1]
B、&a[i]
C、&a[++i]
D、ai
答案:
B
3.题号:
3597
有以下程序:
main()
{intm[][3]={1,2,3,4,5,6,7,8,9};
inti,k=2;
for(i=0;i<3;i++)
printf("%d",m[k][i]);
}
执行后输出结果是:
.
A、456
B、789
C、123
D、147
答案:
B
4.题号:
3647
下列一维数组说明中不正确的是().
A、intN;scanf("%d",&N);intb[N];
B、#defineS10
inta[S];
C、intS,inta[15]={0};
S=a[10];
D、floata[]={1,6,6,0,2};
答案:
A
5.题号:
3880
以下能对一维数组a进行正确初始化的语句是().
A、inta[10]=(0,0,0,0,0)
B、inta[10]={0};
C、inta[]=(0,0);
D、inta[10]=[10*1];
答案:
B
6.题号:
3757
inta[10];合法的数组元素的最小下标值为().
A、10
B、1
C、0
D、9
答案:
C
7.题号:
3938
若有定义语句:
intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中,错误的是().
A、m[--i]
B、m[2*2]
C、m[m[0]]
D、m[m[i]]
答案:
C
8.题号:
3633
若有以下说明:
inta[12]={8,9,10,11,12};
则值为9的表达式是().
A、a[2]
B、a[3]
C、a[1]
D、a[4]
答案:
C
9.题号:
3545
有以下程序:
#include
intmain()
{
inta[]={2,3,5,9},i,j;
for(i=0;i<4;i++){
switch(a[i]/3)
{
case1:
printf("春");break;
case2:
printf("夏");break;
case3:
printf("秋");break;
case0:
case4:
printf("冬");
}
}
return0;
}
程序运行后的输出结果是().
A、春夏秋冬
B、春秋夏冬
C、冬春春秋
D、冬秋夏春
答案:
C
10.题号:
3799
下列定义数组的语句中正确的是().
A、intx[];
B、intx[0..10];
C、#defineN10intx[N];
D、intN=10;intx[N];
答案:
C
11.题号:
3762
若有以下定义语句:
inta[]={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]]
答案:
D
12.题号:
3642
下列选项中能正确定义数组的语句是().
A、intnum[0..2008];
B、intN=2008;intnum[N];
C、intnum[];
D、#defineN2008intnum[N];
答案:
D
判断题
==================================================
13.题号:
3225
若有定义inta[10];则for(i=0;i<=10;i++)a[i]=i;编译时无语法错误.
答案:
正确
14.题号:
3663
下列程序段是否正确:
inta[10];
....
a++;
答案:
错误
15.题号:
3775
若有#defineN5;则a数组定义语句可以写成:
inta[N];
答案:
正确
16.题号:
3603
数组在内存中占一连续的存储区,数组名代表数组的首地址.
答案:
正确
17.题号:
3722
定义intx[5],n;则x=x+n;或x++;都是正确的.
答案:
错误
填空题
==================================================
18.题号:
2506
已知intb[8]={11,5,3,21,67,45,77};则b[7]的值是_____.
答案:
空1:
0
19.题号:
2740
已知inta[10]={1,2,3,4,5,6,7,0,9,6};下标最小的元素的值是_____.
答案:
空1:
1
20.题号:
2690
已知intb[8]={1,2,3};则b[0]的值是_____.
答案:
空1:
1
21.题号:
2779
设x的值为14,n的值为2,则表达式x%=n运算后x的值是_____.
答案:
空1:
0
22.题号:
2949
已知inta[10]={1,2,3,4,5,6,7,0,9,6};下标最大的元素的值是_____.
答案:
空1:
6
23.题号:
2628
已知intb[8]={11,5,3,21,67,45,77};则b[4]的值是_____.
答案:
空1:
67
24.题号:
2836
已知intb[8]={1,2,3};则b[2]的值是_____.
答案:
空1:
3
25.题号:
3494
以下程序的输出结果是_____。
main()
{intarr[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:
12
26.题号:
3528
已知inta[10]={3,2,4,1,5,6,7,8,9,10};最小的元素的下标值是_____.
答案:
空1:
3
27.题号:
2870
已知intb[8]={1,2,3};则b[6]的值是_____.
答案:
空1:
0
28.题号:
3871
已知chars[]={'H','e','l','l','o'};则s数组中含有_____个元素.
答案:
空1:
5
29.题号:
3527
已知inta[10]={11,2,3,4,5,6,7,8,9,10};最大的元素的下标值是_____.
答案:
空1:
0
30.题号:
3577
若有以下数组a,数组元素:
a[0]~a[9],其值为941282107513该数组中下标最大的元素的值是_____.
答案:
空1:
3
31.题号:
3767
若有以下定义:
doublew[10];
则w数组元素下标的上限是_____,下限是_____。
答案:
空1:
9
空2:
0
32.题号:
3726
已知inta[10]={11,2,31,4,5,6,7,8,9,10};最大的元素的下标值是_____.
答案:
空1:
2
33.题号:
3951
已知inta[10]={1,2,3,4,5,6,7,0,9,6};最小的元素的下标值是_____.
答案:
空1:
7
34.题号:
3539
已知inta[10]={1,2,3,4,5,6,7,8,9,10};最大的元素的下标值是_____.
答案:
空1:
9
35.题号:
3800
已知intb[]={1,2,3,4,5,6};则b数组中含有_____个元素.
答案:
空1:
6
36.题号:
3797
若有以下整型数组a[10],其值为941282107513该数组可用的最大下标值是_____.
答案:
空1:
9
37.题号:
3884
已知intb[8]={1,2,3,4,5,6};则b数组中含有_____个元素.
答案:
空1:
8
程序设计
==================================================
38.题号:
7006
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
给定n个数据,求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可)。
注意:
部分源程序给出如下。
请勿改动主函数main和其
它函数中的任何内容,仅在函数station的花括号中填
入所编写的若干语句。
*********Begin**********和**********End**********不可删除
------------------------------------------------*/
#include
voidbky();
intstation(ints[],intn)
{
/**********Begin**********/
/**********End**********/
}
main()
{
inta[100],n,i,t;
scanf("%d",&n);
for(i=0;i scanf("%d",&a[i]); t=station(a,n); printf("themax_valuepositionis: %d\n",t); bky(); } voidbky() { FILE*IN,*OUT; intn; inti[10]; into; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFILEError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("WriteFILEError"); } for(n=0;n<10;n++) { fscanf(IN,"%d",&i[n]); } o=station(i,10); fprintf(OUT,"%d\n",o); fclose(IN); fclose(OUT); } 示例代码: inti,k; k=0; for(i=1;i<=n;i++) if(s[i]>s[k])k=i; return(k+1); 39.题号: 7030 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数将数组中的数逆序存放,输入输出在主函数中实现。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数 main和其它函数中的任何内容,仅在函 数的花括号中填入所编写的若干语句。 *********Begin**********和**********End**********不可删除 ------------------------------------------------*/ #include"stdio.h" voidinvert(inta[],intm) { /**********Begin**********/ /**********End**********/ } main() {inti; inta[10]={12,34,54,13,15,16,56,45,3,5}; //clrscr(); for(i=0;i<10;i++) printf("%3d",a[i]); printf("\n---------------------------\n"); invert(a,10); for(i=0;i<10;i++) printf("%3d",a[i]); yzj(); //getch(); } yzj() { FILE*IN,*OUT; intm,n; inti[10]; into; IN=fopen("in.dat","r"); if(IN==NULL) {printf("ReadFileError"); } OUT=fopen("out.dat","w"); if(OUT==NULL) {printf("WriteFileError"); } for(n=0;n<10;n++) fscanf(IN,"%d",&i[n]); invert(i,10); for(n=0;n<10;n++) fprintf(OUT,"%d\n",i[n]); fclose(IN); fclose(OUT); } 示例代码: inti,k; for(i=0;i {k=a[i]; a[i]=a[m-1-i]; a[m-1-i]=k; } 40.题号: 7012 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 求一组整数的平均值,并统计出这一组数中正数和负数的个数。 具体要求如下: 定义一维数组inta[10]: 输入一组整数到数组a中。 计算这一组数的平均值,统计其中正数和负数的个数,并输出。 *********Begin**********和**********End**********不可删除 */ #include intmain() { inti,n=0,p=0,a[10]={1,6,9,13,8,-5,-12,7,-2,-4}; doubleaver=0; FILE*outf;/*系统判分使用*/ /**********Begin**********/ /**********End**********/ printf("平均值=%.2lf\n",aver); printf("正数的个数=%d\n",p); printf("负数的个数=%d\n",n); /*此处将结果输出到文件"bc01.in",请勿改动,否则影响判分*/ outf=fopen("bc01.in","w"); fprintf(outf,"平均值=%.2lf\n",aver); fprintf(outf,"正数的个数=%d\n",p); fprintf(outf,"负数的个数=%d\n",n); fclose(outf); return0; } 示例代码: for(i=0;i<10;i++) { aver=aver+a[i]; if(a[i]>0)p++; elsen++; } aver=aver/10; 41.题号: 6963 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 编写函数fun,函数的功能是: 求一组数中大于平均值的数的个数。 例如: 给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 -------------------------------------------------- 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 *********Begin**********和**********End**********不可删除 ------------------------------------------------*/ #include"stdio.h" intfun(inta[],intn) { /*********Begin**********/ /**********End**********/ } main() { inta[10]={1,3,6,9,4,23,35,67,12,88}; inty; y=fun(a,10); printf("y=%d\n",y); TestFunc(); } TestFunc() { FILE*IN,*OUT; intiIN[10],iOUT,i,j; IN=fopen("25.in","r"); if(IN==NULL) {printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged"); } OUT=fopen("25.out","w"); if(OUT==NULL) {printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); } for(j=0;j<10;j++) {for(i=0;i<10;i++) fscanf(IN,"%d",&iIN[i]); iOUT=fun(iIN,10); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 示例代码: inti,k=0; floats=0,ave; for(i=0;i s+=a[i]; ave=s/n; printf("%f",ave); for(i=0;i if(a[i]>ave)k++; returnk; 42.题号: 7050 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 找出一批正整数中的最大的偶数。 注意: 部分源程序给出如下。 请勿改动主函数main和其 它函数中的任何内容,仅在函数fun的花括号中填 入所编写的若干语句。 *********Begin**********和**********End**********不可删除 ------------------------------------------------*/ #include"stdio.h" voidTestFunc(); intfun(inta[],intn) { /**********Begin**********/ /**********End**********/ } voidmain() { inta[]={1,2,9,24,35,18},k; k=fun(a,6); printf("max=%d\n",k); TestFunc(); } voidTestFunc() { FILE*IN,*OUT; intiIN[10],iOUT,i,j; IN=fopen("28.in","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged"); } OUT=fopen("28.out","w"); if(OUT==NULL) { printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); } for(j=0;j<10;j++) { for(i=0;i<10;i++) fscanf(IN,"%d",&iIN[i]); iOUT=fun(iIN,10); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 示例代码: inti,amax=-1; for(i=0;i if(a[i]%2==0) if(a[i]>amax)amax=a[i]; returnamax; 43.题号: 7014 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 题目: 将一维数组按从小到大的顺序排序。 具体要求如下: (1)函数。 voidproce
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三次 测试 练习题 答案 312