[计算机类试卷]国家二级C语言机试(函数)模拟试卷2及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(函数)模拟试卷2及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(函数)模拟试卷2及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数)模拟试卷 2及答案与解析 一、选择题 1 若各选项中所用变量已正确定义,函数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是( )。 ( A) main() x=fun(2,10); float fun(int a,int b) ( B) float fun(int a,int b) main() x=fun(i,j); ( C) float fun(int ,int); main() x=fun(2,1 0); float fun(int a,int b) ( D) main() float fun(int i,int j); x=fun(i
2、,j); float fun(int a,int b) 2 有以下程序 #include void fun(int *a, int n) /* fun函数的功能是将 a所指数组元素从大到小排序 */ int t, i, j; for (i=0; i char f(char x) return x*x+a; main() char a, b=0; for ( a=0; a #define N 4 void fun(int aN, int b, int flag) int i,j; for(i=0; i aij) : (bi void fun(int a , int n) int t,i,j; f
3、or (i=1; i aj) t=ai; ai=aj;aj=t; main() int c10=10,9,8,7,6,5,4,3,2,1,i; fun(c, 10); for (i=0;i char f(char x) return x*x%10 + 0; main() char a; int b=0; for ( a=0; a #define N 4 void fun( int aN, int b, int flag ) int i,j; for( i=0; i aji) : (bi void fun(int a , int n) int t, i, j; for ( i=0; i aj )
4、 t=ai; ai=aj; aj=t; main() int c10=10,9,8,7,6,5,4,3,2,1,i; fun(c, 10); for ( i=0; i int fun( int a, int b) return a+b; main() int x=6, y=7, z=8, r ; r = fun ( fun(x,y), z- ); printf (“ %dn“ , r ); 程序运行后的输出结果是( )。 ( A) 21 ( B) 15 ( C) 20 ( D) 31 10 以下选项中函数形参不是指针的是( )。 ( A) fun( int int funb( int a, i
5、nt b) return a-b; int sss( int (*t)(), int x, int y ) return( (*t)(x,y) ); main() int x; x=sss( funa, 9,3 ); x+=sss(funb,8,3 ); printf(“%dn“, x ); 程序运行后的输出结果是( )。 ( A) 17 ( B) 23 ( C) 24 ( D) 22 12 有以下程序 #include void fun( int a, int b, int c ) a=b; b=c; c=a; main() int a=10 , b=20, c=30; fun( a, b,
6、 c ); printf(“%d,%d,%dn“,c,b,a); 程序 运行后的输出结果是( )。 ( A) 30,20,10 ( B) 10,20,30 ( C) 20,30,10 ( D) 0,0,0 13 有以下程序 #include #define N 4 void fun(int aN) int bNN,i,j; for(i=0; i void fun(int a , int n) int i,j=0,k=n/2, b10; for (i=n/2-1; i=0; i-) bi =aj; bk =aj+1; j+=2; k+; for (i=0; i main() int a10, i
7、=0; while( i int sum(int a, int b) return a + b - 2; main() int i; for (i=0; i int sub(double a, double b) return (int)(a - b); main() printf(“%dn“, sub(3.8, 2.1); 程序运行后的输出结果是( )。 ( A) 1 ( B) 1.7 ( C) 2 ( D) 2.0 19 以下关于函数的叙述中正确的是( )。 ( A)函数形参的类型与返回值的类型无关 ( B)函数必须要有形参 ( C)函数必须要有返回值 ( D)函数调用必须传递实参 20
8、设有函数定义: void sub(int k,char ch) 则以下对函数 sub的调用语句中,正确的是( )。 ( A) sub(1,97); ( B) sub(2,97); ( C) n=sub(3,a); ( D) sub(4,“a“); 21 有以下程序 #include fun(int x, int y) static int m=0, i=2; i+=m+1; m=i+x+y; return m; main() int j=1, m=1, k; k=fun(j,m); printf(“%d,“,k); k=fun(j,m); printf(“%dn“,k); 执行后的输出结果是(
9、 )。 ( A) 5, 11 ( B) 5, 5 ( C) 11, 11 ( D) 11, 5 22 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。 ( A) auto和 register ( B) extern和 register ( C) auto和 static ( D) static和 register 23 有以下程序 #include int fun() static int x=1; x*=2; return x; main() int i, s=1; for( i=1; i int fun( int k ) if (k int f(int n); main
10、() int a=3,s; s=f(a);s=s+f(a); printf(“%dn“,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是( )。 ( A) 9 ( B) 8 ( C) 7 ( D) 10 27 有以下程序 #include void fun2(char a, char b) printf(“%c %c “,a,b); char a=A, b=B; void fun1() a=C; b=D; main() fun1( ); printf(“%c %c “,a,b); fun2(E, F); 程序的运行结果是
11、( )。 ( A) C D E F ( B) A B E F ( C) A B C D ( D) C D A B 28 有以下程序 #include int f(int x) int y; if (x = 0 | x= 1) return (3); y = x*x - f(x-2); return y; main() int z; z = f(3); printf(“%dn“, z); 程序的运行结果是( )。 ( A) 6 ( B) 9 ( C) 0 ( D) 8 29 有以下程序 #include int f ( int m ) static int n=0; n+=m; return n
12、; main() int n=0; printf ( “%d,“, f(+n) ); printf ( “%dn“, f(n+) ); 程序运行后的输出结果是( )。 ( A) 1,2 ( B) 1,1 ( C) 2,3 ( D) 3,3 30 有以下程序 #include int fun(int a, int b) if(b=0) return a; else return(fun(-a,-b); main() printf(“%dn“, fun(4,2); 程序的运行结 果是( )。 ( A) 2 ( B) 1 ( C) 3 ( D) 4 31 以下选项中叙述错误的是( )。 ( A) C
13、程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值 ( B)在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 ( C) C程序函数中定义的自动变量,系统不自动赋确定的初值 ( D) C程序函数的形参不可以说明为 static型变量 32 有以下程序 #include int fun(int x) int p; if(x=0|x=1) return(3); p=x-fun(x-2); return p; main() printf(“%dn“,fun(7); 执行后的输出结果是( )。 ( A) 2 ( B) 3 ( C) 7 ( D) 0 33 有以下程序
14、 #include int fun() static int x=1; x*=2; return x; main() int i,s=1; for(i=1;i int a=4; int f(int n) int t = 0; static int a=5; if (n%2) int a=6; t += a+; else int a=7; t += a+; return t + a+; main() int s=a, i=0; for (; i2;i+) s += f(i); printf(“%dn“, s); 程序运行后的输出结果是( )。 ( A) 28 ( B) 24 ( C) 32 (
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 模拟 答案 解析 DOC
