《C++语言程序设计》期末考试试题.doc_第1页
《C++语言程序设计》期末考试试题.doc_第2页
《C++语言程序设计》期末考试试题.doc_第3页
《C++语言程序设计》期末考试试题.doc_第4页
《C++语言程序设计》期末考试试题.doc_第5页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、填空(每空2分,共20分)1 C+目标程序经_连接_后生成扩展名为exe的可执行程序文件。2 16位计算机中整型占_2_个字节存储空间。3 要在屏幕上显示Hello,world!应执行语句cout=0|x=0) coutabcd;else coutwxyz;屏幕上显示的是_ abcd _。7 设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式_ sizeof(data/data0)_计算出来。8 若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符_ static _。9 设有int w34;,pw是与数组名w等价的数组指针,则pw应初始化为 int (* pw)4=w;。10.要使引用pr代表变量char * p;,则pr应初始化为_ char * &pr=p;。二、单项选择题(每空2分,共20分)1下列变量名中,( A )是合法的。 A CHINA B byte-size C double D A+a2下列各种函数中,( C )不是类的成员函数。 A 构造函数 B 析构函数 C 友元函数 D 拷贝构造函数3下列( A )是正确的语句。 A ; B a=17 C x+y D coutn4循环while(int i=0) i-;执行次数是( A )。 A 0 B 1 C 5 D 无限5设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是( B )。A g(f(3); B f(g(3); C g(f(3)+2); D p= f(g(3)1);6设int * p2=&x,* p1=a;p2= *b;则a和b的类型分别是( B )。 A int * 和int B int * 和int * C int 和int * D int * 和int *7设int x;,则经过( C )后,语句*px=0;可将x值置为0。 A int * px; B int const * px=&x; C int * const px=&x; D const int * px=&x;8设void f1(int * m,long & n);int a;long b;则以下调用合法的是( B )。 A f1(a,b); B f1(&a,b); C f1(a,&b); D f1(&a,&b);9以下结构类型可用来构造链表的是( B )。 A struct aa int a;int * b; B struct bb int a;bb * b; C struct cc int * a;cc b; D struct dd int * a;aa b;10使用操作符setw对数据进行格式输出时,需要包含( C )文件。 A iostream.h B fstream.h C iomanip.h D stdlib.h三、回答问题(每题4分,共20分)1设int * p;,判断下列表达式的正确性(用T表正确,用F表错误)。 -+p( T ) +(p-)( F ) p- ( F ) (+p)- ( T )2请初始化一维指针数组color,其初值表初值为red,blue,white和black。char * color=red,blue,white,black;3设int x 99,98,97,& y=x1;, 写出语句 couty-,; couty*2endl;执行结果。98,1944设int fp(char a,int b=0,double c=100.0);,判断下列重载函数的正确性。(用T表正确,用F表错误)。int fp( );( T ) void fp(char);( F )int fp(char,int);( F ) void fp(char,int,int);( T )5要使语句p1=new long * ;p2=new float * 15;能正常执行,写出p1和p2的定义。long * p1; float * p2;四、(每题10分,共20分)1写出下列程序的执行结果。 # include void fun(int,int,int * ); void main() int x,y,z; fun (2,3,&x); fun (4,x,&y); fun (x,y,&z); coutx,y,zendl; void fun(int a,int b,int * c ) b*=a;*c=b-a; 4,12,442下列程序向a盘上的文本文件aaa.dat输出0至100间的整数,请将程序补充完全。 # include # include void main(void) ofstream f1(a:aaa.dat); if (!f1(或f1.fail() cerra:aaa.dat file not open!endl; exit(1); for (int i=0;i=100;i+)f1i ; f1. close(); 五、(每题10分,共20分)1 编程求数列1,的所有大于等于0.000001的数据项之和并输出结果。1、#include void main()int n=1,d=1;double s=0.0,s0;while(s0=double(n)/d)=0.000001)s+=s0;d+; coutsendl;2用递归方法设计函数int ArrayMin (int d ,int size);,其中d为数组,size为数组元素个数;ArrayMin返回d中的最小元素。int ArrayMin(int d,int size)int k=dsize-1;if(size=1) return k;if(k=ArrayMin(d,size-1) return k;else return ArrayMin(d,size-1);一、单项选择题1下列表达式中正确的是。(B)A(k+)+B.k-jCk-/=5D.(k+3)=52已知intf(int);和intg(int);分别是函数f和g的原型。下列语句中,将函数f作为语句调用的有。(D)A.f(3)+g(3);B.p/=f(3);C.g(f(3);D.f(g(3);3下面四个程序段中,输出23个*号的程序段是。(C)A.for(inti=1;i23;i+)cout=0;i-)cout0)cout*;i-;D.inti=0;while(0=23)cout5的相反表达式为(x+y=5)3执行语句i=10;docout*;i-;while(i+3);后,将显示出个*号(14)4设有下面的定义ints10=1,2,3,4,5,6,7,8,9,10;intsum=0;请完善下面的语句实现求数组s的所有元素之和,并保存在变量sum中:for(int;j+);(j=0j10sum+=sj)5假定a是一个二维数组,则aij的指针访问方式为。(*(*(a+i)+j)或*(ai+j))三、下列程序运行后的输出结果1#includeinta=5;voidmain()inta=10,b=20;coutabendl;inta=0,b=0;for(inti=1;i6;i+)a+=i;b+=a;coutab:aendl;coutabendl;(1020153551020)2#includeintLB(int*a,intn)ints=1;for(inti=0;in;i+)s*=*a+;returns;voidmain()inta=1,2,3,4,5,6,7,8;intb=LB(a,5)+LB(&a3,3);coutb=bendl;(1012)3#include#includevoidmain()char*a5=student,worker,cadre,soldier,peasant;char*p1,*p2;p1=p2=a0;for(inti=0;i0)p1=ai;if(strcmp(ai,p2)0)p2=ai;couttemplateclassFFTTa1,a2,a3;public:FF(TTb1,TTb2,TTb3)a1=b1;a2=b2;a3=b3;TTSum()returna1+a2+a3;voidmain()FFx(2,3,4),y(5,7,9);coutx.Sum()y.Sum()endl;(92)四、写出下列每个函数的功能1#includeintSA(inta,intb)if(ab)return1;elseif(a=b)return0;elsereturn-1;(比较两个整数a和b的大小,若ab则返回1,若a=b则返回0,若ab则返回-1。)2doubleSF(doublex,intn)/n为大于等于0的整数doublep=1,s=1;for(inti=1;ix;while(x!=-1)n+;y+=x;cinx;if(n=0)returny;elsereturny/n;(求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志)4templatevoidWE(Typea,Typeb,intn)for(inti=0;in;i+)bn-i-1=ai;(模板函数,把数组a的每个元素按逆序放入数组b中)五、编写程序1从键盘输入10个正整数据并累加求和。#includevoidmain()intx,s=0;cout输入10个正整数:;for(inti=1;ix;while(x=0);s+=x;coutsendl;2一维数组元素求和。#includevoidmain()inta10;inti,s=0;cout输入10个整数:endl;for(i=0;iai;for(i=0;i10;i+)s+=ai;coutsendl;3在一维数组中查找给定的数据。#includevoidmain()inta10;inti;cout

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论