ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:49.93KB ,
资源ID:4572102      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4572102.html】到电脑端继续下载(重复下载【60天内】不扣币)。

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(C++程序设计期末考试卷及答案2套.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C++程序设计期末考试卷及答案2套.docx

1、诚信应考,考试作弊将带来严重后果! 期末考试 《高级语言程序设计I》试卷(A )□|p 倒考前须知:1.考前请将密封线内填写清楚; 题号 ■ 四 五 总分 得分 评卷人 2.所有答案写在答题纸上; 3.试卷和答题纸同时提交;4.考试形式:闭卷; 5.本试卷共五大题,总分值100分,考试时间120分钟。 一、单项选择题。(每题2分,共20分)1.以下选项中,合法的常量表示是()。 (A) program1 (B) 183AF(C) -618e3(D) 1.0e-5.32.执行以下语句后,i, j,k的值为()o

2、 int i=l, j=l,k=l; (i++, —j) && ++k; (A) 2,0, 1(B) 2, 0,2(C) 1, 1, 1(D) 1,0,23.以下有关C++的说法中,正确的陈述是( )o (A) const只能约束普通内存变量的的写操作,不能约束指针变量的写操作。 (B)静态变量和全局变量的作用域都是文件作用域。 (C) 一维数组定义中数组的长度表达式可以使用赋初值的变量。 (D) inline函数没有普通函数调用的时空开销。 4.有如下代码段,不正确的函数调用形式()。 • • •typedef int (*pType)(int, int); int max (i

3、nt a, int b){ return a>b?a, b; } *匚■E □|p 料 pType pf = max; (A) pf(l,2);(B) (*pf)(l,2);(C) max (1,2);(D) (&pf) (1,2);.以下程序段中,循环次数是() for(int i=10;i>0&&i%2;){ i=i-2; } (A) 0(B) 4(C) 5(D) 6.int iArray[2][2] = {0,l,2,3},以下表达式的值为2的是()。 (A) iArray[2] [1](B) iArray [1] [1] (C) *(*(iArray+l))(D) *

4、 (iArray)+1). 假设 char *a口={“fortran",“basic","c++”,“java”}; 那么语句cout〈〈a+3;的输出结果是()□ (A) c++java (B)一个地址值(C)c++(D) java.设有两个字符指针char *sl和char*s2分别指向两个字符串,判断字符串si和s2是 否相等的表达式是()。 (A) sl=s2 (B) sl=s2 (C) strcmp(sl, s2)=0(D) strcpy (si, s2)=0.以下运算符,优先级最高的是( )o (A)-(B) =(C)->(D) □

5、 using namespace std; void main() { double x[5], t; int i, j, k;for(i=0; i<5; i++) cin»x[i]; for(i=0; i<4; i++){ k=i; for( j=i+l 【1】 ;j〈5;j++)if(x[j]

6、 }2、以下函数的功能是:用递归法将一个整数m转换成字符串。例如:输入整数 1472,应输出字符串“1472”。m的位数不确定,可以是任意位数的整数。请填空。 void print( int m ) {if(m< 10)putchar(m+48) 【3】 〃递归出口else {print(m/10)【41/递归体putchar(m% 10+48); 3、以下程序的功能是:执行该程序后运行结果如下: 5.1 3.2/请填空。 #include using namespace std; void dl( int&a、intb【51) {a=a+3;b=b+3;

7、 ) void main() (double x=2.1, y=3.2; dl(x, y);cout«x«n n«y«endl; 4、以下程序的功能是:定义一个结构体类型,内含学生学号和一门课的成绩,并开辟动态内存存放一个学生的数据:学号3001,成绩95。执行该程序后运行 结果如下: 3001,95/请填空。 #include using namespace std; struct S1 { int m; 〃学号double x; 〃成绩 ); void main() (SI *p; p=new S1;cin〉〉p->m:>:>p->x;【6

8、] 〃赋值 coutvvp->mvv- Jvvp-〉xv〈endl; 17 1 〃输出 delete p; )5、以下函数的功能是:判断一个数是否为素数。请填空。 bool prime(int m) (int i; bool prime 1;prime l=true; for(i=2; i<=sqrt(m); i++)if( m%i==018 1) prime l=false; return prime 1; }WIN7用户需要将PCSX2VU.exe设置成管理员权限启动才可以运行6、以下程序的功能是:输出二维数组各元素值。请填空。 #include u

9、sing namespace std; void main() { void output(int (*)⑵);intb[3][2]={6,5,4,3,2,l}; output( b[ 9 ]); ) void output(int (*p)[2]) (inti, j; for(i=0;i<3;i++)for(j=0;j<2;j++) coutvv *(*(p+i)+j)【10】«M H; cout«endl;) )三、阅读程序,写出运行结果。(每题3分,共24分) 答案栏: 1、3、 5、7、 2、4、 6、8、 1、 #include

10、stream> using namespace std; void main() (int a—1, b; if(a<2)if(a<-2)b=a+l; else if(a>0)b=a+2;else b=a+4; else b=a+5;a=-l,b=3 a=-l,b=3 cout«na=n«a«n,b=H«b; ) #include using namespace std; void main() (int n=2,m=6,a,b; a=++m+n-;9b=m+++--n;7 cout«a«l '«b«, ,«m«, («n«endl; )

11、 97 8 0 3、 #include using namespace std; void q(float f) (cout«nfloatn«f; ) void q(double d) (cout«ndoubleH«d; ) void q(int i) (cout«nintn«i; } void main() (q(3); q('B');q(3.1); } int3int66double3.14、 #include using namespace std; void main() { int m=3, n=2;

12、while(m<5) s witch(m++” m=4( case 4: n—;n-=4;break; case 3: n++;) cout«n; ) -2#include using namespace std; int x, y; void fun(int a) { inty, b;b=a+3; x=x+a; y=x-b; cout«x«H n«y«H n«a«n H«b«endl; int main() { int a=l, b=3;x=5, y=4; fun(b); cout«x«n H«y«H n«a«H n«b«endl; ret

13、urn 0; }8 2 3 6 84 13#include using namespace std; int f(int a) { int b=l;static int c=2; b++; c++;return (a+b+c); ) int main(){ for (int i=0; i<3; i++) cout«f(i)«H H ; return 0; )5 7 9 5. #include using namespace std; int main() { char ch[『PROGRAM” ; cout«ch«endl«ch[

14、3]«endl«ch+3«endl; return 0; ) PROGRAM G GRAM#include using namespace std; int main() { int a=78, b=21, *p, *q, *r;p=&a; q=&b; if (*p!=*q) { r=p; p=q; q=r; } cout«*p«n H«*q«endl;*p=*p+*q; cout«a«n n«b«endl;return 0; )2178 78 99四、简答题(每题4分,共12分) 1 .试分析字符串常量Habc\\e\tfg\101\102H由哪几个

15、字符构成?该字符串占用多少个字 节?假设用cout«Habc\\e\tfg\101\102H ;会看到的输出结果是什么? abc\e\101 \102abc\e fgAB 2 .假设有如下定义: struct stype { float y;short int m; char code[3]; ); stype sdat; 试画出变量sdat的内存构造图(示意图),并指出该变量占用内存的字节数。 ym code[3].下面程序有错误: #include using namespace std; void fun(int b[]){ for (int

16、 i=0; i<7; i++) cout«*(b++)«n ”;//(I) cout«endl; } int main() { int b[7]={ 10,20,30,40,50,60,70);for (int i=0; i<7; i++) cout«*(b++)«n ”;// (2)cout«endl; fun(b);return 0; )源程序中(1)和(2)之处写法一样,但编译时(2)处出错而(1)处正确,试指出原因, 并将(2)处改正。 b在(1)处是变量而在(2)是常变量不能用于b++ int *a;a=b; coutv<*(a++)<< “ ";五、程序设计题(每

17、题8分,共24分) 1 .设计程序输出数列{A"的前36个数,输出时要求每行输出6个数。数列有 以下规律: A[=1.0, A2= 2.0, An+i = 4+1 4(4-1+D (〃>2) #include using namespace std; double a[36]; int main() {double A(int); int i;int j;a[ll]=A(12); for(i=0;i<=35;i++) {for(j=0;j<=5;j++) cout«a[i+j]«,\tJ ; i=i+6; cout<

18、 double A(int i) {double m; if (i==l) m=l;else if(i=2) m=2;else {m=(A(i-l)+l)/(A(i-l)*(A(i-2)+l));} return m;}2.逆置是指将数组中的值按逆序重新存放。例如:数组原值是{4,7,3』,5,6},逆 置后数组变成{6,5』,3,7,4}。试设计一个将数组逆置的函数reverse,其形式参 数有2个:数组(该数组存放一组待逆置的数据)、数据个数。在主函数中输 入一组数据存放在数组中,然后调用函数reverse将数组逆置,最后在主函数 中显示出逆置后的数组。 #include

19、tream>using namespace std; int main(){void reverse(double *a, int n); int n, i;double *p; cout<<〃请?输°?入-?个?数°y〃《endl;cin>>n; cout<<〃请?输°?入-?各1A个?数。y值| lzz«endl;p=new double[n]; for (i=0;i>*(p+i); reverse (p, n);for (i=0;i

20、rse (double *a, int n) {int i; float t;for(i=0;iusing namespace std; const fl

21、oat pi=3. 1415;struct cylinder {float radius; float height; float volume; void volumel () ;}; void cylinder::volumel() {volume=pi*radius*radius*height;}int main () {cylinder cl,c2;cout* 〃输°?入•.?半元?径?, 6?高?度・・・・ 〃《endl; cin>>cl. radius»cl. height;cin>>c2. radius»c2. height; cl. volumel ();c2

22、 volumel (); cout<5)/(2>3?2:3)表达式的值是()。 (A) 3(B) 4(C) 1(D)2二、简答题。(共20分) 1 .写出两个表达变量X和y的值都不等于零的逻辑表达式。x!=0&&y!=0 x&&y.有以下语句,循环体执行次数是多少?结束后x的值是什么?10, T int x=10; while(x-) cou

23、t<

24、0; return a+k++; }并有调用: int t=l; t=function(t)+function(t)+function(t);有人说t的结果值等于3,对吗?为什么?6, k是静态变量 2 .设有语句: int *ap=new int [10];请写出两个动态数组最后一个元素的表示形式。 3 .请解释以下说明语句中标识符www的含义。 double * www(double);ww是函数名,有一个double值参,返回值类型为double* 4 .设有语句: char *s二〃South China University of Technology”;请写输出子串 ^

25、University of Technologyn 的语句。cout<

26、的头结点,函数调用语句push在表头插入一个数据,请写出对应的函数 原型。 void push (link *&, int); 三、阅读程序写输出结果(共20分)1.〃循环 ttinclude void main() { int i=0, s=0; while (i++<=10) { if(i%2) continue;s=s+i; cout«s<<*\t'; ) ) 2612 20 302 .〃数组,指针 #includevoid main() { int num[5]; int *p=num, i; for(i

27、l;i<=5;i++) num[i-l]=i; for(i=0; i<5; i++) cou t «num [ i ] + (*p++) «,\t,; cout<void print(char ch) { int i=0; if(ch=='D,) return; else { print(ch+l);while (i++<-ch-W) cout<

28、iostream. h> void fun(int *x, int *y) { cout«/,*x=,/<<*x«'\t,; cout<<,,*y=,/<<*y«'\t,; *x = 3 ; *y 二 4 ;) void main(){ int x = 1, y = 2 ; fun(&y, &x); cout<<,/x=//<

29、下为E等。下面是输入一个分数,输出相应的五级制成绩的程序。 #includevoid main() {double score; cout<<,zscore="z; if( score > 100 else switch( void main() {double score; cout<<,zscore="z; if( score > 100 else switch( cin»score; score < 0 ) cout <<〃Input Error!,z; // (1) (int) score/10 {case 9: cas

30、e 10: cout«z,A\nzz; break; case 8: cout〈〈〃B\n〃; break; case 7: cout〈〈〃C\n〃; break; case 6: cout<<〃D\n〃; break; default: (2) • ) (1) // (2) cout< void main() { int i , j, k ; for( i = 1; i <=

31、5; i++ ) { for( k = 1;(3) cout< void fun( ^6) , int n , int m ) ( int i , j , t ; 1 = n ; j = m ; while ( i

32、s[j]=t; i++; j—; ) ) //int * s 或 int s[] void main() { int a[10] = {1,2, 3, 4, 5, 6, 7,8, 9,10 }; fun( a , 0 , 3 ); fun( (7) ); for ( int i = 0; i<10; i++ ) cout « a[i] << ends; // a, 4, 9 cout << endl; 4 .下面的程序运行时屏幕显示Please input 运行结果如图1所示: i(rio):键盘输入3后,屏幕显示程序 K "G:\L\Debug\08-09( 1)08

33、级计埴空蔻.exe lease input i < 1~10 > : 3DEFGHIJ Press any key to continue图1程序运行结果 ttinclude int i ; // char * s // (s + i - 1) 〃 *( s + i ) void prints( ^8) , int i ){ cout<< ^9) << endl; cout<< (10) << endl;); void main (){ int i ; cout << "Please input i ( P10 ): 〃; cin >> i;

34、prints ( 〃ABCDEFGHIJ〃, i );五、编程题(20分) 1、设计程序,输入一个正整数i (〈256),求另一个正整数j,使i和j在用8位二进制表示 时互为逆序。例如,输入i=3 (00000011),应求得j=192 (11000000)o #include void main() { int ij=O,k;cout«Hi="; cin»i;fbr(k=0;k<8;k++) {j=j*2+i%2;i/=2; )cout«"j="«j«endl; 2、以下程序由随机数生成一个整数序列,放在数组a中,然后按奇数在前,偶数在后的顺 序重新排

35、放。程序运行效果如图2所示。请编写函数RandAry和函数PutAry。 #include #include #include void RandAry(int *a, int n, int m); void PutAry(int *a, int n); void main() { int *a, i, n;cout«nn=H; cin»n; a=new int[n];RandAry(a, n, 100); 〃用小于100的随机数对数组赋值 for(i=0; i

36、out« endl; PutAry(a,n);〃整理数组,奇数放在前,偶数在后〃输出整理后序列 〃输出整理后序列 for(i=0; i

37、y to continue 储 _| 图2整理数据 void RandAry(int *a, int n, int m){ srand( time( 0 )); 〃调用种子函数 for( int i = 0; i

38、 list{ int data; list * next; }; list *head;head是有序单向链表的头指针。请编写函数: void Count(list * head);计算并输出链表中数据相同值的结点及个数。例如,数据序列为: 233345566667899那么输出为: datanumber 33 5 2 6 4 9 2 void Count(list * head) { list *p,*q;int n=l,t=O;//t表示是否发现了相同的值,n为相临结点具有相同值的结点的个数。 q=head; p=head->next;cout«"data\tn«nn

39、umber\nu; while(p) { if(q->data==p->data) {n++; t=l;} else t=0;{cout«q->data«,\t'«n«endl; n=l;) q=p; p=p->next; )if(n>l)〃考虑最后一组相邻节点的情况 cout«q->data«,\t'«n«endl; 《C++程序设计》试卷单项选择题:(每题2分,共20分) 1 .以下表达中错误的选项是()oA)用户所定义的C++标识符允许使用关键字 B)用户所定义的C++标识符应尽量做到“见名知意”C)用户所定义的C++标识符必须以字符或下划线开头 D)用户所定义的C+

40、标识符中,大、小写字符代表不同标识。 2 .用C++语言编制的源程序要变为目标程序必须经过()oA)解释B)汇编C)编辑D)编译 那么表达式x+a%3*(int) (x+y)%2/4的 3 .设有定义语句:int a=7; float x=2. 5, y=4. 7; 值是()oA) 2. 5B) 2. 75C) 3.5D) 0.0 4 .以下所列的C++语言常量中,错误的选项是()oD) '\72' D) '\72' A) OxFFB) 1.2e0.5 C) 2L5.设有:int a=7, b=5, c=3, d=l; A) 7B) 5 5.设有:int a=7,

41、b=5, c=3, d=l; A) 7B) 5 那么条件表达式a〈b?a:c>d?c:d的值为( C) 3D) 1 )o 6 .以下程序的运行结果是()o int main () { short b=一1; unsigned short a; a=b;cout<

42、述错误的选项是( )oA)字符数组可以存放字符串; B)字符数组的字符串可以整体输入和输出;C)可以在赋值语句中通过赋值运算符“二”对字符数组整体赋值; D)不可以用关系运算符对字符数组中的字符串进行比拟; 9 .以下带有默认参数的函数原型声明中,正确的选项是( )ovoid f(int a=5 , int b=5, int c); A) void f (int a, int b, int c=5);void f (int a , int b=5 , int c ); B) float fun (int a=5 , int b, int c=5);;.设有以下定义语句:struct

43、node {int x; int y;} n[3] = {{1, 2}, {3, 4}, {5, 6}};值 等于4的正确表达式是( )o A) n[l] [2] B) node [1] [2] C) n[l].y D) n[l]->y 答案栏: 1、A 2、_D 3、_A_4> _B_5、_C 6、_c_7、_D_8、_C_9. _B_ 10、二、程序填空题(每空2分,共20分) • • • ,,, • • ,9 答案栏: 1、 2、3、 4、 5、6、7、 8、 9、 101、以下程序的功能是:用选择法对5个实数排序(按从小到大顺序)。请填空。 #include

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服