《计算机编程语言—C语言》第78卷:常考题训练卷 湖南省计算机应用类考纲百套卷

2025-07-09
| 2份
| 17页
| 126人阅读
| 1人下载

内容正文:

编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第78卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示: ①数组的定义和使用。②指针的概念和定义。③数组与指针在程序中的应用。 湖南省《计算机应用考纲百套卷》 《计算机编程语言—C语言》 第78卷 常考题训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题3分,合计60分) 1.C语言中,一个2行3列矩阵M的值如下图所示,能够得到M中数值5的表达式是( ) A.*(M+1)+1 B.*(*M+1)+1 C.*(*(M+1)+1) D.**((*M+1)+1) 【答案】C 2.若有定义语句“int a[3][5];”,按内存中的数据存放顺序,a数组的第10个元素是( ) A.a[1][4] B.a[1][3] C.a[2][3] D.a[2][4] 【答案】A 3.下列关于一维整型数组a的说明中,正确的是( ) A.int a(10); B.int n=10,a[n]; C.int n;scanf(“%d”,&n);int a[n]; D.#define SIZE 10 int a[SIZE]; 【答案】D 4.若“char a[6]=“abcd”;”,执行:printf(“%d”,strlen(a));后,输出结果是( ) A.5 B.6 C.7 D.e 【答案】A 5.若:int a[9],*p=a;,并在以后的语句中未改变p的值,则不能表示a[2]地址的是( ) A.p+2 B.a+2 C.p+=2 D.a+=2 【答案】D 6.若有定义:int a[5],*p=a;则对a数组元素的正确引用是( ) A.*&a[5] B.a+2 C.*(p+5) D.*(p+2) 【答案】D 7.若有定义:int a[5], *p=a;则对a数组元素地址的正确引用是( ) A.p+5 B.*a+1 C.&(a+1) D.&a[0] 【答案】D 8.下列程序的运行结果为( ) main() {char a[20]={"abcdo"}; printf("%d",sizeof(a));getch();} A.3 B.4 C.5 D.20 【答案】B 9.下列选项中,对数组正确定义的是( ) A.a[123][4] B.a{1}{2} C.a(3)(4) D.a[12](42) 【答案】A 10.下列定义的二维数组元素个数为20的是( ) A.a[123][4] B.b[10][10] C.c[2][10] D.d[10][20] 【答案】C 11.执行以下程序的输出结果是( ) main() {int a[2][3]={1,2,3,7,8,9},i,sum=1; for(i=0;i<2;i++) sum+=a[i][2]; printf("%d",++sum);getch();} A.13 B.14 C.15 D.16 【答案】B 12.二维数组a[2][4]代表的行数有( ) A.2行 B.4行 C.1行 D.3行 【答案】A 13.执行以下程序的输出结果是( ) main() {int a[2][3]={1,2,3},s; s=a[a[1][2]][0]++; printf("%d",s);getch();} A.1 B.2 C.3 D.4 【答案】A 14.执行以下程序的输出结果是( ) main() {char a[ ]="China!",b[ ]="china!"; printf("%d",strcmp(a,b));getch();} A.-1 B.0 C.1 D.2 【答案】A 15.执行以下程序的输出结果是( ) main() {int a[3]={1},i; for(i=0;i<2;i++) printf("%d",a[i]);getch();} A.01 B.001 C.10 D.100 【答案】C 16.在C语言中,用于字符串的比较的函数是( ) A.strcpy() B.max() C.strcmp() D.compare() 【答案】C 17.下列描述正确的是( ) A.两个字符串所包含的字符个数相同时,才能比较字符串 B.字符个数多的字符串比字符个数少的字符串大 C.字符串“STOP□”与“STOP”相等(注:□表示空格) D.字符串“That”小于字符串“The” 【答案】D 18.执行以下程序的输出结果是( ) main() {char a[ ]="123poi"; int i,s=0; for(i=0;a[i]>='2'&&a[i]<='3';i++) s=s*10+a[i]-48; printf("%d",s+1);getch();} A.1 B.2 C.3 D.4 【答案】A 19.执行以下程序的输出结果是( ) main() {char a[ ]="asdfghj",c; int i=1,sum=5; for(;(c=a[i+1]!='h');++i) {switch(c) {case 's':sum++;break; case 'd':sum+=4; default:sum--;} printf("%d",sum);}getch();} A.430 B.431 C.432 D.433 【答案】C 20.若有定义:int a[2][3];则对a数组的第i行第j列元素值的正确引用是( ) A.*(*(a+i)+j) B.(a+i)[j] C.*(a+i+j) D.*(a+i)+j 【答案】A 二、程序运行结果题(共6小题,每小题4分,共24分) 21.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> main() { char s[10]="abc"; char t[10]="123"; char p[10]="xyz"; strcpy(s+1,t+1); printf("string=%s",(strcat(s,p+1))); getch();} 【答案】string=a23yz 22.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #define N 5 int s(int n) {int t=0; while(n) {t+=n%10; n=n/10;} return t;} void f(int *a) {int i,j,t,si,sj; for(i=1;i<N;i++) {si=s(a[i]); for(j=0;j<=i;j++) {sj=s(a[j]); if(si>sj) {t=a[i],a[i]=a[j],a[j]=t;}}}} main() { int a[N]={43,35,67,18,50}; int i; f(a); for(i=0;i<N;i++) printf("%4d",a[i]); printf(" "); getch();} 【答案】 67 18 35 43 50 23.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() { int i=0; char a[ ]="gows do you do"; char b[ ]="gfdr is knowledge"; for(;i<4;i++) printf("%d",a[i]-b[i]);getch();} 【答案】09191 24.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() { char a[ ]="Yes,you are right"; char *p; p=a; p+=2; puts(p); getch();} 【答案】s,you are right 25.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() { int j,c; char a[2][5]={"2025","2026"}; for(j=2;j>-1;j--) {c=(a[0][j+1]+a[0][j])-2*48; a[0][j]=c%10+48;} for(j=0;j<=1;j++) puts(a[j]); getch();} 【答案】 9775 2026 26.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() {char a[ ]="HNANSSB",c; int k; for(k=0;(c=a[k])!='S';k++) {switch(c) {case 'H':printf("%d",'A'); case 'A':putchar('#');break; default:puts("fdcca");}} getch();} 【答案】 65#fdcca #fdcca 三、程序填空题(共1小题,每空4分,合计16分) 27.程序填空。7个待测样本中有且仅有一个样本指标超标,为了找到这唯一超标样本,采用3个检测试剂盒进行检测。方法如下:把7个样本按照1,2,3,……,7进行编号,并将其编号转换为相应的3位二进制数;把可重复使用的3个检测试剂盒进行编号,分别对应3位二进制数的每一位;如果样本编号3位二进制中的某位为1,就用相应的二进制位(编号)的试剂盒进行检测,按照上述方法对每一个待测样本进行检测;最后,检测为阳性(设定值为1)试剂盒编号组成的二进制数就是超标样本的编号。以下程序的功能就是完成上述检测方法并输出超标样本编号,即“flag=7”。 #include <stdio.h> #include<conio.h> main() { int sample[8]={0,0,0,0,0,0,0,1}; int test[3]={0}; int i,j,k,base=1,flag=0; for(i=1;i<=7;i++) {【1】; j=0; while(【2】) {if(k%2==1) test[j]=test[j]||sample[i]; 【3】; j++;}} for(i=0;i<3;i++) {flag+=test[i]*base; 【4】;} printf("flag=%d",flag); getch();} 【答案】①k=i ②k或k!=0 ③k=k/2 ④base*=2 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第78卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示: ①数组的定义和使用。②指针的概念和定义。③数组与指针在程序中的应用。 湖南省《计算机应用考纲百套卷》 《计算机编程语言—C语言》 第78卷 常考题训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题3分,合计60分) 1.C语言中,一个2行3列矩阵M的值如下图所示,能够得到M中数值5的表达式是( ) A.*(M+1)+1 B.*(*M+1)+1 C.*(*(M+1)+1) D.**((*M+1)+1) 2.若有定义语句“int a[3][5];”,按内存中的数据存放顺序,a数组的第10个元素是( ) A.a[1][4] B.a[1][3] C.a[2][3] D.a[2][4] 3.下列关于一维整型数组a的说明中,正确的是( ) A.int a(10); B.int n=10,a[n]; C.int n;scanf(“%d”,&n);int a[n]; D.#define SIZE 10 int a[SIZE]; 4.若“char a[6]=“abcd”;”,执行:printf(“%d”,strlen(a));后,输出结果是( ) A.5 B.6 C.7 D.e 5.若:int a[9],*p=a;,并在以后的语句中未改变p的值,则不能表示a[2]地址的是( ) A.p+2 B.a+2 C.p+=2 D.a+=2 6.若有定义:int a[5],*p=a;则对a数组元素的正确引用是( ) A.*&a[5] B.a+2 C.*(p+5) D.*(p+2) 7.若有定义:int a[5], *p=a;则对a数组元素地址的正确引用是( ) A.p+5 B.*a+1 C.&(a+1) D.&a[0] 8.下列程序的运行结果为( ) main() {char a[20]={"abcdo"}; printf("%d",sizeof(a));getch();} A.3 B.4 C.5 D.20 9.下列选项中,对数组正确定义的是( ) A.a[123][4] B.a{1}{2} C.a(3)(4) D.a[12](42) 10.下列定义的二维数组元素个数为20的是( ) A.a[123][4] B.b[10][10] C.c[2][10] D.d[10][20] 11.执行以下程序的输出结果是( ) main() {int a[2][3]={1,2,3,7,8,9},i,sum=1; for(i=0;i<2;i++) sum+=a[i][2]; printf("%d",++sum);getch();} A.13 B.14 C.15 D.16 12.二维数组a[2][4]代表的行数有( ) A.2行 B.4行 C.1行 D.3行 13.执行以下程序的输出结果是( ) main() {int a[2][3]={1,2,3},s; s=a[a[1][2]][0]++; printf("%d",s);getch();} A.1 B.2 C.3 D.4 14.执行以下程序的输出结果是( ) main() {char a[ ]="China!",b[ ]="china!"; printf("%d",strcmp(a,b));getch();} A.-1 B.0 C.1 D.2 15.执行以下程序的输出结果是( ) main() {int a[3]={1},i; for(i=0;i<2;i++) printf("%d",a[i]);getch();} A.01 B.001 C.10 D.100 16.在C语言中,用于字符串的比较的函数是( ) A.strcpy() B.max() C.strcmp() D.compare() 17.下列描述正确的是( ) A.两个字符串所包含的字符个数相同时,才能比较字符串 B.字符个数多的字符串比字符个数少的字符串大 C.字符串“STOP□”与“STOP”相等(注:□表示空格) D.字符串“That”小于字符串“The” 18.执行以下程序的输出结果是( ) main() {char a[ ]="123poi"; int i,s=0; for(i=0;a[i]>='2'&&a[i]<='3';i++) s=s*10+a[i]-48; printf("%d",s+1);getch();} A.1 B.2 C.3 D.4 19.执行以下程序的输出结果是( ) main() {char a[ ]="asdfghj",c; int i=1,sum=5; for(;(c=a[i+1]!='h');++i) {switch(c) {case 's':sum++;break; case 'd':sum+=4; default:sum--;} printf("%d",sum);}getch();} A.430 B.431 C.432 D.433 20.若有定义:int a[2][3];则对a数组的第i行第j列元素值的正确引用是( ) A.*(*(a+i)+j) B.(a+i)[j] C.*(a+i+j) D.*(a+i)+j 二、程序运行结果题(共6小题,每小题4分,共24分) 21.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> main() { char s[10]="abc"; char t[10]="123"; char p[10]="xyz"; strcpy(s+1,t+1); printf("string=%s",(strcat(s,p+1))); getch();} 22.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #define N 5 int s(int n) {int t=0; while(n) {t+=n%10; n=n/10;} return t;} void f(int *a) {int i,j,t,si,sj; for(i=1;i<N;i++) {si=s(a[i]); for(j=0;j<=i;j++) {sj=s(a[j]); if(si>sj) {t=a[i],a[i]=a[j],a[j]=t;}}}} main() { int a[N]={43,35,67,18,50}; int i; f(a); for(i=0;i<N;i++) printf("%4d",a[i]); printf(" "); getch();} 23.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() { int i=0; char a[ ]="gows do you do"; char b[ ]="gfdr is knowledge"; for(;i<4;i++) printf("%d",a[i]-b[i]);getch();} 24.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() { char a[ ]="Yes,you are right"; char *p; p=a; p+=2; puts(p); getch();} 25.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() { int j,c; char a[2][5]={"2025","2026"}; for(j=2;j>-1;j--) {c=(a[0][j+1]+a[0][j])-2*48; a[0][j]=c%10+48;} for(j=0;j<=1;j++) puts(a[j]); getch();} 26.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> main() {char a[ ]="HNANSSB",c; int k; for(k=0;(c=a[k])!='S';k++) {switch(c) {case 'H':printf("%d",'A'); case 'A':putchar('#');break; default:puts("fdcca");}} getch();} 三、程序填空题(共1小题,每空4分,合计16分) 27.程序填空。7个待测样本中有且仅有一个样本指标超标,为了找到这唯一超标样本,采用3个检测试剂盒进行检测。方法如下:把7个样本按照1,2,3,……,7进行编号,并将其编号转换为相应的3位二进制数;把可重复使用的3个检测试剂盒进行编号,分别对应3位二进制数的每一位;如果样本编号3位二进制中的某位为1,就用相应的二进制位(编号)的试剂盒进行检测,按照上述方法对每一个待测样本进行检测;最后,检测为阳性(设定值为1)试剂盒编号组成的二进制数就是超标样本的编号。以下程序的功能就是完成上述检测方法并输出超标样本编号,即“flag=7”。 #include <stdio.h> #include<conio.h> main() { int sample[8]={0,0,0,0,0,0,0,1}; int test[3]={0}; int i,j,k,base=1,flag=0; for(i=1;i<=7;i++) {【1】; j=0; while(【2】) {if(k%2==1) test[j]=test[j]||sample[i]; 【3】; j++;}} for(i=0;i<3;i++) {flag+=test[i]*base; 【4】;} printf("flag=%d",flag); getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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