收藏 分销(赏)

2022年《C++程序设计》试卷试题及答案2套.doc

上传人:w****g 文档编号:3242981 上传时间:2024-06-26 格式:DOC 页数:25 大小:198.77KB
下载 相关 举报
2022年《C++程序设计》试卷试题及答案2套.doc_第1页
第1页 / 共25页
2022年《C++程序设计》试卷试题及答案2套.doc_第2页
第2页 / 共25页
2022年《C++程序设计》试卷试题及答案2套.doc_第3页
第3页 / 共25页
2022年《C++程序设计》试卷试题及答案2套.doc_第4页
第4页 / 共25页
2022年《C++程序设计》试卷试题及答案2套.doc_第5页
第5页 / 共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分)以下程序的功能是分离一个浮点数的整数部分和小数部分。程序用

15、字符串存放输入数据,执行效果如图所示。根据main函数,请写出separate函数的原型和实现定义。#includeusing namespace std;_ /separate函数原型int main() char s20; int i=0, d=0; couts; separate(s, i, d);/调用函数 couts整数部分是:iendl; couts小数部分是:ddata; p=p-next;void array_max_min(int *, int , int *,int *);八、 阅读程序,写出运行结果:(每小题4分,共20分) C+程序设计试卷第 25 页 共 25 页6.

16、 1067. aabcde8. 2,13,13,22,6 6,6,6九、 程序填空题:(每空2分,共22分)1. a= =b & b= =c2. a= =b | a= = c | b= =c 3. i 104. j % 35. &a, &b6. *x7. isprime(i) & isprime(n-i)8. !( m%i)9. return 1;10. m=i;n=j;11. coutm-n=m-nendl;十、 编程题:(18分)1. #include using namespace std;#include int main() int a,b,i; cout=0):; cina; co

17、ut第一个整数):; cinb; coutsetw(10)Nsetw(10)平方setw(10)立方endl; for( i=a;i=b;i+) coutsetw(10)isetw(10)i*isetw(10)i*i*iendl; return 0; 2. #include using namespace std;const int n=10;int f(int *, int); /f函数原型int main()int an, i, max; for(i=0; iai; max=f(a,n); coutmax=max; return 0;int f(int *a,int n)int i,max

18、; max=a0; for(i=1;imax) max=ai; return max;3. #includeusing namespace std;void separate(char *,int & ,int &); /separate函数原型int main() char s20=0; int i=0, d=0; couts; separate(s, i, d);/调用函数 couts整数部分是:iendl; couts小数部分是:dendl; return 0; void separate(char *s, int &a, int &b)int i; for(i=0;si!=.;i+)

19、a=a*10+si-48; for(i+;si!=0;i+) b=b*10+si-48;姓名 学号 学院 专业 座位号 ( 密 封 线 内 不 答 题 )3. 密封线线_ _ 诚信应考,考试作弊将带来严重后果! 期末考试C+程序设计试卷注意事项:1. 考前请将密封线内填写清楚; 2. 所有答案请答在试卷的答案栏上; 3考试形式:闭卷; 4. 本试卷共 五 大题,满分100分,考试时间120分钟。题 号一二三四五总分得 分评卷人十一、 单项选择题:(每小题2分,共20分)11. 一个C+程序从编写源程序到得到运行结果要经历的四个步骤是()。 A)编译、编辑、连接、运行B)编辑、编译、汇编、运行

20、C)编辑、编译、连接、运行D)编译、连接、汇编、运行12. 下列选项中,哪个是C+语言的合法变量名( )?A) file.cppB) _123C)9abcD) new13. 对于语句序列:int x=5,y=6,z; float a=2.5; z=y/x+y/a+a; 执行后z的值为( )。A) 5B) 6 C) 6.1 D) 5.914. 以下选项中可作为C语言合法常量的是( )。A)-8e1.0B)-080C)-80.D)-80.0e15. 设有int a=1,b=2,c=3,d=4; 则条件表达式ab?a:cd?c:d的值为( )。A) 1 B) 2 C) 3 D) 416. 以下程序的

21、运行结果是( )。 int main() unsigned short a=65535; short b; b=a; coutb; return 0; A) -32768B) 32767 C) 65535 D) -117. 设有定义语句: int a6 = 2,4,6,8,5,7, *p = a, i ; 要求依次输出a数组6个元素的值,不能完成此操作的语句是( )。A) for(i=0;i6;i+)cout*(p+)endl;B) for(i=0;i6;i+) cout*(p+i)endl;C) for(i=0;i6;i+) cout*p+endl; D) for(i=0;i6;i+) co

22、ut(*p)+endl;18. 设有定义语句:char a10, *p=a; 以下赋值语句中,正确的是( )。) a=hello;) a10= hello;) strcpy(a, hello);) *p=hello;19. 下列带有默认参数的函数原型声明中,正确的是( )。A) float fun(int a=5 , int b=5, int c, int d);B) float fun(int a=5, int b=5, int c, int d=5);C) float fun(int a=5, int b , int c , int d );D) float fun(int a ,int

23、b , int c=5, int d=5);20. 设有定义语句:struct point int x; int y; v1; 则以下语句中正确的是( )。A) point.x=10;B) point v2; v2.x=10;C) struct v2; v2.x=10;D) v1 v2; v2.x=10;答案栏:1、_ 2、_ 3、_ 4、_5、_ 6、_7、_ 8、_9、_ 10、_二、程序填空题(每空2分,共20分)答案栏:1、_ 2、_3、_ 4、_;_;_;_5、_;_;_ 6、_7、_ 8、_9、_ 10、_1、以下函数的功能是:用递归法将一个整数n转换成字符串。例如:输入整数163

24、5,应输出字符串1635。n的位数不确定,可以是任意位数的整数。请填空。void fun(int n)if(n10) 【1】 /递归出口else 【2】 /递归体putchar(n%10+48);2、以下程序的功能是:用起泡法对6个整数排序(按从小到大顺序)。请填空。#include using namespace std; void main( ) int a6, i, j, t; for(i=0; iai; for(j=0; jai+1) 【4】 /交换两个数的位置,使小数上浮 for(i=0; i6; i+)coutai ; 3、以下程序的功能是:定义一个结构体类型,内含学生学号和一门课

25、的成绩,并开辟动态内存存放一个学生的数据:学号1001,成绩90。执行该程序后运行结果如下: 1001, 90请填空。#includeusing namespace std;struct Student int n; /学号double s; /成绩;void main( )Student *p;p=new Student; 【5】 /赋值 【6】 /输出delete p;4、以下程序的功能是:执行该程序后运行结果如下: 43请填空。#includeusing namespace std;void f1( 【7】 ) x=x+2; y=y+2;void main( )int a=2, b=3;

26、f1(a,b);coutabendl;5、以下程序的功能是:输出二维数组各元素值。请填空。#includeusing namespace std;void main( )void output(int (*)3);int a23=1, 2, 3, 4, 5, 6;output( 【8】 );void output( int (*p)3 ) int i, j; for(i=0; i2; i+)for(j=0; j3; j+) cout 【9】 ; coutendl;6、以下函数的功能是:判断一个数是否为素数。请填空。bool prime(int m)int i;bool prime1;prime

27、1=true;for(i=2; i=sqrt(m); i+)if(m%i=0) 【10】 return prime1;三、阅读程序,写出运行结果。(每小题3分,共24分)答案栏:1、_ 2、_3、_ 4、_5、_ 6、_7、_ 8、_1、#includeusing namespace std;void main( )int i=3, j=6, m, n;m=i+ - +j;n=+i+j-;coutm n i j;2、#include using namespace std;void main( )double x=-0.5, y;if(x1)if(x0)y=x+2;else y=x+4;els

28、e y=x+5;coutx=x,y=y;3、#include using namespace std;void main( ) int x=2, y=1; while(x4)switch(x+)case 3: y+; case 1: y+=3;break; case 2: y-;couty;4、#include using namespace std;void p(float f)coutfloatf;void p(double d)coutdoubled;void p(int i)coutinti;void main() p(2);p(A);p(2.1);5. #include using

29、namespace std; int x, y;void fun(int a) int y , b;b=a+2; x=x+a; y=x-b;coutx y a bendl;int main( ) int a=1, b=2;x=3, y=4; fun(b); coutx y a bendl; return 0; 6. #include using namespace std;int f(int a) int b=0; static int c=3; b+; c+; return (a+b+c);int main( ) for (int i=0; i3; i+) coutf(i) ; return 0;7. #include using namespace std;int main( ) char ch =STUDY ; coutchendlch2e

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 开发语言

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服