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

2025-07-09
| 2份
| 19页
| 117人阅读
| 1人下载

内容正文:

编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第77卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示: ①函数的定义。②形参与实参之间的传递。③函数的调用与返回值。④变量的作用域及存储方式。⑤数组与函数在程序中的应用 湖南省《计算机应用考纲百套卷》 《计算机编程语言—C语言》 第77卷 常考题训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题3分,合计60分) 1.下列关于自定义一个函数的说法中,正确的是( ) A.提高程序的执行效率 B.减少程序的篇幅 C.提高程序的可读性 D.减少程序文件所占内存 2.下列函数定义形式正确的是( ) A.double fun(char x,double y) B.int fun(int x;int y) C.char *fun(int x,int y); D.int *fun(int x;int y); 3.C语言允许函数值类型缺省定义,此时函数值隐含的类型是( ) A.float型 B.int型 C.long型 D.double型 4.若调用一个函数,且此函数中没有return语句,则下列说法中正确的是( ) A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 5.下列说法中不正确的一项是( ) A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以是任意类型 D.形参应与其对立的实参类型一致 6.下列说法中,正确的一项是( ) A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式 C.如果函数值的类型与返回值的类型不一致,那么以函数值类型为准 D.如果形参与实参的类型不一致,那么以实参类型为准 7.若使用一维数组名作为函数实参,则下列说法中正确的一项是( ) A.必须在主调函数中说明此数组的大小 B.实参数组类型与形参数组类型可以不匹配 C.被调函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致 8.下列选项中说法错误的一项是( ) A.形式参数是局部变量 B.在不同函数中可以使用相同名字的变量 C.在函数内定义的变量只在本函数范围内有效 D.在函数内的复合语句中定义的变量在本函数范围内有效 9.执行以下程序的运行结果是( ) void fun(int a) {a=20;} main() {int a=10; fun(100); printf("%d",a);getch();} A.10 B.20 C.100 D.编译出错 10.执行以下程序的输出结果是( ) int a=123; int fun(int a) {return ++a;} main() {static int a=10; printf("%d",fun(fun(a)));getch();} A.10 B.11 C.12 D.123 11.执行以下程序的输出结果是( ) void fun(int x) {if(x<10)printf("yes"); else printf("no");} main() {fun(10);getch();} A.no B.yes C.有语法错误 D.可以通过编译但不能执行 12. 设有如下函数定义,若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( ) int fun(int k)   { if (k<1) return 0;    else if(k==1) return 1;    else return fun(k-1)+1;} A.2 B.3 C.4 D.5 13.执行以下程序的输出结果是( ) int fun (int x,int y) { if (x!=y) return ((x+y)/2); else return (x);} main() { int a=4,b=5,c=6; printf("%d ",fun(2*a,fun(b,c)));getch();} A.3 B.6 C.8 D.12 14.执行以下程序的输出结果是( ) int fun() {static int x=1; x*=2; return x;} main() { int i,s=1; for(i=1;i<=3;i++) s*=fun(); printf("%d ",s);getch();} A.0 B.10 C.30 D.64 15.执行以下程序的输出结果是( ) void fun(int *p) {printf("%d ", p[5]); } main( ) {int a[10]={1,2,3,4,5,6,7,8,9,10}; fun(&a[3]);getch();} A.5 B.6 C.8 D.9 16. 有如下函数,函数的功效是( ) int fun(char *x, char *y) { int n=0; while ( (*x==*y) && *x!='\0') {x++; y++; n++; } return n;} A.查找x和y所指字符串中是否有'\0' B.统计x和y所指字符串中最前面连续相同的字符个数 C.将y所指字符串赋给x所指存储空间 D.统计x和y所指字符串中相同的字符个数 17. 如下程序的主函数中调用了在其前面定义的fun函数,则如下选项中错误的fun函数首部是( ) #include <stdio.h> ∶ main( ) { double a[15],k; k=fun(a) ∶} A.double fun( double a[15]) B.double fun( double *a) C.double fun( double a[]) D.double fun( double a) 18.执行以下程序的输出结果是( ) void fun (int x) { if (x/5>0) fun(x/5); printf("%d ",x) ;} main( ) { fun(11); printf(" ");getch();} A.2 11 B.3 11 C.2 12 D.2 17 19.执行以下程序的输出结果是( ) void fun(char c) {if(c>'x') fun(c-1); printf ("%c",c);} main() {fun('z');getch();} A.xyz B.wxyz C.zyxw D.zyx 20.执行以下程序的输出结果是( ) void func(int n) {int i; for(i=0;i<=n;i++) printf("*"); printf("#");} main() { func(3); printf("????"); func(4); printf(" "); getch();} A.****#????***# B.***#????*****# C.**#????*****# D.****#????*****# 二、程序运行结果题(共6小题,每小题4分,共24分) 21.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int x=3; int f(int x) {if(x/2>1) f(x/2); printf("%d",x); return 1;} main() {int x=5; f(x); getch();} 22.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> #define M 3 #define N 3 void f(int a[M][N],int m[N]) {int i,j,t; for(j=0;j<N;j++) {t=a[0][j]; for(i=1;i<M;i++) if(a[i][j]>t) t=a[i][j]; m[j]=t;}} main() { int d[M][N]={2,10,3,23,45,32,78,1,34}; int m[N],i; f(d,m); for(i=0;i<N;i++) printf("%4d",m[i]); printf(" "); getch();} 23.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int fun(int m) {int n=0; m/=2; if(m) {n*=m; return (fun(m-2));} else return n;} main() {int i; for(i=0;i<2;i++) printf("fun(%d)=%d+",4+i,fun(4+i)); getch();} 24.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> void fun(int a[ ],int n) {int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;}} main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf(" "); getch();} 25.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> void fun(char a[ ],int k) {int i,len; len=strlen(a); for(i=0;i<k;i++) a[i]=a[i+1]; for(i=len-1;i>k;i--) a[i]=a[i-1];} main() {char a[20]="12345678910"; fun(a,4); puts(a); getch();} 26.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int w=3; int fun(int x) {static int a=5; int b=2; a+=x+b; w++; return a+w;} main() {int i,k; k=1; for(i=0;i<3;i++) printf("fun(%d)=%d ",i,fun(i+k)+w); getch();} 三、程序填空题(共1小题,每空4分,合计16分) 27.以下程序的功能是求整数n(1~10)的阶乘的位数,例如5!=120,输出结果是3。 #include <stdio.h> #include<conio.h> 【1】 int fun(int n) {int i,d=0; double s=0; for(i=1;i<=n;i++) s+=log10【2】; 【3】; return d;} main() {int n=5; printf("s=%d",【4】); getch();} 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:《计算机应用考纲百套卷》依据湖南省《计算机应用类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,共62份,第二部分是常考题训练卷,共18份,第三个部分是专业综合训练卷,参考历年计算机应用类专业真题试卷,编写了20份。 本试卷是《计算机应用考纲百套卷》的第77卷,是第二部分常考题训练卷,根据考纲进行解读,本试卷的知识要点如下所示: ①函数的定义。②形参与实参之间的传递。③函数的调用与返回值。④变量的作用域及存储方式。⑤数组与函数在程序中的应用 湖南省《计算机应用考纲百套卷》 《计算机编程语言—C语言》 第77卷 常考题训练卷 时间:45分钟 总分:100分 班级___________ 姓名__________ 学号__________ 成绩________ 一、选择题(共20小题,每小题3分,合计60分) 1.下列关于自定义一个函数的说法中,正确的是( ) A.提高程序的执行效率 B.减少程序的篇幅 C.提高程序的可读性 D.减少程序文件所占内存 【答案】C 2.下列函数定义形式正确的是( ) A.double fun(char x,double y) B.int fun(int x;int y) C.char *fun(int x,int y); D.int *fun(int x;int y); 【答案】A 3.C语言允许函数值类型缺省定义,此时函数值隐含的类型是( ) A.float型 B.int型 C.long型 D.double型 【答案】B 4.若调用一个函数,且此函数中没有return语句,则下列说法中正确的是( ) A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 【答案】D 5.下列说法中不正确的一项是( ) A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以是任意类型 D.形参应与其对立的实参类型一致 【答案】B 6.下列说法中,正确的一项是( ) A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式 C.如果函数值的类型与返回值的类型不一致,那么以函数值类型为准 D.如果形参与实参的类型不一致,那么以实参类型为准 【答案】C 7.若使用一维数组名作为函数实参,则下列说法中正确的一项是( ) A.必须在主调函数中说明此数组的大小 B.实参数组类型与形参数组类型可以不匹配 C.被调函数中,不需要考虑形参数组的大小 D.实参数组名与形参数组名必须一致 【答案】A 8.下列选项中说法错误的一项是( ) A.形式参数是局部变量 B.在不同函数中可以使用相同名字的变量 C.在函数内定义的变量只在本函数范围内有效 D.在函数内的复合语句中定义的变量在本函数范围内有效 【答案】D 9.执行以下程序的运行结果是( ) void fun(int a) {a=20;} main() {int a=10; fun(100); printf("%d",a);getch();} A.10 B.20 C.100 D.编译出错 【答案】A 10.执行以下程序的输出结果是( ) int a=123; int fun(int a) {return ++a;} main() {static int a=10; printf("%d",fun(fun(a)));getch();} A.10 B.11 C.12 D.123 【答案】C 11.执行以下程序的输出结果是( ) void fun(int x) {if(x<10)printf("yes"); else printf("no");} main() {fun(10);getch();} A.no B.yes C.有语法错误 D.可以通过编译但不能执行 【答案】A 12. 设有如下函数定义,若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( ) int fun(int k)   { if (k<1) return 0;    else if(k==1) return 1;    else return fun(k-1)+1;} A.2 B.3 C.4 D.5 【答案】B 13.执行以下程序的输出结果是( ) int fun (int x,int y) { if (x!=y) return ((x+y)/2); else return (x);} main() { int a=4,b=5,c=6; printf("%d ",fun(2*a,fun(b,c)));getch();} A.3 B.6 C.8 D.12 【答案】B 14.执行以下程序的输出结果是( ) int fun() {static int x=1; x*=2; return x;} main() { int i,s=1; for(i=1;i<=3;i++) s*=fun(); printf("%d ",s);getch();} A.0 B.10 C.30 D.64 【答案】D 15.执行以下程序的输出结果是( ) void fun(int *p) {printf("%d ", p[5]); } main( ) {int a[10]={1,2,3,4,5,6,7,8,9,10}; fun(&a[3]);getch();} A.5 B.6 C.8 D.9 【答案】D 16. 有如下函数,函数的功效是( ) int fun(char *x, char *y) { int n=0; while ( (*x==*y) && *x!='\0') {x++; y++; n++; } return n;} A.查找x和y所指字符串中是否有'\0' B.统计x和y所指字符串中最前面连续相同的字符个数 C.将y所指字符串赋给x所指存储空间 D.统计x和y所指字符串中相同的字符个数 【答案】B 17. 如下程序的主函数中调用了在其前面定义的fun函数,则如下选项中错误的fun函数首部是( ) #include <stdio.h> ∶ main( ) { double a[15],k; k=fun(a) ∶} A.double fun( double a[15]) B.double fun( double *a) C.double fun( double a[]) D.double fun( double a) 【答案】D 18.执行以下程序的输出结果是( ) void fun (int x) { if (x/5>0) fun(x/5); printf("%d ",x) ;} main( ) { fun(11); printf(" ");getch();} A.2 11 B.3 11 C.2 12 D.2 17 【答案】A 19.执行以下程序的输出结果是( ) void fun(char c) {if(c>'x') fun(c-1); printf ("%c",c);} main() {fun('z');getch();} A.xyz B.wxyz C.zyxw D.zyx 【答案】A 20.执行以下程序的输出结果是( ) void func(int n) {int i; for(i=0;i<=n;i++) printf("*"); printf("#");} main() { func(3); printf("????"); func(4); printf(" "); getch();} A.****#????***# B.***#????*****# C.**#????*****# D.****#????*****# 【答案】D 二、程序运行结果题(共6小题,每小题4分,共24分) 21.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int x=3; int f(int x) {if(x/2>1) f(x/2); printf("%d",x); return 1;} main() {int x=5; f(x); getch();} 【答案】25 22.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> #define M 3 #define N 3 void f(int a[M][N],int m[N]) {int i,j,t; for(j=0;j<N;j++) {t=a[0][j]; for(i=1;i<M;i++) if(a[i][j]>t) t=a[i][j]; m[j]=t;}} main() { int d[M][N]={2,10,3,23,45,32,78,1,34}; int m[N],i; f(d,m); for(i=0;i<N;i++) printf("%4d",m[i]); printf(" "); getch();} 【答案】 78 45 34 23.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int fun(int m) {int n=0; m/=2; if(m) {n*=m; return (fun(m-2));} else return n;} main() {int i; for(i=0;i<2;i++) printf("fun(%d)=%d+",4+i,fun(4+i)); getch();} 【答案】fun(4)=0+fun(5)=0+ 24.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> void fun(int a[ ],int n) {int i,t; for(i=0;i<n/2;i++) {t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t;}} main() {int k[10]={1,2,3,4,5,6,7,8,9,10},i; fun(k,5); for(i=2;i<8;i++) printf("%d",k[i]); printf(" "); getch();} 【答案】321678 25.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> #include<string.h> void fun(char a[ ],int k) {int i,len; len=strlen(a); for(i=0;i<k;i++) a[i]=a[i+1]; for(i=len-1;i>k;i--) a[i]=a[i-1];} main() {char a[20]="12345678910"; fun(a,4); puts(a); getch();} 【答案】23455567891 26.执行以下程序的输出结果是( ) #include <stdio.h> #include<conio.h> int w=3; int fun(int x) {static int a=5; int b=2; a+=x+b; w++; return a+w;} main() {int i,k; k=1; for(i=0;i<3;i++) printf("fun(%d)=%d ",i,fun(i+k)+w); getch();} 【答案】 fun(0)=16 fun(1)=22 fun(2)=29 三、程序填空题(共1小题,每空4分,合计16分) 27.以下程序的功能是求整数n(1~10)的阶乘的位数,例如5!=120,输出结果是3。 #include <stdio.h> #include<conio.h> 【1】 int fun(int n) {int i,d=0; double s=0; for(i=1;i<=n;i++) s+=log10【2】; 【3】; return d;} main() {int n=5; printf("s=%d",【4】); getch();} 【答案】①#include<math.h> ②(i) ③d=s+1 ④fun(n) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

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