收藏 分销(赏)

西南交大历年C++期末试题.doc

上传人:快乐****生活 文档编号:2492561 上传时间:2024-05-30 格式:DOC 页数:52 大小:148.04KB
下载 相关 举报
西南交大历年C++期末试题.doc_第1页
第1页 / 共52页
西南交大历年C++期末试题.doc_第2页
第2页 / 共52页
西南交大历年C++期末试题.doc_第3页
第3页 / 共52页
西南交大历年C++期末试题.doc_第4页
第4页 / 共52页
西南交大历年C++期末试题.doc_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、(完整word)西南交大历年C+期末试题历 年 期 末 试 题C + +2007-2008C+期末试题一选择题(10小题,每题3分)1. 程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分 B)变量成分C)语句成份D)传输成分2. 以下各选项组中,均是C+语言关键字的组是 A) public operator thisB)shod string staticC)it whileD)private cout printf3. C+语言的跳转语句中,对于break和continue说法正确的是()A)break语句只应用与循环体中B)continue语句只应用与循环体中C)brea

2、k是无条件跳转语句,continue不是D)break和continue的跳转范围不够明确,容易产生问题 4。 for(intx=,y=o;!xyn为true或mn&mnB)switch语句结构中必须有default语句C)if语句结构中必须有else语句D)如果至少有一个操作数为true,则包含“”运算符的表达式为true 7。 下列语句中不是死循环的是A)int i10; B)for( int i1:i10;i+) while(1) i-;i-; if(i=1)break; C)int i0; D)int i=1; do for(;;)ii+1; i+; while(i=0): 8. 下面

3、对静态数据成员的描述中,正确的是A)静态数据成员是类的所有对象共享的数据B)类的每个对象都有自己的静态数据成员C)类的不同对象有不同的静态数据成员值D)静态数据成员不能通过类的对象调用 9. 下面关于数组的描述错误的是A)在C+语言中数组的名字就是指向该数组第一个元素的指针B)长度为n的数组,下标的范围是0n1C)数组的大小必须在编译时确定D)数组只能通过值参数和引用参数两种方式传递给函数 10. 以下程序中,错误的行是 #includeiostream. h class A public: int n2: A( int val)coutvalendl; A(); ; void main()

4、A a(0); A) B) C) D) 二写出下列程序运行结果(四小题,每题5分) 1。 #incudeintf(int);intmain()inti;for(i=0;i5;i+)coutF(I)0;i-)k+=i;returnk; 2。 #includeiostream。 h void fun(inta,intb) int x=a a=,b;b=x; couta*b ; void main() int x1,y=2; fun(x,y); coutxyvoid main(void) int i,j,n=4; for(i=1;i=n;i+) for(j=1;j=30;j+) cout ; for

5、(j=1; j= 2*(ni) ;j+) cout ; for(j=1; j=2i1 ;j+) if (j=1|j=2i-1) cout*; else cout ; coutendl; for(i=1;i=n-1;i+) for(j=1;j=30;j+) cout ; for(j=1; j=7-2*i ;j+) if(j=1|j=72*i) cout; else cout” ”; coutendl; 4。 void main()int i,j,n; coutinput 行数: ”;cinn; for(i=1;i=n;i+) for(j=1;j=i;j+) coutsetw(2)i; for(j

6、=i+1;j=n;j+) coutsetw(2)j; coutvoid main()void fun(int*,int*);int a=5,b=8;while(a!=b)fun(&a,&b);coutatbendl;void fun(int pa,int pb)if(pa=pb)pa-=*pb;else*pb-=*pa; 6。 #include void main()char p; int i; int len(char *ptr); p=”asdfghjkl9876; i=len(p); coutlength of ”p ” is iendl;int len(char *ptr) int i

7、; for(i=0;*ptr+!=0;i+) ; return(i);三编写程序1。求Fibonacci数列的第n项及前n项之和。2. S是一家小型园林公司的老板,他需要创建一个 程序使其销售人员能够算出铺设草坪的费用。作为一家围栏公司的老板,J也需要一个程序,可以计算出安装围栏的费用.20062007 C期末试题一、填空(每空2分,共20分) 1。C+源程序文件扩展名为_.2。unsigned long 型数据占_字节存储空间.3.执行语句coutd:datac+test.exe”;后,输出结果是_.4。表达式8|3的结果是_.5.全局变量和_若在定义时未进行初始化,则自动初始化为0.6.将

8、s初始化为值是Hello!”的指针常量,初始化语句是_。7。类中的成员只能为该类的成员函数及该类的派生类中的成员函数访问,则应加上访问属性_。8。定义输出文件流f,并以追加数据方式打开相应文件a:aaa.dat,定义f的语句是_.9。设文件f。cpp中的一个函数要访问在另一个文件中定义的int型变量x,则在f.cpp中x应定义为_。10.函数模板的说明格式是:template_函数定义。二、单项选择题(每空2分,共20分)1。类型修饰符unsigned修饰( )类型是错误的。 A char B int C long int D float2。下列变量名中,( )是合法的。 A _var B b

9、ye-bye C int D 123_cc3.设int a=3,* p=&a;,则p的值是( ). A 变量a的地址值 B 无意义 C 变量p的地址值 D 34。设int m=0;,下列表示引用的方法中,( )是正确的。 A int &x=m; B int y=10; C int z; D float &t=m5。循环for(int i=0,x=0;!x&i=5;i+);的循环体执行次数是( )。 A 5 B 6 C 1 D 无限 6。磁盘文件操作时,在打开磁盘文件的访问方式中,( )是以追加数据 方式打开文件的。 A in B out C app D ate7.类X中,若没有定义构造函数,则

10、默认的构造函数是( )。 A X ( ) B X (X x) *this=x; C X ( ) D 不存在8.设int * p2=&x, p1=a;p2=b;则变量a和b的类型分别是( )。 A int和int B int * 和int C int和int * D int 和int *9。设p为指针变量,则以下表达式正确的是( )。 A -p+ B -+p C (p+5) D (p-5)+ 10。设void f1(int &x,char p);int m;char s =c+;以下调用合法的是( )。 A f1(m,s); B f1(m,s); C f1(m,s); D f1(m,&s);三、

11、回答问题(每题5分,共15分)1.设int a34;double b345; 请写出数组指针pa和pb的定义,使其分别与数组名a和b等价。2.设int f1(int n,char s);char f2(int n,char * s);3。请初始化一维指针数组week。其初值表初值为Sun”,”Mon,”Tue”,Wed”,Thu,Fri”和Sat”。 4.要使语句p1=new int(10) ;p2=new double 10;能正常执行,写出p1和p2的定义。 5。设有int f1(int n)n+=2;return n*n; int f2(int n)n+=2;return nn; 执行

12、int m=5,n=3; m=f1(n);coutm nendl; m=f2(n);coutm n void main() int i=1,j=2,k=3,a=10; if (!i) a-; else if(j) if(k) a=5; else a=6; a+; coutaendl; if(ij) if(i!=3) if(!k) a=1; else if(k) a=5; a+=2; coutaendl; 2。设a盘上文本文件aaa。dat中保存有0至100之间的所有奇数,下列程序将全部数据及其和输出至屏幕上,请将程序补充完全. # include stdlib.h include _ void

13、 main(void) _ f1(a:aaa。dat,ios:inios:nocreate); if (!f1) cerra:aaa.dat file not open!x;coutx#include iomanip。h void fiddle(int in1, int &in2);void main() int count = 7, index = 12; cout ”The values are ”setw(5)count; coutsetw(5)indexendl; fiddle(count, index); cout The values are ”; coutsetw(5)count

14、; coutsetw(5)indexendl; void fiddle(int in1, int &in2) in1 = in1 + 100; in2 = in2 + 100; cout ”The values are setw(5)in1; coutsetw(5)using namespace std;void main()int i(1),a(0);for(;i=5;i+) do i+; a+; while(i3); i+; couta”,”iendl; 3#include using namespace std; void main() int i,j;int n=5;for(i=1;i

15、=n;i+) for(j=1;j=i;j+) cout” ; for(j=1;jusing namespace std;int a=1,b=2,c=3; void main() int a=4,b=5;int han(int a,int b);c=a+b;coutcendl;couthan(c,b)endl;coutaendl;int han(int c,int b) coutaendl; a=b+c; coutaendl; return a;5include using namespace std;void main() int n=0;while (n4)switch(n)case 0:

16、case 1: cout” n; case 2: cout using namespace std;void main()int num = 1;while (num 5)cout num endl; /end while2include iostreamusing namespace std;void getNumber(int );void calcSum(int, int, int);int main()int num1 = 0;int num2 = 0;int num3 = 0;getNumber(num1);getNumber(&num2);calcSum(num1, num2, n

17、um3);cout Sum: num3 endl;return 0; void getNumber(int &num)cout num; void calcSum(int n1, int n2, int n3)n3 = n1 + n2;3include iostreaminclude stringusing namespace std;void getName(string);int main()string name = ”;getName(name);cout You entered ” name ” as the name.” endl;return 0;void getName(str

18、ing nameInput)cout Customer name: ;getline(cin, nameInput);四编写程序(3小题,每小题6分,共18分)1编程计算键盘输入正整数的各位数字之和。2实现x、y交换(用两种方法)3如果一个三位数的个位数、十位数和百位数的立方和等于自身,则称该数为水仙花数,编程找出所有的水仙花数.五、编程(10分)1.编写一个函数void SelectSort(int a,int n),采用选择排序的方法按升序排列数组a中的n个元素。 2。 编写一个程序,接受用户输入的角度值(以度为单位),计算并输出该角度的正弦值和余弦值。输出显示为2位小数,并将输入的角度值

19、和程序的输出写入到文件ex04.dat中.20042005 C期末试题一、单选题(每小题2分,共北分) 1在每个C+程序中都必须包含有这样一个函数,该函数的函数名为( )。 Amaln BMAIN Cname DfunctiOn 2设x和y均为b001量,则x&y为真的条件是( )。 A。其中一个为假 B其中一个为真 C.它们均为假 D。它们均为真 3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址 大( )。 A1 B2 C4 D8 4.设x和y均为bool量,则xy为假的条件是( )。 A.它们均为真 B.它们均为假 C其中一个为真 D。其中一个为假 5假定

20、a为一个整型数组名,则元素a4的字节地址为( )。 A。a+4 Ba+8 C。a十16 Da十326当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ( )。 AiOS:in B.iOS:Out CiOs::iniOs:Out D没有二、填空题(每小题2分,共24分)1若需要定义一个标识符常量,并且使C+能够进行类型检查,则应在定义语句的开始使用保留字. 2算术表达式(xy的2次除以3a)+4b一1对应的c+表达式为- 3逻辑表达式xy&x!l0的相反表达式为-。 4逻辑表达式abb15的相反表达式为。 5假定一个二维数组的定义为“chara54;,则该数组所含

21、元素的个数为-,所占存储空间的字节数为。 6变量分为全局和局部两种,-变量没有赋初值时,将由系统自动置为o。 7。假定a是一个一维数组,则ai对应的存储地址(以字节为单位)为 8假定一个结构类型的定义为“struct Adouble a,b,Ac;;”,则该类型的大小为-字节。 9假定要访问一个结构指针P所指对象中的b指针成员所指的对象,则表示方法为 10在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先,后,最后为-。 11假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为。 12若需要把一个函数void F();定义为一个类AB的友元函数,则应在类

22、AB的定义中加入一条语句三、给出下列程序运行后的输出结果(每小题6分,共30分)1. includeiostream. h include double SD(int a, int b, char op) double x; switch(op) case+: x= double(a)+b; break; case:x=double(a)-b; break; case:x=double(a)*b; break; ease/ ;if(b)x=double(a)/b; else exit(l); break; default: exit (1); return x; void main() int

23、 x=20, y=5; eoutSD(x, y,+); court.SD(x, y,*); eoutSD(x-y,y, /)endl; )2. include include void main() char*a5=”student, ”worker, ”cadre”, ”soldier, ”apen”; char pl,*p2; pl=p2=a0; for(int i=l; i5; i+) if(strcmp(ai, p1)0) pl=ai; if(strcmp(ai, p2)0) p2=ai; ) coutplp2endl;3. #include void WF(int x, int y)

24、 x=x+y; y=x+y; coutsubs:”x, y=x,”yendl; void main() int x=8, y=l5; cout”main:x, y=”xi, ”yendl; WF(x, y); X=2*X; coutmain:x, y=”x”, ”yendI; 4。 # includeiomanip, h void LG(int a, int& m) a=new intm int p=a; for(int i=0, im, i+) p+=i*i+l, void main() int * b, n=5, LG(b, n); for(int i=0; in; i+) coutbi”

25、 coutendl; deleteIh; 5。 #include #includestring, h struct Worker char name15; /姓名 int age; /年龄 float pay; /工资 ; void main() Worker x;char * t=”WeiRong;int d=45; float f=1235;strcpy(x, name, t)x. age=d; x. pay=f;coutx, namex。 agec) a=c; return al 2. #includeiostream. h template; void QB(StrNode * f,

26、int n) if(n=0) f=NULL; return; f=new StrNode; cinf-name; StrNode 0, p=f; while(-n) p=p-next = new StrNode; cinp-name; p-next=NULL; 4. /struct Worker / char name15; /姓名/ iht age; /年龄/ float pay; /工资/;istream & operator(istream & istr, Worker & x) cout”请输入一个职工记录:姓名、年龄、工资、”x。namex。agex。pay; return istr;五、(10分) 1。 编一程序计算并输出12+22+n2的值,其中n值由键盘输入。2. 编程将数字1到25的平方保存在顺序访问文件中20032004C期末试题一、单选题(每小题2分,共12分)1设x和y均为b。1量,则x&y为真的条件是( ).A它们均为真 B其中一个为真 C它们均为假 D其中一个为假2设x和y均为bool量,则xy为假的条件是( ).A它们均为真 B其中一个为真 C它们均为假 D。其中一个为假3声明或定义一个内联函数时,必须在函数开始使用保留宇(

展开阅读全文
相似文档                                   自信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 

客服