《计算机编程语言—C语言》第51卷:一维数组的定义及应用 - 知识点训练卷 湖南省计算机应用考纲百套卷

2025-06-16
| 2份
| 17页
| 127人阅读
| 3人下载

内容正文:

编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第51卷,知识点:①一维数组的定义;②一维数组的初始化及引用;③一维数组的应用; 湖南省《计算机应用考纲百套卷》 《计算机编程语言-C语言》 第51卷: 一维数组的定义及应用 知识点训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题2分,共40分) 1.下列不能正确赋值的选项是( ) A.char *str1=“Gentlemen”; B.char str2[ ]={‘L’,‘a’,‘d’,‘i’,‘e’,‘s’}; C.char str3[20];str3=“Gentlemen”; D.char str4[20]=“Ladies”; 【答案】C 2.以下定义语句中,不正确的一项是( ) A.double a[5]={1.0,2.0,3.0,4.0,5.0}; B.int a[5]={0,1,2,3,4,5}; C.char c[ ]={‘1’,‘2’,‘3’,‘4’,‘5’}; D.char c[ ]={‘\x18’,‘\x3a’,‘\x18’}; 【答案】B 3.设有定义:char a[ ]=“hunan”;,则数组a所占据的存储空间为( )个字节。 A.5 B.6 C.7 D.8 【答案】B 4.下列选项中,不能正确赋值的是( ) A.char a[ ]=“Hunan”; B.char a[30]={“Hunan”}; C.char a[30];a=“Hunan”; D.char a[30]={‘H’,‘u’,‘n’,‘a’,‘n’}; 【答案】C 5.下列定义语句中,不正确的一项是( ) A.int a[5]={1}; B.int c[ ]={1,1,2,2,3,3}; C.int b[2+2]; D.int i=8,a[i]; 【答案】D 6.在C语言中,引用数组元素时,其数组下标的数据类型允许是( ) A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 【答案】C 7.下列选项中,对一维整型数组a定义正确的语句是( ) A. int n;scanf(“%d”,&n);int a[n]; B.int n=12,a[n]; C. #define SIZE 10 D. int a(10); int a[SIZE]; 【答案】C 8.设有定义:int k[5];,则对k数组元素的正确引用的是( ) A.k[5] B.k[2.5] C.k(5) D.k[1+2] 【答案】D 9.下列数组定义语句中,不正确的一项是( ) A.char a[1]=’a’; B.auto char a[1]={0}; C.static char a[1]; D.char a[1]; 【答案】D 10.下列选项中,叙述不正确的一项是( ) A.对于double类型的数组,不可以直接用数组名对数组整体输入或输出 B.可以通过赋初值的方式确定数组元素的个数 C.数组名代表的是数组所占存储区的首地址,其值不可改变 D.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 【答案】D 11.在Microsoft Visual C++ 2010中,设有定义:int x[10]={0,2,4};,则数组x在内存中所占的字节数为( ) A.3 B.10 C.12 D.40 【答案】D 12.设有定义:int a[8],则下列表达式中不能代表数组元素a[1]地址的是( ) A.&a[0]+1 B.&a[1] C.&a[0]++ D.a+1 【答案】C 13.下列关于C语言中数组的描述正确的一项是( ) A.数组的大小是固定的,但可以有不同类型的数组元素 B.数组的大小是固定的,所有数组元素的类型必须相同 C.数组的大小是可变的,但所有数组元素的类型必须相同 D.数组的大小是可变的,可以有不同类型的数组元素 【答案】B 14.设有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c=’a’,d,g;,则a数组元素值为4的表达式是( ) A.a[g-c] B.a[4] C.a[‘d’-‘c’] D.a[‘d’-c] 【答案】D 15.设有定义:float a[5]={1,2,3};,则下列描述正确的是( ) A.a并不代表数组的元素 B.定义此数组时不指定数组的长度,定义效果相同 C.数组含有3个元素 D.a[3]的值为3 【答案】A 16.设有定义:int cx[10];int *bin;bin=cx;,则下列对数组cx正确引用的是( ) A.bin+1; B.*(bin+3); C.**(bin+1)+3; D.*(*bin+2); 【答案】B 17.执行以下程序段的输出结果是( ) main() {float a[3]={1.0,2.0,3.0}; printf("%d",sizeof(a));getch();} A.3 B.8 C.12 D.24 【答案】C 18.执行以下程序段的输出结果是( ) main() {int a[3]={1,2,3},i; for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf("%d",a[0]);getch();} A.1 B.2 C.5 D.6 【答案】D 19.设有定义:double x[10],*p=x;,如下能给数组x下标为6的元素读入数据的正确语句是( ) A.scanf("%f",&x[6]); B.scanf("%lf",*(x+6)); C.scanf("%lf",p+6); D.scanf("%lf",p[6]); 【答案】C 20. 如下函数的功效是:通过键盘输入数据,为数组中的所有元素赋值。在程序中下划线处应填入的是( ) #include <stdio.h> #define N 10 void fun(int x[N]) { int i=0; while(i<N) scanf(“%d”,_______);} A.x+i B.&x[i+1]   C.x+(i++) D.&x[++i] 【答案】C 二、程序运行结果题(本题共6题,每题4分,共24分) 21. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> int main() {int a[ ]={118,65,128};int i; for(i=0;i<3;i++) printf("%c",(a[i])&(a[i]-1)?'N':'Y');getch();} 【答案】NNY 22. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main() {int n=132,i=1,j,k,b[10]; while(n!=0) {j=n%6;b[i]=j; n=n/6; i++;} for(k=i-1;k>0;k--) printf("%d",b[k]); getch();} 【答案】340 23. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main() {int i,n[4]={1}; for(i=1;i<=3;i++) { n[i]=n[i-1]*2+1; printf("%d",n[i]); }getch();} 【答案】3715 24. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main( ) {int i, n[ ]={0,0,0,0,0}; for ( i=1; i<=2; i++ ) {n[i]=n[i-1]*3 + 1; printf("%d",n[i]);} printf(" "); printf(" ");getch();} 【答案】14 25. 下列程序的运行结果是 (运行程序时从键盘输入ABCACC<回车>) #include<stdio.h> #include<conio.h> main( ) {int c[3]={0}, k, i; while ( (k=getchar() )!=' ') c[k-'A']++; for (i=0; i<3; i++) printf("%d",c[i]); printf(" "); getch();} 【答案】213 26. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main( ) {int n[2], i, j; for ( i=0; i<2; i++ ) n[i]=0; for ( i=0; i<2; i++ ) for ( j=0; j<2; j++ ) n[j]=n[i]+1; printf("%d ",n[1]); getch();} 【答案】3 三、程序填空题(本题共2题,每空4分,共24分) 27.下列程序的功能是:从键盘输入10个整数,输出这10个数中仅仅只出现1次的数。设输入:12 36 72 36 87 99 87 87 12 35,则输出:72 99 35。请填空。 #include<stdio.h> #include<conio.h> main() {int a[10],i,j; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) {for(j=0;j<10;j++) if(【1】&&a[i]==a[j])【2】; if(【3】) printf("%d ",a[i]);} getch();} 【答案】①i!=j ②break ③j>=10 28.下列程序的功能是:从键盘输入M个整数,去掉其中最大的2个数和最小的2个数,求剩余数据的平均值。请填空。 #include<stdio.h> #include<conio.h> #define M 10 main() {int a[M],sum=0,i,j,t; for(i=0;i<M;i++) scanf("%d",&a[i]); for(i=0;i<M-1;i++) for(j=0;j<【1】;j++) if(【2】) {t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<M;i++) printf("%d ",a[i]); for(i=2;i<M-2;i++) sum+=a[i]; printf(" 平均值为:%.1f ",【3】); getch();} 【答案】①M-i-1 ②a[j]>a[j+1] ③(float)sum/(M-4) 四、程序改错题(本题共1题,每空4分,共12分) 29.下列程序的功能是:使用冒泡排序法求出由11个整数组成的中间值,并输出所有大于中间值的偶数。程序中有三处错误,请改正。 L1 #include<stdio.h> L2 #include<conio.h> L3 #define M 10 L4 main() L5 { L6 int i,j,temp,arry[11]; L7 for(i=0;i<11;i++) L8 scanf("%d",&arry[i]); L9 for(i=0;i<11;i++) L10 for(j=0;j<10;j++) L11 if(arry[j]>arry[j+1]) L12 {temp=arry[j]; L13 arry[j]=arry[j]; L14 arry[j+1]=temp;} L15 printf("中间值%d ",arry[5]); L16 for(i=0;i<5;i++) L17 if(arry[i]%2!=0) L18 printf("%d ",arry[i]); L19 getch();} 【答案】 ①L11 if(arry[j]<arry[j+1]) ②L13 arry[j]=arry[j+1]; ③L17 if(arry[i]%2==0) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第51卷,知识点:①一维数组的定义;②一维数组的初始化及引用;③一维数组的应用; 湖南省《计算机应用考纲百套卷》 《计算机编程语言-C语言》 第51卷: 一维数组的定义及应用 知识点训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题2分,共40分) 1.下列不能正确赋值的选项是( ) A.char *str1=“Gentlemen”; B.char str2[ ]={‘L’,‘a’,‘d’,‘i’,‘e’,‘s’}; C.char str3[20];str3=“Gentlemen”; D.char str4[20]=“Ladies”; 2.以下定义语句中,不正确的一项是( ) A.double a[5]={1.0,2.0,3.0,4.0,5.0}; B.int a[5]={0,1,2,3,4,5}; C.char c[ ]={‘1’,‘2’,‘3’,‘4’,‘5’}; D.char c[ ]={‘\x18’,‘\x3a’,‘\x18’}; 3.设有定义:char a[ ]=“hunan”;,则数组a所占据的存储空间为( )个字节。 A.5 B.6 C.7 D.8 4.下列选项中,不能正确赋值的是( ) A.char a[ ]=“Hunan”; B.char a[30]={“Hunan”}; C.char a[30];a=“Hunan”; D.char a[30]={‘H’,‘u’,‘n’,‘a’,‘n’}; 5.下列定义语句中,不正确的一项是( ) A.int a[5]={1}; B.int c[ ]={1,1,2,2,3,3}; C.int b[2+2]; D.int i=8,a[i]; 6.在C语言中,引用数组元素时,其数组下标的数据类型允许是( ) A.整型常量 B.整型表达式 C.整型常量或整型表达式 D.任何类型的表达式 7.下列选项中,对一维整型数组a定义正确的语句是( ) A. int n;scanf(“%d”,&n);int a[n]; B.int n=12,a[n]; C. #define SIZE 10 D. int a(10); int a[SIZE]; 8.设有定义:int k[5];,则对k数组元素的正确引用的是( ) A.k[5] B.k[2.5] C.k(5) D.k[1+2] 9.下列数组定义语句中,不正确的一项是( ) A.char a[1]=’a’; B.auto char a[1]={0}; C.static char a[1]; D.char a[1]; 10.下列选项中,叙述不正确的一项是( ) A.对于double类型的数组,不可以直接用数组名对数组整体输入或输出 B.可以通过赋初值的方式确定数组元素的个数 C.数组名代表的是数组所占存储区的首地址,其值不可改变 D.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 11.在Microsoft Visual C++ 2010中,设有定义:int x[10]={0,2,4};,则数组x在内存中所占的字节数为( ) A.3 B.10 C.12 D.40 12.设有定义:int a[8],则下列表达式中不能代表数组元素a[1]地址的是( ) A.&a[0]+1 B.&a[1] C.&a[0]++ D.a+1 13.下列关于C语言中数组的描述正确的一项是( ) A.数组的大小是固定的,但可以有不同类型的数组元素 B.数组的大小是固定的,所有数组元素的类型必须相同 C.数组的大小是可变的,但所有数组元素的类型必须相同 D.数组的大小是可变的,可以有不同类型的数组元素 14.设有定义:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c=’a’,d,g;,则a数组元素值为4的表达式是( ) A.a[g-c] B.a[4] C.a[‘d’-‘c’] D.a[‘d’-c] 15.设有定义:float a[5]={1,2,3};,则下列描述正确的是( ) A.a并不代表数组的元素 B.定义此数组时不指定数组的长度,定义效果相同 C.数组含有3个元素 D.a[3]的值为3 16.设有定义:int cx[10];int *bin;bin=cx;,则下列对数组cx正确引用的是( ) A.bin+1; B.*(bin+3); C.**(bin+1)+3; D.*(*bin+2); 17.执行以下程序段的输出结果是( ) main() {float a[3]={1.0,2.0,3.0}; printf("%d",sizeof(a));getch();} A.3 B.8 C.12 D.24 18.执行以下程序段的输出结果是( ) main() {int a[3]={1,2,3},i; for(i=1;i<3;i++) a[0]=a[0]+a[i]; printf("%d",a[0]);getch();} A.1 B.2 C.5 D.6 19.设有定义:double x[10],*p=x;,如下能给数组x下标为6的元素读入数据的正确语句是( ) A.scanf("%f",&x[6]); B.scanf("%lf",*(x+6)); C.scanf("%lf",p+6); D.scanf("%lf",p[6]); 20. 如下函数的功效是:通过键盘输入数据,为数组中的所有元素赋值。在程序中下划线处应填入的是( ) #include <stdio.h> #define N 10 void fun(int x[N]) { int i=0; while(i<N) scanf(“%d”,_______);} A.x+i B.&x[i+1]   C.x+(i++) D.&x[++i] 二、程序运行结果题(本题共6题,每题4分,共24分) 21. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> int main() {int a[ ]={118,65,128};int i; for(i=0;i<3;i++) printf("%c",(a[i])&(a[i]-1)?'N':'Y');getch();} 22. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main() {int n=132,i=1,j,k,b[10]; while(n!=0) {j=n%6;b[i]=j; n=n/6; i++;} for(k=i-1;k>0;k--) printf("%d",b[k]); getch();} 23. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main() {int i,n[4]={1}; for(i=1;i<=3;i++) { n[i]=n[i-1]*2+1; printf("%d",n[i]); }getch();} 24. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main( ) {int i, n[ ]={0,0,0,0,0}; for ( i=1; i<=2; i++ ) {n[i]=n[i-1]*3 + 1; printf("%d",n[i]);} printf(" "); printf(" ");getch();} 25. 下列程序的运行结果是 (运行程序时从键盘输入ABCACC<回车>) #include<stdio.h> #include<conio.h> main( ) {int c[3]={0}, k, i; while ( (k=getchar() )!=' ') c[k-'A']++; for (i=0; i<3; i++) printf("%d",c[i]); printf(" "); getch();} 26. 下列程序的运行结果是 #include<stdio.h> #include<conio.h> main( ) {int n[2], i, j; for ( i=0; i<2; i++ ) n[i]=0; for ( i=0; i<2; i++ ) for ( j=0; j<2; j++ ) n[j]=n[i]+1; printf("%d ",n[1]); getch();} 三、程序填空题(本题共2题,每空4分,共24分) 27.下列程序的功能是:从键盘输入10个整数,输出这10个数中仅仅只出现1次的数。设输入:12 36 72 36 87 99 87 87 12 35,则输出:72 99 35。请填空。 #include<stdio.h> #include<conio.h> main() {int a[10],i,j; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) {for(j=0;j<10;j++) if(【1】&&a[i]==a[j])【2】; if(【3】) printf("%d ",a[i]);} getch();} 28.下列程序的功能是:从键盘输入M个整数,去掉其中最大的2个数和最小的2个数,求剩余数据的平均值。请填空。 #include<stdio.h> #include<conio.h> #define M 10 main() {int a[M],sum=0,i,j,t; for(i=0;i<M;i++) scanf("%d",&a[i]); for(i=0;i<M-1;i++) for(j=0;j<【1】;j++) if(【2】) {t=a[j];a[j]=a[j+1];a[j+1]=t;} for(i=0;i<M;i++) printf("%d ",a[i]); for(i=2;i<M-2;i++) sum+=a[i]; printf(" 平均值为:%.1f ",【3】); getch();} 四、程序改错题(本题共1题,每空4分,共12分) 29.下列程序的功能是:使用冒泡排序法求出由11个整数组成的中间值,并输出所有大于中间值的偶数。程序中有三处错误,请改正。 L1 #include<stdio.h> L2 #include<conio.h> L3 #define M 10 L4 main() L5 { L6 int i,j,temp,arry[11]; L7 for(i=0;i<11;i++) L8 scanf("%d",&arry[i]); L9 for(i=0;i<11;i++) L10 for(j=0;j<10;j++) L11 if(arry[j]>arry[j+1]) L12 {temp=arry[j]; L13 arry[j]=arry[j]; L14 arry[j+1]=temp;} L15 printf("中间值%d ",arry[5]); L16 for(i=0;i<5;i++) L17 if(arry[i]%2!=0) L18 printf("%d ",arry[i]); L19 getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《计算机编程语言—C语言》第51卷:一维数组的定义及应用 - 知识点训练卷   湖南省计算机应用考纲百套卷
1
《计算机编程语言—C语言》第51卷:一维数组的定义及应用 - 知识点训练卷   湖南省计算机应用考纲百套卷
2
《计算机编程语言—C语言》第51卷:一维数组的定义及应用 - 知识点训练卷   湖南省计算机应用考纲百套卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。