东南大学C下期末考试笔试卷
- 格式:doc
- 大小:42.00 KB
- 文档页数:11
(完整)东南大学08级C++(下)上机试卷和答案解析编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)东南大学08级C++(下)上机试卷和答案解析)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)东南大学08级C++(下)上机试卷和答案解析的全部内容。
东南大学08级C++(下)上机试卷D和答案解析(考试时间80分钟卷面成绩100分)学号姓名机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*。
CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。
只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
【注意】源程序以“学号f1。
cpp”命名,存入自己学号文件夹。
【题目】以下程序实现动态生成数据成员,析构函数用来释放动态分配的内存,复制构造函数和复制赋值操作操作符实现深复制.【含错误的源程序】#include 〈iostream>#include 〈cstring〉using namespace std;class student{char *pName;public:student( );student( char *pname, int len );//错误1student( student &s );~student( );student & operator = ( student &s );} //错误2 student::student( ){cout >> ”Constructor”;//错误3pName = NULL;cout << "默认" << endl;}student::student( char *pname ){cout 〈< "Constructor";pName = new char[strlen(pname)+1];if ( pName ) strcpy( pName, pname );cout 〈〈 pName << endl;}student::student( student s ) //错误4{cout<<"Copy Constructor";if( s。
2022年东南大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int a=-1;a=a|0377;printf("%d,%o\n",a,a);以上程序段的输出结果是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、C语言中的标识符可分为关键字、_______和_______3类。
5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、若有定义:int a[]={2,4,6,8,10,12,14,16,18,20,22,24},*q[3],k;则下面程序段的输出是_______。
for(k=0;k<3;k++)q[k]=8.a[k*4];printf("%d\n",q[2][3]);7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);9、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);10、字符串"ab\n\\012\\\"”的长度是_______。
二、选择题11、在C语言中,char型数据在内存中的存储形式是()。
A.补码B.反码C.原码D.ASCII码12、以下表达式值为3的是( )A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、根据以下定义语句和数据的输入方式,scanf语句的正确形式应为。
东南大学考试卷( A 卷)Array课程名称C++程序设计考试学期05-06-3 得分适用专业非电类考试形式闭卷考试时间长度100分钟一、单项选择题(10分)1、以下关于C++语言中数组的描述正确的是。
(A)数组的大小是固定的,但可以有不同类型的数组元素(B)数组的大小是可变的,但所有数组元素的类型必须相同(C)数组的大小是固定的,所有数组元素的类型必须相同(D)数组的大小是可变的,可以有不同类型的数组元素2、下列关于指针的操作中,错误的是。
(A)两个同类型的指针可以进行比较运算。
(B)可以用一个空指针值赋给某个指针变量。
(C)一个指针可以加上两个整数之差。
(D)两个同类型的指针可以相加。
3. 关于字符串,以下陈述错误的是。
(A)字符型二维数组可以存储多个字符串。
(B)输出一个字符串时,不需要使用循环输出每个字符。
(C)使用库函数strlen求出的串长度包括串结束符。
(D)字符型指针可以在定义时赋予一个字符串常量的存储地址。
4. 若a是n行m列的数组,则元素a[x][y]是数组的第_________个元素。
(A)x*m+y (B)x*m+y+1 (C)x*n+y (D)x*n+y+15.以下不属于构造函数的特点是_______________。
(A) 具有与类名相同的函数名(B) 允许设置返回值(C) 允许重载(D) 在定义类的对象时自动调用6. 关于动态内存分配,对delete运算符的下列说法中,是错误的。
(A)应与new运算符配合使用。
(B)可以在类的成员函数中使用。
(C)对同一个指针变量可任意多次使用该运算符。
(D)若a是一个二维数组,则delete []a; 可删除a所占用的存储空间。
7. 关于运算符重载,下列叙述正确的是_____________。
(A)重载不能改变算术运算符的结合性(B)重载可以改变算术运算符的优先级(C)所有的C++运算符都可以被重载(D)运算符重载用于定义新的运算符8. 下列描述中,正确的是_____________。
江苏大学c 期末试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项的语法是错误的?A. 他们正在学习数学和英语。
B. 我们去了公园、游泳池和图书馆。
C. 小明最喜欢吃苹果、香蕉和梨。
D. 她喜欢跳舞、画画和唱歌的。
2. 下面哪个选项的意思与其他选项不同?A. 科学B. 文学C. 历史D. 数学3. 已知函数 f(x) = 2x + 1,求 f(3) 的值是多少?A. 4B. 5C. 6D. 74. 以下哪个选项中的词语有错别字?A. 书架B. 草莓C. 笔记D. 苹奶5. 母鸡下了 9 个蛋,公鸡下了 3 个蛋,求他们一共下了多少个蛋?A. 11B. 12C. 13D. 14......二、填空题(每题3分,共30分)1. 中国的首都是__北京__。
2. 一年有__12__个月份。
3. 太阳在__东方__升起,在__西方__落下。
4. 100 年有__4__个闰年。
5. 人体骨骼总共有__206__根。
......三、解答题(共30分)1. 请解释什么是气候变化,并列举其主要影响因素和可能的后果。
气候变化指的是长期的气候模式的变化,通常指全球气候系统的变化。
主要影响因素包括温室气体排放、太阳辐射、海洋循环等。
这些因素的变化导致了气候变化,可能带来的后果包括极端天气事件的增加(如暴雨、干旱、飓风等),生态系统的破坏,冰川融化,海平面上升等。
2. 简述人工智能的应用领域,并举例说明。
人工智能的应用领域非常广泛,包括但不限于以下几个方面:- 机器学习和数据挖掘:用于数据分析、模式识别、预测等领域。
例如,用于金融风险评估、推荐系统等。
- 自然语言处理:用于语音识别、机器翻译、智能客服等领域。
例如,智能助手、语音识别软件等。
- 机器人技术:用于制造业、医疗保健、农业等领域。
例如,无人驾驶汽车、机器人助手等。
- 智能系统:用于智能家居、智能城市、智能交通等领域。
例如,智能家居设备、智能交通信号灯等。
东南大学交通学院高数、C++历年试卷——东南大学交通学院研学部整理高数部分PART I 试卷2003级高等数学(A )(上)期末试卷一、单项选择题(每小题4分,共16分) 1.设函数()y y x =由方程⎰+-=yx t x dt e 12确定,则==0x dxdy( ).e 2(D) ; 1-e (C) ; e -1(B) ;1)(+e A2.曲线41ln 2+-+=x xx y 的渐近线的条数为( ) . 0 (D) ; 3 (C) ; 2 (B) ; 1 )(A3.设函数)(x f 在定义域内可导,)(x f y =的图形如右图所示, 则导函数)(x f y '=的图形为( )4.微分方程x y y 2cos 34=+''的特解形式为( ).2sin y )( ;2sin 2cos y )(;2cos y )( ;2cos y )( ****x A D x Bx x Ax C x Ax B x A A =+===二、填空题(每小题3分,共18分)1._____________________)(lim 21=-→x xx x e 2.若)(cos 21arctanx f e x y +=,其中f 可导,则_______________=dxdy3.设,0,00,1sin )(⎪⎩⎪⎨⎧=≠=αx x xx x f 若导函数)(x f '在0=x 处连续,则α的取值范围是__________。
4.若dt t t x f x ⎰+-=2324)(,则)(x f 的单增区间为__________,单减区间为__________. 5.曲线xxe y -=的拐点是__________6.微分方程044='+''+'''y y y 的通解为__________________________=y三、计算下列各题(每小题6分,共36分)1.计算积分dx x x⎰+232)1(arctan 2.计算积分dx xxx ⎰5cos sin 3. 计算积分dx ex x ⎰-2324. 计算积分⎰π+0cos 2xdx5.设)(x f 连续,在0=x 处可导,且4)0(,0)0(='=f f ,求xx dtdu u f t xtx sin ))((lim300⎰⎰→6.求微分方程0)2(222=+-dx y x xydy 的通解 四.(8分)求微分方程xxe y y y 223-=+'-''满足条件0,00='===x x y y的特解五.(8分)设平面图形D 由x y x 222≤+与x y ≥所确定,试求D 绕直线2=x 旋转一周所生成的旋转体的体积。
东南大学c期末考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于声明整型变量的关键字是:A. intB. floatC. doubleD. char答案:A2. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构答案:D3. 在C语言中,用于输入输出的函数库是:A. stdio.hB. math.hC. string.hD. conio.h答案:A4. 若有定义 int a=5; 则执行语句 a+=a*a 后,变量a的值是:A. 25B. 30C. 50D. 75答案:C5. 下列哪个选项是合法的C语言标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C6. C语言中,用于定义函数的关键字是:A. defineB. functionC. voidD. return答案:C7. 若有定义 int a=10, b=20; 则执行语句 a=b=a+b 后,变量a和b 的值分别是:A. a=30, b=30B. a=20, b=30C. a=30, b=20D. a=20, b=20答案:C8. C语言中,用于声明字符型变量的关键字是:A. intB. charC. floatD. double答案:B9. 在C语言中,用于定义字符串的常用数据类型是:A. intB. charC. floatD. double答案:B10. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. +=答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明浮点型变量的关键字是________。
答案:float2. 在C语言中,一个函数的返回值类型必须与函数定义时声明的类型________。
答案:一致3. C语言中,用于声明字符型数组的关键字是________。
共19 页第1 页共 19 页 第 2 页4. 下列结论正确的是 [ ] (A) 若[][]b a d c ,,⊆,则必有()()⎰⎰≤bad cx x f x x f d d .(B) 若()x f 在区间[]b a ,上可积,则()x f 在区间[]b a ,上可积. (C) 若()x f 是周期为T 的连续函数,则对任意常数a 都有()()⎰⎰+=TTa ax x f x x f 0d d .(D) 若()x f 在区间[]b a ,上可积,则()x f 在[]b a ,内必有原函数. 三. (每小题7分,共35分)1. ()()3020d cos ln lim x tt t xx ⎰+→. 2. 判断级数∑∞=-1354n n n n的敛散性. 3. x x x x d cos cos 042⎰-π. 4. ⎰∞+13d arctan x xx . 5. 求初值问题 ()()⎪⎩⎪⎨⎧-='=+=+''210,10sin y y xx y y 的解.四.(8分) 在区间[]e ,1上求一点ξ,使得图中所示阴影部分绕x 轴旋转所得旋转体的体积最小五.(7分) 设 b a <<0,求证 ()ba ab a b +->2ln. 六.(7分) 设当1->x 时,可微函数()x f 满足条件()()()0d 110=+-+'⎰xt t f x x f x f且()10=f ,试证:当0≥x 时,有 ()1e≤≤-x f x成立.七.(7分) 设()x f 在区间[]1,1-上连续,且()()0d tan d 1111==⎰⎰--x x x f x x f ,证明在区间()1,1-内至少存在互异的两点21,ξξ,使()()021==ξξf f .xln共 19 页 第 3 页04-05-2高等数学(非电)期末试卷答案及评分标准 05.1.14一. 填空题(每小题4分,共20分) 1. 0,一; 2.21x Cx +; 3. 1e 4-; 4. 1; 5. 343. 二. 单项选择题(每小题4分,共16分) 1. A; 2.B; 3. D; 4.C. 三. (每小题7分,共35分) 1. 原式=()分分分261)2(1cos lim 3131)3(3cos ln lim 20220 =-+=+→→x x x x x x x2. 分515453153154lim 354354lim lim11111 <=⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛-⋅=--=+∞→+++∞→+∞→n nn nn n n n n n nn n a a由比值法知原级数收敛. 分23. 原式 =()()分分分222d cos sin 3d cos sin 220πππππ==⎰⎰x x x x x x4. 原式()分31d arctan 2112212⎥⎦⎤⎢⎣⎡+--=⎰∞+∞+x x x x x=()分分2212d 111218122 =⎪⎭⎫⎝⎛+-+⎰∞+x x xπ5. 对应的齐次方程的通解为 分2sin cos 21 xC x C y +=非齐次方程x y y =+''的一个特解为()分11 x y =,非齐次方程x y y sin =+''的一个特解为()分1cos 22 x x y -=,原方程的通解为 x xx x C x C y cos 2sin cos 21-++=)1(分 ,利用初值条件可求得 1,121-==C C , 原问题的解为分2cos 2sin cos xxx x x y -+-=共 19 页 第 4 页四.(8分)()()()()()()()()()[]()()()()()0e),1(e2,01ln 223ln 4ln 2e 2ln 2ln 2ln 2ln 2)d ln 1(2d ln 212122e212e212>⎪⎪⎭⎫ ⎝⎛''==-='-+-=-++--+-=-+=⎰⎰V t t t V t t t t t txx x x x x x x x x x x x x t V tttt 且分得分令分分 πππππ因此21e=t 是()t V 在[]e ,1上的唯一的极小值点,再由问题的实际意义知必存在最小体积,故21e=ξ是最小值点.分1五.(7分) 设t a b =,原不等式等价于()1,112ln >+->t t t t , 即等价于 ()()()分31,012ln 1 >>--+=t t t t t f()()()分101,11ln ,01 ='-+='=f tt t f f()1,0112≥≥-=''t t t t f ,且等号当且仅当1=t 时成立 分1因此()t f '单增,()()1,01>='>'t f t f 从而()t f 单增,()()1,01>=>t f t f ,原不等式得证.分2六.(7分)由题设知()10-='f , 分1 所给方程可变形()()()()()⎰=-++'+xt t f x f x x f x 00d 11两端对x 求导并整理得 ()()()()分1021 ='++''+x f x x f x这是一个可降阶的二阶微分方程,可用分离变量法求得 ()分21e xC x f x+='-由于()10-='f ,得()()x f xx f C x,01e ,1<+-='-=-单减,而(),10=f 所以当0≥x 时,())1(1分 ≤x f ,对()01e <+-='-xx f x在[]x ,0上进行积分共 19 页 第 5 页()()分2e d e 1d 1e 00-0 xx t xtt t t f x f --=-≥+-=⎰⎰七.(7分) 记()()⎰-=xt t f x F 1d ,则()x F 在[]1,1-上可导,且()()分2011 ==-F F若()x F 在()1,1-内无零点,不妨设()()1,1,0-∈>x x F()()()()0d sec d sec tan )(d tan d tan 0112112111111<-=-===⎰⎰⎰⎰-----x x x F x x x F x x F x F x x x x f 此矛盾说明()x F 在()1,1-内至少存在一个零点分2,0 x对()x F 在[][]1,,,100x x -上分别使用Rolle 定理知存在()()1,,,10201x x ∈-∈ξξ,使得()(),021='='ξξF F 即 ()()分3021 ==ξξf f共 19 页 第 6 页东 南 大 学 考 试 卷(A 卷)课程名称 工科数学分析 考试学期 04-05-2(期末) 得分适用专业 上课各专业 考试形式闭 考试时间长度 150分钟4.下列结论正确的是 [ ]3.下列反常积分发散的是 [ ](A)⎰-11sin 1dx x (B)⎰--11211dx x(C)⎰∞+-02dx e x (D) ⎰∞+22ln 1dx x x共 19 页 第 7 页(A) 若],[],[d c b a ⊇,则必有⎰⎰≥badcdx x f dx x f )()((B) 若|)(|x f 在区间],[b a 上可积,则)(x f 在区间],[b a 上可积 (C)若)(x f 是周期为T 的连续函数,则对任意常数a 都有⎰⎰+=TTa adx x f dx x f 0)()((D)若)(x f 在区间],[b a 上可积,则)(x f 在),(b a 内必定有原函数. 三.(每小题7分,共35分) 1. 设)(x y y =满足222=-+xyye y x ,求曲线)(x y y =在点)2,0(处的切线方程.2. 计算积分⎰-⎥⎦⎤⎢⎣⎡-++116|)2ln(|1sin dx x x x 3.计算积分⎰-dx xx 222 4.计算反常积分⎰∞+13arctan dx x x5.设⎰-=221)(x t dt e x f ,求⎰10)(dx x xf .四.(7分) 求微分方程初值问题⎪⎩⎪⎨⎧-='=+=+''21)0(,1)0(sin y y x x y y 的解.五.(8分)在区间],1[e 上求一点ξ,使得图中所示阴影部分 绕x 轴旋转所得旋转体的体积最小。
2、31、611系C++ 测验Array课程名称C++程序设计(下) 考试学期06_07_3得分适用专业2、31、611系考试形式闭卷考试时间长度120分钟本试卷满分100分。
一、选择题(共20分。
每题1分)1.若有char *p = "Hello",则以下选项中错误的是:( )A.char &a = *p;B.char *s = *p;C.char *q = p+2;D.p= p+2;2.设有说明int x[5] = {1,2,3,4,5},*p = x;输出值不是5的是:A.cout<<sizeof(x)/sizeof(int)<<'\n';B.cout<<sizeof(x)/sizeof(x[0])<<'\n';C.cout<<sizeof(p)/sizeof(int)<<'\n';D.cout<<sizeof(x)/sizeof(1)<<'\n';3.设有说明语句:char *s[] = {"Student","Teacher","Father","Mother"},*ps = s[2];执行语句:cout<<*s[1]<<','<<ps<<','<<*ps<<'\n';则输出结果是:A.T,Father,FB.Teacher,F,FatherC.Teacher,Father,FatherD.语法错,无输出4.设有语句char s[ ] = "246",*ptr = s;cout<<(char)(*(ptr+1)+1)<<'\n';执行以上语句后输出:A. 46B. 6 C.5 D. 535.设有说明语句:float fun(int &,char *);int x;char s[200];对以下函数fun的调用中正确的调用格式是A.fun(&x,s)B. fun(x,s)C. fun(x,*s) D .fun(&x,*s)6、设s和t分别为指向两个长度相同的字符数组指针,则循环语句while( (7) )可以正确实现字符串t到s的完整复制功能。
一、选择题:(每题1分,共30分)1.以下程序的输出结果是—A) 1 B) 7 C) 9 D) 11ttincludeOvoid fut (int**s, int p[2][3]){**s=p[ll [1] ; }void main (){static int a[2] [3]=={1, 3, 5, 7, 9, 11};int *p;p=new int;fut (&p, a);cout<<*p<<endl;}2.执行以下程序后,y的值是,B)_A) 17 B) 18 C) 10 D) 20ttincludeOvoid main (){static int a[] = {2, 4, 6, & 10};int y=0, x, *p;p二&a[l];for (x二0;x〈3;x++)y+二* (p+x);cout<<y<<endl;}3.定义一下类:class X {int a ;public: X (int x=0 ) { a二x ; }};class Y: public X {int b;pub lie :Y ( int x=0 , int y=0 ) : X (y){ b = x ;}};在下列选项的说明语句中,存在语法错误的是(C)A. X *pa 二new Y(1 , 2 )B. X al - Y( 1,3 )C. X b2 ( 2 , 3 ) ; Y &a2 = b2 ;D. Y b3 ( 10 ) ; Xa3 ( b3 );4.下列关于虚函数描述中正确的是(B) 。
A.虚函数可以是一个static类型的静态成员B.虚函数可以是一个非静态成员C.虚函数实现静态多态性D.基类中釆用virtual说明一个虚函数后,派生类中定义相同的原型的虚函数时,可不必加virtual说明5.若磁盘上己存在某个文本文件,其全路径文件名为:d:\dir\,下列语句中能以”读文本文件”的方式打开该文件的是(B) °A・辻stream file( "d:\dir\");B.fstream file( "d:\\dir\\” );C・ fstream file (ios::in); ( "d:\dir\");D.ifstream * fi1e=new ifstream( "d:\\dir\\” );6.定义如下变量和数组:int i;int x[3][3]={1, 2, 3, 4, 5, 6, 7, 8, 9};则以下语句的输出结果是(C) 。
东南大学考试卷( B 卷)Array课程名称C++程序设计考试学期05-06-3 得分适用专业非电类考试形式闭卷考试时间长度100分钟一、单项选择题(10分)1、若有定义int a[][3]={{4,2},{1,3,5}};则此数组中最大值元素所在的行和列下标分别是____。
(A) 1、1 (B) 1、2 (C) 2、2 (D) 2、12、设有如下定义:int data=32767;int *pd;float *fp;则以下是正确的。
(A)pd=& data (B)*pd=& data(C)fp=(fload) &data; (D)fp=(*fload) &data;3. 设s和t分别为指向两个长度相同的字符数组的指针,则循环语句while( ); 可以正确实现字符串t到s的完整复制功能。
(A)*s=*t &&*t!=0 (B)s++ = t++ && *t!=0(C)*s++ = *t++ (D)*(++s) = *(++t)4. 在用new运算符建立一个三维数组15*30*10时,使用了3个下标运算符“[]”,与之对应,用delete运算符注销这个三维数组时使用了个下标运算符。
(A)1 (B)2 (C)3 (D)05.对于一个C++类,以下描述正确的是。
(A)只能有一个构造函数和一个析构函数(B)可有一个构造函数和多个析构函数(C)可有多个构造函数和一个析构函数(D)可有多个构造函数和多个析构函数6. 拷贝构造函数可用于三个方面,以下哪个方面不能运用拷贝构造函数。
(A)用基类的一个对象去初始化一个派生类的对象。
(B)函数的形参是类的对象。
(C)函数的返回值是类对象。
(D)用类的一个对象去初始化该类的另一个对象。
7. 已知Complex是复数,但下面的函数声明:friend Complex operator+(Complex &c1, Complex &c2);不能用于“实数+复数”,原因是。
东南大学08级C++(下)上机试卷B(考试时间80分钟,卷面成绩100分)学号04008633 姓名邹耀机位号说明:首先在Z盘建立一个以自己的学号命名的文件夹,用于存放上交的*.CPP文件,考试结束前根据机房要求,将这个文件夹传送到网络服务器上,注意:提交时只保留文件夹中的CPP文件。
一、改错题(50分)【要求】调试程序,修改其中的语法错误及少量逻辑错误。
只能修改、不能增加或删除整条语句,但可增加少量说明语句和编译预处理指令。
【注意】源程序以“学号f1.cpp”命名,存入自己学号文件夹。
【题目】实现了直接选择排序算法。
程序中有十处错误。
【含错误的源程序】/*直接选择排序*/#include <iostream>//错误1void SelectSort(int ,slist,int n) //错误2{int i,j,k;int temp ;for(i=0;i<n;i++){//错误3k=i;temp=slist[i];for(j=i;j<=n;j++) //错误4if(slist[j]<temp){k=j; //错误5temp=slist[j];}if(k!=i){temp=slist[i];slist[i]=slist[k];slist[k]=temp;}}}int main(){const int h=10;int i //错误6int list[h]={5,8,7,9,6,12,11,15,3,10};cout<<"未排序数组:">>endl; //错误7for(i=0;i<h;i++) cout<<list[j]<<'\t'; //错误8Selectsort(list,h); //错误9cout<<"已排序数组:"<<endl;for(i=0;i<h;i++) cout<<list[i]<<'t'; //错误10return 0;}二、编程题(50分)【注意】源程序以“学号f2.cpp”命名,存入自己学号文件夹。
(完整word版)东南大学C++期末考试题.docx2008-2009学年C++ (下)期末考试模拟试题一、选择题(每题 2 分,共30 分)1. 下列程序段的运行结果是()。
char c[]= ”\t\v\\0will\n ”;cout<<strlen(c);< p="">A. 4B. 3C. 9D. 字符串中含有非法字符,输出结果不确定2.已知定义类A ,该类的构造函数的参数都没有缺省值。
执行语句:A a1(2) ,a2(1,2), *p=new A[3];则自动调用该类缺省的构造函数的次数为()。
A. 1B. 2C. 3D. 53. 下列叙述正确的是()。
A. 虚函数是一个static 类型的成员函数B.虚函数是一个非成员函数C.包含虚函数的基类为虚基类D.包含存虚函数的基类为抽象类4.下列关于赋值兼容性规则的叙述不正确的是()。
A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值给派生类的对象C. 派生类的对象可以初始化基类对象的引用D. 可以将派生类对象的地址赋值给其基类的指针变量5.设有定义int a[][3]={1,3,5,7,9,11,13,15,17};int *p=a[2];则*(p+1) 的值为()。
A. 15B. 7C. 14 B. 66. C++ 中多态性包括两种:编译时的和运行时的。
运行时多态性是通过()实现的。
① 函数重载② 运算符重载③ 类继承关系④动态链接⑤ 虚函数A. ①和②B. ③和⑤C. ④和⑤D. ③和④7.关于动态内存分配,对delete 运算符的下列说法中,()是错误的。
A.应与 new 运算符配合使用。
B.可以在类的成员函数中使用。
C.对同一个指针变量可任意多次使用该运算符。
D. 若 a 是一个二维数组,则 delete []a; 可删除 a 所占用的存储空间。
8.设 int x; int *p2=&x, *p1=&x *p1=a; *p2=*b;则变量 a 和 b 的类型分别是()。
一、选择题:(每题1分,共30分)1.以下程序的输出结果是 CA) 1 B) 7 C) 9 D) 11#include<>void fut (int**s,int p[2][3]){**s=p[1][1]; }void main(){static int a[2][3]={1,3,5,7,9,11};int *p;p=new int;fut(&p,a);cout<<*p<<endl;}2.执行以下程序后,y的值是_(B)_A) 17 B) 18 C) 10 D) 20#include<>void main(){static int a[]={2,4,6,8,10};int y=0,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);cout<<y<<endl;}3.定义一下类:class X {int a ;public: X (int x=0 ) { a= x ; }} ;class Y: public X {int b;pub lic :Y( int x=0 , int y=0 ) : X (y){ b = x ;}} ;在下列选项的说明语句中,存在语法错误的是(C)。
A.X *pa = new Y(1 , 2 ) B.X a1 = Y( 1,3 ) ;C.X b2 ( 2 ,3 ) ; Y &a2 = b2 ;D.Y b3 ( 10 ) ; X a3 ( b3 ) ;4.下列关于虚函数描述中正确的是(B)。
A.虚函数可以是一个static类型的静态成员B.虚函数可以是一个非静态成员C.虚函数实现静态多态性D.基类中采用virtual说明一个虚函数后,派生类中定义相同的原型的虚函数时,可不必加virtual说明5.若磁盘上已存在某个文本文件,其全路径文件名为:d:\dir\,下列语句中能以”读文本文件”的方式打开该文件的是(B)。
东南大学考试卷一 . 选择题 ( 以下各题均只有一个正确答案,每题 1分,共 20 分 )5. 有关运算符重载的说法,正确的是:( B )A. 运算符重载函数最多只能有一个形参B.调用重载运算符的成员函数时,必须有一个运算符的操作数是对象或引用C. 调用重载运算符的成员函数时,调用程序的右操作数必须是对象D. 调用重载运算符的友元函数时,调用程序的右操作数必须是对象6 .重载运算符时,运算符的( A)A) 优先级和结合律均不能改变; B) 优先级和结合律均可以改变。
C) 优先级可以改变,但结合律不能改变;D) 优先级不能改变,但结合律可以改变;7 .已知变量 f 为 float 类型, i 为 int 类型,以下表达式语句中能够实现将f 中的数值保留小数点后两位,第三位进行四舍五入运算的是(C )A) ABC B) BCD C) BC D) CDA. f=(f*100+0.5)/100.0;B. i=f*100+0.5,f=i/100.0;C. f=(int)(f*100+0.5)/100.0;D. f=(f/100+0.5)*100.0;8 .设 a=20,b=30; 执行语句 a+=b;b=a-b;a-=b; 后, a 、 b 的值分别是 (D)A. 20,20B. 30,30C. 20,30D. 30,209. 下面各说明语句中合法的是 (C) :A) ADE B) ABC C) BDE D) HFDA. static int n; int floppy[n];B. char ab[10];C. char chi[-200];D. int aaa[5]={3,4,5};E. float key[ ]={3.0,4.0,1,0};F. char disk[ ];10 .函数原型为 abc(float x,char y); 该函数的返回值类型为 (A) 。
A) int B) char C) void D) float11. 设有数组说明 int a[10] ,数组中各元素已含有如下数据 : 数组元素 : a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] 元素的值 : 9 4 12 8 2 10 7 5 1 3以下 (B) 不能正确访问该数组的数组元素。
一、选择题:(每题1分,共30分)1.以下程序的输出结果是 CA) 1 B) 7 C) 9 D) 11#include<iostream.h>void fut (int**s,int p[2][3]){**s=p[1][1]; }void main(){static int a[2][3]={1,3,5,7,9,11};int *p;p=new int;fut(&p,a);cout<<*p<<endl;}2.执行以下程序后,y的值是_(B)_A) 17 B) 18 C) 10 D) 20#include<iostream.h>void main(){static int a[]={2,4,6,8,10};int y=0,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);cout<<y<<endl;}3.定义一下类:class X {int a ;public: X (int x=0 ) { a= x ; }} ;class Y: public X {int b;pub lic :Y( int x=0 , int y=0 ) : X (y){ b = x ;}} ;在下列选项的说明语句中,存在语法错误的是(C)。
A.X *pa = new Y(1 , 2 ) B. X a1 = Y( 1,3 ) ;C.X b2 ( 2 ,3 ) ; Y &a2 = b2 ; D.Y b3 ( 10 ) ; X a3 ( b3 ) ;4.下列关于虚函数描述中正确的是 (B)。
A.虚函数可以是一个static类型的静态成员B.虚函数可以是一个非静态成员C.虚函数实现静态多态性D.基类中采用virtual说明一个虚函数后,派生类中定义相同的原型的虚函数时,可不必加virtual说明5.若磁盘上已存在某个文本文件,其全路径文件名为: d:\dir\test.txt,下列语句中能以”读文本文件”的方式打开该文件的是(B) 。
13-14-2学期《程序设计与算法语言I _A》机试B卷(适用6、11、22等院系)(考试时间70分钟,卷面分数100分)说明:首先在网络Z盘建立一个以自己的学号-姓名-B命名的文件夹。
注意:请在本机的D盘根目录上建立一个以自己学号命名的文件夹,本次机试两题所用的工程目录及文件均建立在此文件夹中。
对以下问题编制程序,调试运行,输出结果。
根据以下各题的要求,把需上传的源文件“学号-b1.cpp”、“学号-b2.cpp”复制到网络Z盘上自己的学号-姓名-B文件夹中。
一、改错题(50分)以下程序用于对两个字符串进行拼接,其目的是将字符串2拼到字符串1的后面。
但前提是:如果字符串2中的某字符在原字符串1中出现过,则跳过该字符。
如字符串1为"abcdefg",字符串2为"a1c2dxy",则拼接后的字符串1为"abcdefg12xy"。
解题算法:对字符串2进行遍历,如果有字母出现在字符串1中则删除该字符,最后将处理完毕后的字符串2拼接到1后面,如上例就需要删除掉a、c、d三个字母。
本程序的示例运行结果如下图:答题要求:(1)请注意:只能在原句上修改,而不能增加或删除语句。
本题一共含有5个错误。
(2)该程序错误的源代码保存在b1.cpp中,请重命名该文件为“学号-b1.cpp”,使用VC6.0打开该文件并编译。
修改其中的错误,使得代码可以正确运行。
二、编程题(50分)1、定义数组char x[1000],产生1000个随机小写字母(随机数值在97-122之间),并对数组元素依次赋值。
2、统计这1000字符当中,26个字母各自出现的频率,并存入数组int freq[26]中。
3、将数组freq的内容依次存入文件freq.txt中,要求每行只写3个字母的频率值。
文件中第一行的示例格式如下:字母a:25次字母b:30次字母c:50次4、在屏幕上输出频率出现最高的字母和其次数,该功能必须用指定函数findmax完成。
一、选择题:(每题1分,共30分)1.以下程序的输出结果是 CA) 1 B) 7 C) 9 D) 11#include<iostream.h>void fut (int**s,int p[2][3]){**s=p[1][1]; }void main(){static int a[2][3]={1,3,5,7,9,11};int *p;p=new int;fut(&p,a);cout<<*p<<endl;}2.执行以下程序后,y的值是_(B)_A) 17 B) 18 C) 10 D) 20#include<iostream.h>void main(){static int a[]={2,4,6,8,10};int y=0,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);cout<<y<<endl;}3.定义一下类:class X {int a ;public: X (int x=0 ) { a= x ; }} ;class Y: public X {int b;pub lic :Y( int x=0 , int y=0 ) : X (y){ b = x ;}} ;在下列选项的说明语句中,存在语法错误的是(C)。
A.X *pa = new Y(1 , 2 ) B. X a1 = Y( 1,3 ) ;C.X b2 ( 2 ,3 ) ; Y &a2 = b2 ; D.Y b3 ( 10 ) ; X a3 ( b3 ) ;4.下列关于虚函数描述中正确的是(B)。
A.虚函数可以是一个static类型的静态成员B.虚函数可以是一个非静态成员C.虚函数实现静态多态性D.基类中采用virtual说明一个虚函数后,派生类中定义相同的原型的虚函数时,可不必加virtual说明5.若磁盘上已存在某个文本文件,其全路径文件名为: d:\dir\test.txt,下列语句中能以”读文本文件”的方式打开该文件的是(B)。
东南大学c语言期末考试笔试试卷竭诚为您提供优质文档/双击可除东南大学c语言期末考试笔试试卷篇一:大学c语言期末考试练习题(带详解答案)一、单项选择题1.(a)是构成c语言程序的基本单位。
a、函数b、过程c、子程序d、子例程2.c语言程序从开始执行。
a)程序中第一条可执行语句b)程序中第一个函数c)程序中的main函数d)包含文件中的第一个函数3、以下说法中正确的是(c)。
a、c语言程序总是从第一个定义的函数开始执行b、在c语言程序中,要调用的函数必须在main()函数中定义c、c语言程序总是从main()函数开始执行d、c语言程序中的main()函数必须放在程序的开始部分4.下列关于c语言的说法错误的是(b)。
a)c程序的工作过程是编辑、编译、连接、运行b)c语言不区分大小写。
c)c程序的三种基本结构是顺序、选择、循环d)c程序从main函数开始执行5.下列正确的标识符是(c)。
a.-a1b.a[i]c.a2_id.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项a中的“-”,选项b中“[”与“]”不满足(1);选项d中的int为关键字,不满足(3)6.下列c语言用户标识符中合法的是(b)。
a)3axb)xc)cased)-e2e)union选项a中的标识符以数字开头不满足(2);选项c,e均为为关键字,不满足(3);选项d中的“-”不满足(1);7.下列四组选项中,正确的c语言标识符是(c)。
a)%xb)a+bc)a123d)123选项a中的“%”,选项b中“+”不满足(1);选项d中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作c语言程序中的标识符的是(a)。
a、print_3ddb8abcb、i\amone_halfstart$it3paic、str_1cpppowwhiled、pxqmy->bookline#his.age选项b中的“\”,”$”,选项d中“>”,”#”,”.”,”-”不满足(1);选项c中的while为关键字,不满足(3)9.c语言中的简单数据类型包括(d)。
东南大学c 期末考试题及答案**东南大学C期末考试题及答案**一、选择题(每题2分,共20分)1. 下列哪个是C语言的关键字?A. intB. integerC. stringD. var答案:A2. C语言中,哪个函数用于计算两个整数的和?A. sum()B. add()C. plus()D. calculate()答案:B3. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. bool答案:D4. C语言中,以下哪个运算符用于逻辑与?A. &&B. ||C. !D. |答案:A5. 在C语言中,以下哪个函数用于字符串的复制?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A6. C语言中,以下哪个是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. int array=10;答案:A7. 在C语言中,以下哪个是正确的函数声明?A. int function(int a, int b);B. int function a, b;C. int function(int a, b);D. int function a(int, int);答案:A8. C语言中,以下哪个是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A9. 在C语言中,以下哪个是正确的循环语句?A. while (condition) { ... }B. do { ... } while (condition);C. for (int i = 0; i < n; i++) { ... }D. All of the above答案:D10. C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. ptr int*;答案:A二、填空题(每题2分,共20分)1. C语言中,用于输入的函数是 `scanf()` 。
一、选择题(每题1分,共10 题,共10 分)1、在数组int b[][4]={{1},{3,4},{4,7,9,10},{8,5,6}}中,b[2][2]的值是 D 。
A.0 B.4 C.7 D.92、以下关于this指针描述正确的是 C 。
A.使基类公有成员在子类中可以被访问。
B.this指针必须写成显式的。
C.this指针总指向要调用的其成员函数的对象。
D.静态成员函数也存在this指针。
3、如果通过new运算符动态分配失败,返回结果是 B 。
A.-1 B.0 C.1 D.不确定4、 D 是一种限制存取位置的线性表,元素的存取必须服从先进先出的规则。
A.顺序表B.链表C.栈D.队列5、下列关于指针运算的描述,错误的是 D 。
A.可将一个空指针赋给某个指针。
B.两个指针在一定条件下,可以进行相等和不等运算。
C.一个指针可以加上一个整数,指向当前元素后面的若干个位置的元素。
D.两个指针在一定条件下可以相加。
6、实现深复制,下面的类成员函数中, A 不是必须自定义的。
A.构造函数B.复制构造函数C.析构函数D.复制赋值操作符函数7、设数组int fibon[10],int *pfib=fibon; 则访问fibon数组第二个元素,以下写法错误的是 B 。
A.fibon[1] B.*++fibon C.*++pfibD.*(pfib+1)8、假设Person类包含公有成员name,私有成员id和受保护成员GetID,而Student类私有继承了Person类,那么Student类的成员函数可以直接访问 C 。
A.Person类的所有成员B.仅有Person类的公有成员nameC.仅有Person类的公有成员name和受保护成员GetIDD.Person类的任何成员都不能访问9、实现多态的派生类函数不必 D 。
A.与基类虚函数同名B.与基类虚函数同参数表C.与基类虚函数同返回类型D.用virtual修饰10、分析下列代码是否存在问题,选择合适的选项: B 。
int main(void){int *p = new int [10];p = new int [10];delete [] p;p = NULL;return 0;}A.没有问题B.有内存泄漏C.存在空悬指针D.存在重复释放同一空间二、填空题(每空 1 分,共20 空,共20 分)1、有序数组int B[17]中存放17个元素,用对半查找法查找B[11]元素,则进行比较的数组下标值依次是8,12,10,11 。
2、设整数型指针P1,P2分别指向整数型数组A[10]={1,2,0,4,5,9,7,8,6,4}的第2和第5个元素,则P2-P1= 3 ,A[5]-A[2]= 9 。
3、单链表的结点分为指针域和数据域两部分。
4、标明为无具体实现的虚函数是纯虚函数。
包含该函数的类称为抽象类,不能用来定义对象。
5、C++文件流采用两种格式访问文件:文本格式和二进制格式。
前者按字符存取,后者按字节存取。
6、重载提取运算符>>和插入运算符<<实现对象的输入和输出,需要将重载的运算符函数声明为该类的友元函数。
7.指针类型变量用于存贮地址, 在内存中它占有4个存贮单元。
8. 设有说明:int a, k, m, *p1=&k, *p2=&m;执行a=p1==&m;后a的值是0 。
9.若有:int i,&j=i;i=1;j=i+2;则i= 3 。
10.构造函数是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
11.一般情况下,使用系统提供的默认析构函数就可以了,但当对象的成员中使用了new 运算符动态分分配内存空间时,就必须定义析构函数以正确释放对象空间。
为了对象间能正确赋值,还必须要重载运算符= 。
12.在类的派生过程中,要实现动态多态性,首先在类中必须要定义虚函数,还要在使用对象的函数中定义基类指针,使该指针指向不同类的对象。
13 . 利用成员函数对双目运算符重载,其有 1 个参数,该参数为运算符的右操作函数。
三、阅读程序题(每空1-2分,共40 分)1、以下程序的输出结果是:(本题6分,每空2分)#include <iostream>using namespace std;void main(void){int a,b,k=4,m=6,*p1=&k,*p2=&m;int arr[]={30,25,20,15,10,5},*p=arr;p++;cout<<*(p+3)<<endl;a=(p1==&m);b=(*p1)/(*p2)+7;cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;}程序运行结果:10a=0b=72、改正以下程序的错误:(本题8分,每空2分)#include <iostream>using namespace std;class Sample{int value;public:void Sample( int a ) { value =a;} int Max (int x,int y) {return x>y?x:y;} int Max (int x,int y,int z=0){if (x>y)return x>z?x:z;elsereturn y>z?y:z;}~Sample (int a) {value =0;}};void main(void){Sample s(4);cout<<s.value<<endl;s.Max(10,20);}以上程序中的错误有:Void去掉重载产生二义性析构函数不能有参数私有数据成员不可类外访问3、指出程序的运行结果:(本题8分,每空2分)#include <iostream>using namespace std;class Vector{int x,y;public:Vector() { };Vector(int i,int j) {x=i;y=j;}void disp() {cout << "("<<x<<","<<y<<")"<<endl;}void operator+=(Vector D) {x+=D.x; y+=D.y;}void operator-=(Vector D) {x-=D.x; y-=D.y;}};void main(void){Vector A(1,2),B(4,2);cout<<"A:";A.disp( );cout<<"B:";B.disp( );A+=B;cout<<"A+=B:";A.disp( );A-=B;cout<<"A-=B:";A.disp( );}程序运行结果:A(1,2)B(4,2)A+=B(5,4)A-=B(1,2)4、下面是一个实现类的继承与派生的程序,请写出程序运行结果,并根据主函数中编程者的原意(调用派生类的成员函数),修改类的成员定义,然后写出修改后的运行结果(本题10分)#include <iostream>using namespace std;class Apublic:virtual void fun1(){cout <<"A fun1"<<endl;} virtual void fun2(){cout <<"A fun2"<<endl;} void fun3(){cout <<"A fun3"<<endl;}};class B:public A{public:void fun1(){cout <<"B fun1"<<endl;}void fun2(int x){cout <<"B fun2"<<endl;}void fun3(){cout <<"B fun3"<<endl;}};void main(void){A *p;B b;p=&b;p->fun1( );p->fun2( );p->fun3( );}修改前输出结果如下(每空1分):B fun1B fun2A fun3纠正错误:(每空2分)Fun3改为虚函数Fun2参数X去掉修改后的输出结果如下(每空1分):B fun1B fun2B fun35、指出程序的运行结果:(本题8分,每空1分)#include <iostream>using namespace std;class B1{public:B1(){cout<<"B1:Constructor"<<endl;}~B1(){cout<<"B1:Destructor"<<endl;}};class B2public:B2(){cout<<"B2:Constructor"<<endl;}~B2(){cout<<"B2:Destructor"<<endl;}};class B3{public:B3(){cout<<"B3:Constructor"<<endl;}~B3(){cout<<"B3:Destructor"<<endl;}};class A:public B2,public B3{B1 b1;public:A():B3(),B2(),b1(){cout<<"A:Constructor"<<endl;}~A(){cout<<"A:Destructor"<<endl;}};void main(void){A a;}该程序的执行结果如下:B2 ConstructorB3 ConstructorB1 ConstructorA ConstructorA DestructorB1 DestructorB2 DestructorB3 Destructor四、完善程序填空题(每空2分,共15 空,共30 分)1. 完成如下程序,要求实现方阵(矩阵行列数目相同)的上三角元素(含对角线元素)的和。