【计算机类职业资格】国家二级C语言(函数)机试模拟试卷3及答案解析.doc
《【计算机类职业资格】国家二级C语言(函数)机试模拟试卷3及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言(函数)机试模拟试卷3及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数)机试模拟试卷 3及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.若有代数式 (分数:2.00)A.sqrt(1abs(pow(n,x)+exp(x)B.sqrt(1abs(pow(N,x)+pow(x,e)C.sgrt(abs(nx+ex)D.sqrt(1abs(pow(x,n)+exp(X)2.下列叙述中错误的是( )。(分数:2.00)A.可以给指针变量赋一个整数作为地址值B.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.当在程序的开头包含头文件 stdioh 时,可以给指针变量赋 NULL值3.
2、若函数调用时的实参为变量,下列关于函数形参和实参的叙述中正确的是( )。(分数:2.00)A.函数的形参和实参分别占用不同的存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元4.下列叙述中错误的是( )。(分数:2.00)A.C程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return语句返回D.函数形参的值也可以传回给对应的实参5.以下程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。#include v
3、oid f(int b,int n,int nag) int i,j,t; for(i=0;ibj:biA.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10,C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,6.下列关于 return语句的叙述中正确的是( )。(分数:2.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句C.定义成 void类型的函数中可以有带返回值的 return语句D.没有 return语句的自定义函数在执行结束时不能返回到调用
4、处7.已定义以下函数 int fun(int*P)return*P;fun 函数的返回值是( )。(分数:2.00)A.一个整数B.不确定的值C.形参 P中存放的值D.形参 P的地址值8.下列叙述中错误的是( )。(分数:2.00)A.用户定义的函数中可以没有 return语句B.用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值C.用户定义的函数中若没有 return语句,则应当定义函数为 void类型D.函数的 return语句中可以没有表达式9.若各选项中所用变量已正确定义,函数 fun中通过 return语句返回一个函数值,下列选项中错误的程序是( )。(分数
5、:2.00)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,10); float fun(int a,intb)D.main() float fun(int i,int j);x=fun(i,j); float fun(int a,int b)10.有以下程序: #include void fun(int a,int b) int t; t=a: a=b: b=t; main() int c10=
6、1,2,3,4,5,6,7,8,9,0,i; for(i=0;iA.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,l,2,3,4,5,6,7,8,9,11.有以下程序: #include double f(double X); main() double a=0;int i; for(i=0;iA.500B.401C.503D.140412.有以下程序: #include main() int m=1,n=2,*p=m,*i=&n,*r; r=p: p=q: q=r: printf(“d,d,d,dn”,
7、m,n,*p,*q); 程序的运行结果是( )。(分数:2.00)A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,113.若有函数首部 int fun(double x10,int*n),则下列针对此函数的函数声明语句中正确的是( )。(分数:2.00)A.int fun(double,int);B.int fun(double*,int*);C.int fun(double*x,int n);D.int fun(double x,int*n);14.有以下程序: #include int f(int x); main() int n=1,m; m=f(f(f(n); p
8、rintf(“dn”,m); int f(int x) return x*2: 程序的运行结果是( )。(分数:2.00)A.8B.2C.4D.115.有以下程序: #includestdioh int fun(int x,int y) if(x!=y) return(x+y)2); else return(x); main() int a=4,b=5,c=6; plintfi“dn”,fun(2*a,fun(b,c); 程序的运行结果是( )。(分数:2.00)A.6B.3C.8D.1216.有以下程序: #include int f(int x,int y) retum(yx)*x); m
9、ain() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); prinff(“dn”,d); 程序的运行结果是( )。(分数:2.00)A.7B.10C.8D.917.设有如下函数定义: #include int fun(int k) if(kA.2B.3C.4D.518.有以下程序: #include int fun(int x) int P; if(x=0x=1) return(3); P=xfun(x 一 2);return p; main() prinff(“dn”,fun(7); 程序的运行结果是( )。(分数:2.00)A.2B.3C.7D.019.有以下
10、程序: #include void f(int b) int i; for(i=2;iA.1,2,3,4,5,6,7,8,9,10,B.1,2,6,8,10,12,7,8,9,10,C.1,2,3,4,10,12,14,16,9,10,D.1,2,6,8,10,12,14,16,9,10,20.有以下程序: #include void fun2(char a,ehar b) prinff(“cc”,a,b); char a=A,b=B; void funl() a=C: b=D: main() fun1(); prinff(“cc”,a,b); fluIl2(E,F); 程序的运行结果是( )
11、。(分数:2.00)A.A B E FB.C D E FC.A B C DD.C D A B21.在一个 C源程序文件中所定义的全局变量,其作用域为( )。(分数:2.00)A.由具体定义位置和 extern说明来决定范围B.所在程序的全部范围C.所在函数的全部范围D.所在文件的全部范围22.在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。(分数:2.00)A.auto和 staticB.extern和 registerC.auto和 registerD.static和 register23.有以下程序: #include int fun() static int x=1;
12、 x*=2: return x: main() int i,s=1; for(i=1;i=3;i+) s*=fun(); printf(“dn”,s); 程序的运行结果是( )。(分数:2.00)A.10B.30C.0D.6424.有以下程序: #include int f(int r1); main() 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; 程序的运行结果是( )。(分数:2.00)A.9B.8C.7D.1025.有以下程序: #include in
13、t fun(int x,int n) static int sun=0,i; for(i=0;iA.55B.50C.45D.6026.下列叙述中错误的是( )。(分数:2.00)A.C程序函数中定义的自动变量,系统不自动赋确定的初值B.在 C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的赋有初值的静态变量,每调用一次函数赋一次初值D.C程序函数的形参不可以说明为 static型变量国家二级 C语言(函数)机试模拟试卷 3答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.若有代数式 (分数:2.00)A.
14、sqrt(1abs(pow(n,x)+exp(x) B.sqrt(1abs(pow(N,x)+pow(x,e)C.sgrt(abs(nx+ex)D.sqrt(1abs(pow(x,n)+exp(X)解析:解析:B 选项中函数 pow(x,e)错误,应该直接使用 exp(x)函数。C 选项中函数 abs(nx+ex)错误,应该使用 fabs()返回浮点数的绝对值。D 选项中 pow(x,n)参数顺序错误。2.下列叙述中错误的是( )。(分数:2.00)A.可以给指针变量赋一个整数作为地址值 B.函数可以返回地址值C.改变函数形参的值,不会改变对应实参的值D.当在程序的开头包含头文件 stdioh
15、 时,可以给指针变量赋 NULL值解析:解析:不能将一个整数直接赋给指针变量作为地址,所以 A选项是错误的。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。3.若函数调用时的实参为变量,下列关于函数形参和实参的叙述中正确的是( )。(分数:2.00)A.函数的形参和实参分别占用不同的存储单元 B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的实参和其对应的形参共占同一存储单元解析:解析:本题重点考查的是函数的形参和实参。在定义函数时,函数名后面括弧中的变量名称为“形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参
16、数(可以是一个表达式)称为“实际参数”(简称实参)。C 语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元,因此 A选项正确。4.下列叙述中错误的是( )。(分数:2.00)A.C程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return语句返回D.函数形参的值也可以传回给对应的实参 解析:解析:形参是函数定义时由用户定义的形式上的变量。实参是函数调用时,主调函数为被调函数提供的原始数据。在 C语言中,实参向形参传送数据的方式是“值传递”,因
17、此 D选项正确。5.以下程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序。#include void f(int b,int n,int nag) int i,j,t; for(i=0;ibj:biA.1,2,3,4,5,6,7,8,9,10,B.3,4,5,6,7,2,1,8,9,10, C.5,4,3,2,1,6,7,8,9,10,D.10,9,8,7,6,5,4,3,2,1,解析:解析:本题重点考查函数的参数传递。函数的参数传递分为传值和传地址两种情况。本题就是结合数组考查参数传递的情形。函数 f完成的功能是对数据进行排序,语句 f(
18、&a2,5,0)的作用是对从 a2开始的 5个元素进行从大到小排序。注意:这里传递的是地址&a2,所以排序操作可看作是直接对数组 a进行操作,执行后的结果为 5,4,7,6,3,2,1,8,9,10。语句 f(a,5,1)对数组 a的前 5个元素进行从小到大排序,排序后的数组为:3,4,5,6,7,2,1,8,9,10。因此 B选项正确。6.下列关于 return语句的叙述中正确的是( )。(分数:2.00)A.一个自定义函数中必须有一条 return语句B.一个自定义函数中可以根据不同情况设置多条 return语句 C.定义成 void类型的函数中可以有带返回值的 return语句D.没有
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 函数 模拟 试卷 答案 解析 DOC
