ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:55KB ,
资源ID:1323987      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1323987.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++-169及答案解析.doc)为本站会员(amazingpat195)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++-169及答案解析.doc

1、二级 C+-169 及答案解析(总分:100.00,做题时间:90 分钟)一、判断题(总题数:18,分数:45.00)1.数组下标从 0 开始。 (分数:2.50)A.正确B.错误2.用初值表给数组赋初值时,初值表中数据项的个数可以多于数组元素的个数。 (分数:2.50)A.正确B.错误3.一维数组属于构造数据类型。 (分数:2.50)A.正确B.错误4.一维字符数组就是字符串。 (分数:2.50)A.正确B.错误5.数组可以通过值参数和引用参数两种方式传递给函数。 (分数:2.50)A.正确B.错误6.一个数组的数组名与指向该数组的指针是一样的。 (分数:2.50)A.正确B.错误7.用下标

2、表示数组和用指针表示数组对程序计算速度没有什么影响。 (分数:2.50)A.正确B.错误8.函数可以返回数组类型的返回值。 (分数:2.50)A.正确B.错误9.数组的大小必须在编译时确定。 (分数:2.50)A.正确B.错误10.int 类型数组上唯一允许的整体操作是增量运算和减量运算。 (分数:2.50)A.正确B.错误11.假设: int v10; 则语句: v6=v2+v4; 更新了该数组中第 6 个元素中的值。 (分数:2.50)A.正确B.错误12.C+允许在字符串上进行整体操作。 (分数:2.50)A.正确B.错误13.语句: char vn=“Brown“; 将 vn 定义成一

3、个有 5 个元素的数组,因为“Brown“中含有 5 个字符。 (分数:2.50)A.正确B.错误14.对指针只要赋给一个地址值就可以了。 (分数:2.50)A.正确B.错误15.使用没有赋地址值的指针,只有当程序比较长的时候才可能造成系统崩溃。 (分数:2.50)A.正确B.错误16.带有返回值的函数只能有一个返回值。 (分数:2.50)A.正确B.错误17.当在用户自定义函数中使用 return 语句时,函数立即终止执行。 (分数:2.50)A.正确B.错误18.函数的默认参数没有次序要求,可以随意定义。 (分数:2.50)A.正确B.错误二、选择题(总题数:5,分数:13.00)19.设

4、有如下程序: #include iostream.h using namespace std; int main() int *x,*y,z=10; y= x= cout*x+1 endl; return 0; 上述程序的输出结果是_。(分数:2.50)A.y 的地址B.z 的地址C.11D.运行错误20.下面程序的输出结果是_。 int main() int x6=1,3,5,7,9,11,*k,*s; k=x; s= (分数:2.50)A.3, 3B.1, 1C.3, 5D.1, 321.考虑下面的函数原型: void testDefaulParam(int a, int b=7, cha

5、r z=“*“); 下面的函数调用中,不合法的是_。(分数:2.50)A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(6,“#“);D.testDefaulParam(0,0,“*“);22.下面程序的输出结果是_。 #include iostream using namespace std; void fun(int i); int main() int n=2; fun(n); return 0; void fun(int i) static int x=1; int y=1; if(i0) +x; +y; cou

6、tx“y; fun(i-1); (分数:2.50)A.语法错,不能输出正确结果B.2 2 2 2C.2 2 3 3D.2 2 3 223.下面程序的输出结果是_。 #include iostream using namespace std; int fun(char *s); int main() coutfun(“Hello“); return 0; int fun(char *s) char *t=s; while(*t!=“/0“)t+; return(t-s); (分数:3.00)A.语法错,不能输出正确结果B.5C.6D.0三、填空题(总题数:14,分数:42.00)24.下面程序的

7、输出结果是 1。 #include iostream.h using namespace std; int main () int m5, n5, *px, *py, k; px=m; py=n; for(k=1;k4;k+,px+,py+) *px=k; *py=2*k; coutmk-1“ “nk-1endl; px= py= for(k=1; k3; k+) *px+=k; *py*=k; cout *px+“ “ *py+endl; return 0; (分数:6.00)25.下面程序的输出结果是 1。 #include iostream.h using namespace std;

8、int n 3=10,20,30,40,50,60; int main () int (*p) 3; p=n; cout p0 0 “,“ *(p0+1) “,“ (*p)2endl; return 0; (分数:2.50)26.下面程序的输出结果是 1。 #include iostream.h using namespace std; int main() int j; int m3 2=10,20,30,40 ,50 ,60; for(j=0; j2; j+) coutm2-jjendl; return 0; (分数:2.50)27.下面程序的输出结果是 1。 #include iostr

9、eam.h using namespace std; int x=5,4,3,2,1; int main() int i,*p, m=0; for(p=x,i=1;p+i=x+4;i+) cout*(p+i); for(i=0;i4;i+) m+=pj; cout“/t“m; return 0; (分数:2.50)28.下面程序的输出结果是 1。 #include iostream.h using namespace std; char *x=“First“,“Second“, “Third“; void f(char *z) cout*+zendl; int main() char *y;

10、y=x; f(y); return 0; (分数:2.50)29.定义如下变量和数组: int i; int y2 3=2,4,6,8,10,12; 则下面语句的输出结果是: 1。 for (i=0;i2;i+) couty1-ii+1endl; (分数:2.50)30.下面程序的运行结果是: 1。(假设输入的值为24;4) #include iostream.h using namespace std; int Factor(int, int int main() int number, squared, cubed, error; cout“Enter a number (0-20):“;

11、 cinnumber; error=Factor(number, squared, cubed); if(error) cout“Error encountered!/n“; else cout “Number: “number endl; cout “Squared: “squared endl; cout “Cubed:“ cubed endl; return 0; int Factor(int n, int rSquared=n*n; rCubed=n*n*n; return 0; (分数:2.50)31.下列函数用来在 x 数组中插入 a 值,x 数组中的数据已由小到大顺序存放,指针

12、n 所指内存单元中存放数组中数据的个数,插入后数组中的数据仍有序。请将横线处的程序补充完整。 void fun(char* x,char a,int* n) int k,p=0; x*n=a; while(axp) p+; for(k=*n;kp;k-) xk= 1; xp=a; +*n; (分数:3.00)32.若给 f 函数的形参 m 传递字符串“4321cde“(表示空格),则函数的返回值是 1。 long f(char m) long a; int s: while(*m=|*m=“/t“| *m=“/n“) m+; s=(*m=“-“?-1:1); if(*m=“+“ | *m=“-

13、1“) m+; for(a=0; *m=“0“m+) a=10*a+(*m-“0“); return s*a; (分数:3.00)33.函数 m(x,n)计算并返回具有 n 个元素的数组 x 中的最小元素下标。请将横线处程序补充完整。 int m(int* x,int n) int i=0,j; for(j=0;jn;j+) if(xjxi) 1; return i; (分数:3.00)34.下面 f 函数的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位数放在一维数组 y 中返回。二进制的最低位放在下标为 0 的位置上。请将横线处的程序补充完整。 void f(int x,int

14、y) int a=0,b; do b=x% 1; ya+=b; x/=2; while(x); (分数:3.00)35.下面程序的输出结果是 1。 #include iostream using namespace std; const int N=5; int fun(char *s, char a, int n); int main() char sN+1; int k,p; for(k=1; k=N; k+) sk=“A“+k+1; coutfun(s,“E“,N)endl; int fun(char *s, char a, int n) int j; *s=a;j=n; while(a

15、sj) j-; return j; (分数:3.00)36.下面程序的输出结果是 1。 #include iostream using namespace std; void f(int x) if (x) cout.put(“0“+x% 10); f(x/10); int main() f(11001); return 0; (分数:3.00)37.下面程序的输出结果 1。 #include iostream using namespace std; int x; void funA(int void funB(int,int int main() int first; int second

16、=5; x=6; funA(first,second); coutfirst“second“xendl; funB(first,second); coutfirst“second“xendl; return 0; void funA(int first=b+12; a=2*b; b=first+4; void funB(int u,int second=x; v=second+4; x=u+v; (分数:3.00)二级 C+-169 答案解析(总分:100.00,做题时间:90 分钟)一、判断题(总题数:18,分数:45.00)1.数组下标从 0 开始。 (分数:2.50)A.正确 B.错误解

17、析:2.用初值表给数组赋初值时,初值表中数据项的个数可以多于数组元素的个数。 (分数:2.50)A.正确B.错误 解析:3.一维数组属于构造数据类型。 (分数:2.50)A.正确 B.错误解析:4.一维字符数组就是字符串。 (分数:2.50)A.正确B.错误 解析:5.数组可以通过值参数和引用参数两种方式传递给函数。 (分数:2.50)A.正确B.错误 解析:6.一个数组的数组名与指向该数组的指针是一样的。 (分数:2.50)A.正确B.错误 解析:7.用下标表示数组和用指针表示数组对程序计算速度没有什么影响。 (分数:2.50)A.正确B.错误 解析:8.函数可以返回数组类型的返回值。 (分

18、数:2.50)A.正确B.错误 解析:9.数组的大小必须在编译时确定。 (分数:2.50)A.正确 B.错误解析:10.int 类型数组上唯一允许的整体操作是增量运算和减量运算。 (分数:2.50)A.正确B.错误 解析:11.假设: int v10; 则语句: v6=v2+v4; 更新了该数组中第 6 个元素中的值。 (分数:2.50)A.正确B.错误 解析:12.C+允许在字符串上进行整体操作。 (分数:2.50)A.正确 B.错误解析:13.语句: char vn=“Brown“; 将 vn 定义成一个有 5 个元素的数组,因为“Brown“中含有 5 个字符。 (分数:2.50)A.正

19、确B.错误 解析:14.对指针只要赋给一个地址值就可以了。 (分数:2.50)A.正确B.错误 解析:15.使用没有赋地址值的指针,只有当程序比较长的时候才可能造成系统崩溃。 (分数:2.50)A.正确B.错误 解析:16.带有返回值的函数只能有一个返回值。 (分数:2.50)A.正确B.错误 解析:17.当在用户自定义函数中使用 return 语句时,函数立即终止执行。 (分数:2.50)A.正确 B.错误解析:18.函数的默认参数没有次序要求,可以随意定义。 (分数:2.50)A.正确B.错误 解析:二、选择题(总题数:5,分数:13.00)19.设有如下程序: #include iost

20、ream.h using namespace std; int main() int *x,*y,z=10; y= x= cout*x+1 endl; return 0; 上述程序的输出结果是_。(分数:2.50)A.y 的地址B.z 的地址C.11 D.运行错误解析:20.下面程序的输出结果是_。 int main() int x6=1,3,5,7,9,11,*k,*s; k=x; s= (分数:2.50)A.3, 3B.1, 1C.3, 5D.1, 3 解析:21.考虑下面的函数原型: void testDefaulParam(int a, int b=7, char z=“*“); 下面

21、的函数调用中,不合法的是_。(分数:2.50)A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(6,“#“); D.testDefaulParam(0,0,“*“);解析:22.下面程序的输出结果是_。 #include iostream using namespace std; void fun(int i); int main() int n=2; fun(n); return 0; void fun(int i) static int x=1; int y=1; if(i0) +x; +y; coutx“y; fu

22、n(i-1); (分数:2.50)A.语法错,不能输出正确结果B.2 2 2 2C.2 2 3 3D.2 2 3 2 解析:23.下面程序的输出结果是_。 #include iostream using namespace std; int fun(char *s); int main() coutfun(“Hello“); return 0; int fun(char *s) char *t=s; while(*t!=“/0“)t+; return(t-s); (分数:3.00)A.语法错,不能输出正确结果B.5 C.6D.0解析:三、填空题(总题数:14,分数:42.00)24.下面程序的

23、输出结果是 1。 #include iostream.h using namespace std; int main () int m5, n5, *px, *py, k; px=m; py=n; for(k=1;k4;k+,px+,py+) *px=k; *py=2*k; coutmk-1“ “nk-1endl; px= py= for(k=1; k3; k+) *px+=k; *py*=k; cout *px+“ “ *py+endl; return 0; (分数:6.00)解析:1 2 2 4 3 6 3 4 5 1225.下面程序的输出结果是 1。 #include iostream.

24、h using namespace std; int n 3=10,20,30,40,50,60; int main () int (*p) 3; p=n; cout p0 0 “,“ *(p0+1) “,“ (*p)2endl; return 0; (分数:2.50)解析:10,20,3026.下面程序的输出结果是 1。 #include iostream.h using namespace std; int main() int j; int m3 2=10,20,30,40 ,50 ,60; for(j=0; j2; j+) coutm2-jjendl; return 0; (分数:2.

25、50)解析:50 4027.下面程序的输出结果是 1。 #include iostream.h using namespace std; int x=5,4,3,2,1; int main() int i,*p, m=0; for(p=x,i=1;p+i=x+4;i+) cout*(p+i); for(i=0;i4;i+) m+=pj; cout“/t“m; return 0; (分数:2.50)解析:4 5 9 12 1428.下面程序的输出结果是 1。 #include iostream.h using namespace std; char *x=“First“,“Second“, “T

26、hird“; void f(char *z) cout*+zendl; int main() char *y; y=x; f(y); return 0; (分数:2.50)解析:Second29.定义如下变量和数组: int i; int y2 3=2,4,6,8,10,12; 则下面语句的输出结果是: 1。 for (i=0;i2;i+) couty1-ii+1endl; (分数:2.50)解析:10 630.下面程序的运行结果是: 1。(假设输入的值为24;4) #include iostream.h using namespace std; int Factor(int, int int

27、 main() int number, squared, cubed, error; cout“Enter a number (0-20):“; cinnumber; error=Factor(number, squared, cubed); if(error) cout“Error encountered!/n“; else cout “Number: “number endl; cout “Squared: “squared endl; cout “Cubed:“ cubed endl; return 0; int Factor(int n, int rSquared=n*n; rCube

28、d=n*n*n; return 0; (分数:2.50)解析:Error encountered! Number:4 Squared:16 Cubed:6431.下列函数用来在 x 数组中插入 a 值,x 数组中的数据已由小到大顺序存放,指针 n 所指内存单元中存放数组中数据的个数,插入后数组中的数据仍有序。请将横线处的程序补充完整。 void fun(char* x,char a,int* n) int k,p=0; x*n=a; while(axp) p+; for(k=*n;kp;k-) xk= 1; xp=a; +*n; (分数:3.00)解析:xk-132.若给 f 函数的形参 m

29、传递字符串“4321cde“(表示空格),则函数的返回值是 1。 long f(char m) long a; int s: while(*m=|*m=“/t“| *m=“/n“) m+; s=(*m=“-“?-1:1); if(*m=“+“ | *m=“-1“) m+; for(a=0; *m=“0“m+) a=10*a+(*m-“0“); return s*a; (分数:3.00)解析:432133.函数 m(x,n)计算并返回具有 n 个元素的数组 x 中的最小元素下标。请将横线处程序补充完整。 int m(int* x,int n) int i=0,j; for(j=0;jn;j+)

30、if(xjxi) 1; return i; (分数:3.00)解析:i=j34.下面 f 函数的功能是将形参 x 的值转换成二进制数,所得二进制数的每一位数放在一维数组 y 中返回。二进制的最低位放在下标为 0 的位置上。请将横线处的程序补充完整。 void f(int x,int y) int a=0,b; do b=x% 1; ya+=b; x/=2; while(x); (分数:3.00)解析:235.下面程序的输出结果是 1。 #include iostream using namespace std; const int N=5; int fun(char *s, char a, i

31、nt n); int main() char sN+1; int k,p; for(k=1; k=N; k+) sk=“A“+k+1; coutfun(s,“E“,N)endl; int fun(char *s, char a, int n) int j; *s=a;j=n; while(asj) j-; return j; (分数:3.00)解析:336.下面程序的输出结果是 1。 #include iostream using namespace std; void f(int x) if (x) cout.put(“0“+x% 10); f(x/10); int main() f(110

32、01); return 0; (分数:3.00)解析:1001137.下面程序的输出结果 1。 #include iostream using namespace std; int x; void funA(int void funB(int,int int main() int first; int second=5; x=6; funA(first,second); coutfirst“second“xendl; funB(first,second); coutfirst“second“xendl; return 0; void funA(int first=b+12; a=2*b; b=first+4; void funB(int u,int second=x; v=second+4; x=u+v; (分数:3.00)解析:10 5 6 10 10 20

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1