2022年《C++程序设计》试卷试题及答案2套.doc
《2022年《C++程序设计》试卷试题及答案2套.doc》由会员分享,可在线阅读,更多相关《2022年《C++程序设计》试卷试题及答案2套.doc(25页珍藏版)》请在咨信网上搜索。
1、姓名 学号 学院 专业 座位号 ( 密 封 线 内 不 答 题 )1. 密封线线_ _ 诚信应考,考试作弊将带来严重后果! C+程序设计试卷注意事项:1. 考前请将密封线内填写清楚; 2. 所有答案请答在试卷的答案栏上; 3考试形式:闭卷; 4. 本试卷共 五 大题,满分100分,考试时间120分钟。题 号一二三四五总分得 分评卷人一、 单项选择题:(每题2分,共20分)1. 结构化程序设计的三种基本控制结构是( )。 A)输入、处理、输出B)树形、网形、环形 C)顺序、选择、循环D)主程序、子程序、函数2. 下列哪个是C+的合法变量名( )?A) 8d B) ex3.12 C)1_2a D)
2、 _int3. 若整型变量 int a=2,b=1,c=3,d=4; 则条件表达式ab?a:cd?c:d的值为( )。A) 1 B) 2 C) 3 D) 44. for(int x=0,y=0;!x&y=5;y+)语句执行循环的次数是( )。 A)B)C)D)无限循环5. 若一个函数体中定义与全局变量相同名字的变量x,在函数体内对x赋值,修改的是 ( )。A)局部变量和全局变量都被修改B) 全局变量xC)不确定D) 局部变量 x6. 设有如下定义语句:int a5,*p=a;,则下列表达式错误的是( )。A)p+ B)a+ )p-a )a+17. 设有变量定义: double x; int m
3、; 函数原型声明:void f(double *, int &); 则正确的函数调用语句是( )。A) f(&x,m);B) f( x, &m);C) f(*x, &m);D)f (x,*m);8. 若用数组名作为调用函数的实参,则传递给形参的是( )。) 数组存贮首地址 ) 数组的第一个元素值) 数组中全部元素的值 ) 数组元素的个数9. 设有二维数组a34, 不等价的一对表达是( )。A) *(a0+2) 与 a02B) a0+3 与 &a03C)*a1 与 a10D) a02 与 a0+210. 若有函数原型int max (int a , int b); 并且有:int (*p) (
4、int , int ) = max ;调用max函数的正确方法是( )。A) ( * p ) max ( a , b ) ;B) * p max ( a , b ) ; C) ( * p ) ( a , b ) ;D) * p ( a , b ) ; 答案栏:1、_ 2、_ 3、_ 4、_5、_ 6、_7、_ 8、_9、_ 10、_ 二、 简答题:(共20分)1. 语句 cout ”yx42x102nx”的显示结果是什么?说明理由。(3分)答:2. 以下程序的输出结果是什么?请说明原因。(2分)int main() unsigned short a=65535; short int b;b=a
5、;cout”b=”b;return 0;答:3. 设有说明char a6, * b =a; sizeof(a), sizeof(b)的值各是多少?分析结果原因。(3分)答:4. 设有说明int a2*3; 请写出两个表示数组a最后一个元素地址的表达式(2分)。答:5. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的原型。(2分)main() double s1022;int n; fun(s);答:6. 设有如下定义:struct personchar name10; int age;person class10=“Johu”, 17,“Paul”, 19
6、“Mary”, 18,“Adam 16,;根据上述定义,写出能输出字母M语句。(3分)答:7. 以下语句不能正确输出单链表head的数据元素值,请找出原因。(2分)struct linkint data; link * next; ;link *head, *p;p=head;while(p!=NULL) coutp.data; p+; 答:8. 设有函数调用语句 array_max_min(a ,n, max, min); 功能是由参数max, min返回基本整型数组a 的n个元素中的最大值和最小值。对应的函数原型是什么?(3分)(只需给出原型,不用写函数定义)答:三、 阅读程序,写出运行结
7、果:(每小题4分,共20分) C+程序设计试卷第 4 页 共 25 页1. #includeusing namespace std; int main () int x,n; x=n=5; x+=n+; coutxnendl;return 0; 2. #includeusing namespace std;int main () char s6=abcde, *p=s; cout*ppendl; return 0;3. #include using namespace std;int main() int i,j;for( i=1; i=3; i+ ) j=1; while (ji) cout
8、 i,jendl; j+; return 0;4. 以下程序的输出的结果是#include using namespace std;void incre();int x=3;int main() int i; for (i=1;ix;i+) incre();void incre() static int x=1;x*=x+1;cout x; 5. #include using namespace std;void fun ( int , int , int * ) ;int main ( )int x , y , z ; fun ( 5 , 6 , &x ) ; fun ( 7 , x , &
9、y ) ; fun ( x , y , &z ) ; cout x , y , z ; return 0;void fun ( int a , int b , int * c ) b+=a ; * c=b-a ; 答案栏:1、_2、_3、_4、_5、_四、 程序填空题:(每空2分,共22分)1. 下面程序的功能是:输入三角形的三条边存放在变量a,b和c 中,判别它们能否构成三角形,若能,则判断是等边、等腰、还是其它三角形,在横线上填上适当内容。#include using namespace std;int main() float a, b, c ; coutabc; if ( a+bc &
10、 b+ca & c+ab ) if ( 【1】 ) cout等边三角形!n; else if ( 【2】 ) cout等腰三角形!n; else cout其它三角形!n; else cout不能构成三角形!n;return 0;2. 以下程序功能是打印100以内个位数为6且能被3整除的所有数。#include using namespace std;int main ( ) int i , j ; for ( i = 0 ; _【3】_ ; i + + ) j = i * 10 + 6 ; if ( _【4】_ ) continue ; cout j ” ” ; return 0;3. 下列程
11、序实现两个变量的值互换。#include using namespace std;void swap(int *, int *);int main() int a=3,b=8; swap(【5】 );couta=a b=bendl; return 0; void swap(int *x,int *y) int temp= 【6】 ; *x=*y; *y=temp; 4. 求n(n6)内的所有偶数表示为两个素数之和,下图为输入16的运行结果。补充完整以下程序。提示:一个偶数n(n6)可以表示为 1+(n-1),2+(n-2),3+(n-3), #include using namespace s
12、td;#include#include int isprime(int); int main() int num,i,n; cout=6):; cinnum;for( n=6; n=num; n+=2)for( i=3;i=n/2;i+=2)if(_ 【7】_)coutsetw(3)n=setw(3)i +setw(3)(n-i)endl; break; return 0;int isprime(int m) int i, k=sqrt(m); for(i=2; i=k; i+) if(_ 【8】_) return 0 ; _ 【9】_ 5. 下面是一个类的测试程序,其执行结果为: 50-12
13、=38请将程序补充完整。 #includeusing namespace std; class Test int m,n; public: void init(int,int); void print(); ;void Test:init(int i,int j) _ 【10】_ void Test:print() _ 【11】_int main() Test a; a.init(50,12); a.print(); return 0; 答案栏:(1)_ (2) _(3) _(4) _(5) _(6) _(7) _(8) _(9) _(10) _(11) _五、 编程题:(18分)1. (6分
14、)编写程序,打印正整数的平方和立方值。程序运行后显示相应的提示信息,要求输入2个正整数,然后显示这个范围的数据的平方和立方值。例如,分别输入整数1和10,执行效果如下图所示。答:2. (6分)以下程序求一维数组元素的最大值,并返回此值。请依题意编写函数f及填写函数原型。#include using namespace std;const int n=10; _ /f函数原型int main()int an, i, max; for(i=0; iai; max=f(a,n); coutmax=max; return 0;答:3. (6分)以下程序的功能是分离一个浮点数的整数部分和小数部分。程序用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 2022 C+ 程序设计 试卷 试题 答案
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。