[计算机类试卷]国家二级C语言机试(选择题)模拟试卷70及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷70及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(选择题)模拟试卷70及答案与解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(选择题)模拟试卷 70及答案与解析 一、选择题 1 若有代数式 , (其中 e仅代表自然对数的底数,不是变量 ),则以下能够正确表示该代数式的 c语言表达式是 ( )。 ( A) sqrt(fabs(pow(n, x)+exp(x) ( B) sqrt(fabs(pow(n, x)+pow(x, e) ( C) sqrt(abs(nx+ex) ( D) sqrt(fabs(pow(x, n)+exp(x) 2 以下叙述中错误的是 ( )。 ( A)可以给指针变量赋一个整数作为地址值 ( B)函数可以返回地址值 ( C)改变函数形参的值,不会改变对应实参的值 ( D)当在程
2、序的开头包含头文件 stdio h时,可以给指针变量赋 NULL 3 有以下程序: #include int a=4; int f(int n) int t=0; static int a=5; if(n 2)im a=6; t+=a+; else int a=7; t+=a+; return t+a+; main( ) i11t s=a, i=0; for(; i 2; i+) s+=f(i); printf(“ d n“, s); 程序运行后的输出结果是 ( )。 ( A) 36 ( B) 24 ( C) 32 ( D) 28 4 有以下程序: #include im f(int n) i
3、nt t=0, a=5; if(n 2)int a=6; t+=a+; else int a: 7; t+=a+; return t+a+; main( ) int s=0, i=0; for(; i 2; i+) s+= f(i); printf(“ d n“, s); 程序运行后的输出结果是 ( )。 ( A) 28 ( B) 24 ( C) 32 ( D) 36 5 若有以下程序: iinclude im a=2; int f(int m) static int n; n=0; n+; a+ return n+m+a: main( ) int k; for(k=0; k 4; k+)pr
4、intf(“ d, “, f(k); 则程序的输出结果是 ( )。 ( A) 4, 5, 6, 7, ( B) 4, 7, 10, 13, ( C) 4, 6, 8, 10, ( D) 3, 5, 7, 9, 6 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。 ( A)函数的形参和实参分别占用不同的存储单元 ( B)形参只是形式上的存在,不 占用具体存储单元 ( C)同名的实参和形参占同一存储单元 ( D)函数的实参和其对应的形参共占同一存储单元 7 以下叙述中错误的是 ( )。 ( A) C程序必须由一个或一个以上的函数组成 ( B)函数调用可以作为一个独立的语句
5、存在 ( C)若函数有返回值,必须通过 return语句返回 ( D)函数形参的值也可以传回给对应的实参 8 以下程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。 #include void f(int b, int n, int flag) int i, j, t; for(i=0; ibj: bi void fun(int a, intb) int t; t=a; a: b; b=t; main( ) int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0, i; for(i: 0; i 10; i+=2)fun(c
6、i, ci+1); for(i=0; i 10; i+)printf(“ d, “, ci); printf(“ n“); 程序的运行结果是 ( )。 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, ( B) 2, 1, 4, 3, 6, 5, 8, 7, 0, 9, ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 14 有以下程序: #include double f(double x); main( ) double a=0; int i; for(i=0; i main( )
7、 int m=1, n: 2, *P=&m, *q= n, *r; r=p; p=q; q=r; printf(“ d, d, d, d n“, m, n, *p, *q); 程序运行后的输出结果是 ( )。 ( A) 2, 1, 1, 2 ( B) 1, 2, l, 2 ( C) 2, 1, 2, l ( D) 1, 2, 2, 1 16 有以下程序: include void f(int *q) int i=0; for( ; i 5; i+) (*q)+; main() int a5=1, 2, 3, 4, 5, i; f(a); for(i=0; i void fun(int*a, i
8、nt*b) int*c; c=a; a=b; b=13; main( ) int x=3, y=5, *p=dzx, *q=&y; fun(p, q); printf(“ d, d, “, *p, *q); fun(&x, &y); printf(“ d, d n“, *P, *q); 程序运行后的输出结果是 ( )。 ( A) 3, 5, 3, 5 ( B) 3, 5, 5, 3 ( C) 5, 3, 3, 5 ( D) 5, 3, 5, 3 18 有以下程序: #include void fun(int *a, int n) *fun函数的功能是将 a所指数组元素从大到小排序 * int
9、t, i, j; for(i=0; i n-1; i+) for(j=i+1; j n; j+) if(ai void sp(int *a) int b=2; *a:, *a*2; printf(* d, “, *a); a= b; *a=*a*2; printf(“ d, “, *a); main( ) int k=3; sp(&k); printf(“ d n“, k); 则程序的输出结果是 ( )。 ( A) 6, 12, 12 ( B) 6, 4, 3 ( C) 6, 4, 6 ( D) 9, 4, 9 20 若有以下程序: #include int *f(int *s, int *t
10、) int k; if(*s *t) k=*s; *s=*t; *t=k; return s; main( ) int i=3, j=5, *P=&i, *q=&j, *r; r=f(p, q); printf(“ d, d, d, d, d n“, i, j, *P, *q, *r); 则程序的输出结果是 ( )。 ( A) 5, 3, 3, 5, 5 ( B) 3, 5, 5, 3, 5 ( C) 3, 5, 3, 5, 5 ( D) 5, 3, 5, 3, 5 21 有以下程序: #include int fun- (int a, int b)return a+b; int funt,(
11、int a, int 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+=858(funb, 8, 3); printf(“ d n“, x); 程序运行后的输出结果是 ( )。 ( A) 24 ( B) 23 ( C) 17 ( D) 22 22 有以下程序: include void fun(int a, int b, intc) a=b; b=c; c=a; main( ) int a=10, b: 20, c=30; fun(a, b,
12、 c); printf(“ d, d, d n“, c, b, a); 程序运行后的输出结果是 ( )。 ( A) 10, 20, 30 ( B) 30, 20, 10 ( C) 20, 30, 10 ( D) 0, 0, 0 23 若有以下函数首都: int fun(double x10, int*n) 则下面针对此函数的函数声明语句中正确的是 ( )。 ( A) int fun(double, int); ( B) int fun(double*, int*); ( C) int fun(double*x, int n); ( D) int fun(double x, int*n); 24
13、 有以下程序: #include im f(int x); main( ) int n=1, m; m=f(f(f(n); printf(“ d n“, m); int f(int x) return x*2; 程序运行后的输出结果是 ( )。 ( A) 8 ( B) 2 ( C) 4 ( D) 1 25 有以下程序: #include 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 n“, fun(2*a, fun(b, c); ( A)
14、6 ( B) 3 ( C) 8 ( D) 12 26 有以下程序: #include int f(int x, int Y) retum(y-x)*x); main( ) int a: 3, b=4, c=5, d; d=f(f(a, b), f(a, c); printf(“ d n“, d); 程序运行后的输出结果是 ( )。 ( A) 7 ( B) 10 ( C) 8 ( D) 9 27 以下叙述中正确的是 ( )。 ( A)如果函数带有参数,就不能调用自己 ( B)所有函数均不能接受函数名作为实参传人 ( C)函数体中的语句不能出现对自己的调用 ( D)函数名代表该函数的入口地址 28
15、 设有如下函数定义: #include int fun(int k) if(k 1) return 0; else if(k=1) return 1; else return fun(k-1)+1: 若执行调用语句; n=fun(3);,则函数 fun总共被调用的次数是 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 29 有以下程序: #include int f(int x) int y; if(x=0 x=1)return(3); y=x*x-f(x-2); retum y; main( ) int z; z=f(3); printf(“ d n“, z); 程序的运行
16、结果是 ( )。 ( A) 0 ( B) 9 ( C) 6 ( D) 8 30 有以下程序: #include int fun(int n) if(n=1) return 1; else return(n+fun(n-1); main( ) int x; seanf(“ d“, &x); x=fun(x); printf(“ d n“, x); 执行程序时,给变量 x输入 10,程序的输出结果是 ( )。 ( A) 55 ( B) 54 ( C) 65 ( D) 45 31 有以下程序: #include void f(int b) int i; for(i=2; i void fu,12(c
17、har a, eharb) printf(“ c c“, a, b); char a=A, b=B; void funl( ) a=C; b=D; main( ) funl( ); printf(“ c c“, a, b); fun2(E, F); 程序的运行结果是 ( )。 ( A) A B E F ( B) C D E F ( C) A B C D ( D) C D A B 33 若有以下程序: include char *a=“you“; char b=“Welcome you to China!“; main( ) int i, j=0; char*P; for(i=0; bi!= 0
18、; i+) if(*a=bi) P=a; for(j=i; *P!= 0; j+) if(*P!=bj)break; P+; if(*P= 0) break; printf(“ s“, &bi); 则程序的输出结果是 ( )。 ( A) China! ( B) to ChinaI ( C) me you to China! ( D) you to China! 34 若有以下程序: #include char*a=“you“, b=“welcome#you#to#China!“; main( ) int i, j=0; char*P; for(i=0; bi!= 0; i+) if(*a=bi
19、) P=&bi; for(j=0; aj! = 0; j+) if(aj!=*P)break; P+; if(aj= 0)break; printf(“ s n!“, p); 则程序的输出结果是 ( )。 ( A) #to#China! ( B) #you#to#China! ( C) me#you#to#China! ( D) #China! 35 以下叙述中正确的是 ( )。 ( A)局部变量不能被说明为 static ( B)只有全局变量才有自己的作用域,函数中的局部变量没有作用域 ( C)只有在函数内部定义的变量才是局部变量 ( D)只要是用户定义的标识符,都有一个有效的作用域 36
20、在一个 c源程序文件中定义的全局变量,其作用域为 ( )。 ( A)由具体定义位置和 extern说明来决定范 围 ( B)所在程序的全部范围 ( C)所在函数的全部范围 ( D)所在文件的全部范围 37 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( )。 ( A) auto和 static ( B) extern和 register ( C) auto和 register ( D) static和 register 38 有以下程序: #include fun(int x, int y) static int m: 0, i=2; i+=m+1; m=i+X+Y; ret
21、urn m; main( ) int j=1, m=1, k; k=fun(j, m); printf(“ d, “, k); k=fun(j, m); printf(“ d n“, k); 执行后的输出结果是 ( )。 ( A) 5, 11 ( B) 5, 5 ( C) 1l, 11 ( D) 11, 5 39 有以下程序: #include 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 n“, s); 程序运行后的输出结果是 (
22、)。 ( A) 10 ( B) 30 ( C) 0 ( D) 64 40 有以下程序: #include int f(int n); main( ) int a=3, s; S=f(a); s=s+f(a); printf(“ d n“, s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是 ( )。 ( A) 9 ( B) 8 ( C) 7 ( D) 10 41 有以下程序: #include int fun( ) static int x=1: x+=1; return x; main( ) int i, s=1; fo
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 选择题 模拟 70 答案 解析 DOC
