东南大学C++下期末考试笔试卷

合集下载

(最新整理)东南大学08级C++(下)上机试卷和答案解析

(最新整理)东南大学08级C++(下)上机试卷和答案解析

(完整)东南大学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(有答案)

2022年东南大学公共课《C语言》科目期末试卷A(有答案)

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语句的正确形式应为。

东南大学C期末考试题

东南大学C期末考试题

读书破万卷下笔如有神2008-2009学年C++(下)期末考试模拟试题一、选择题(每题2分,共30分)1. 下列程序段的运行结果是()。

char c[]=”\t\v\\0will\n”;cout<<strlen(c);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的类型分别是()。

东南大学2006年06月C++(下)非电类A卷

东南大学2006年06月C++(下)非电类A卷

东南大学考试卷( 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期末考试题及答案

东南大学c期末考试题及答案

东南大学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语言中,用于声明字符型数组的关键字是________。

东南大学C++下模拟试卷A

东南大学C++下模拟试卷A

东南大学暑期C++程序设计(下)模拟试卷A2005-6-28一、选择题(每题1分,共20分)1. 有关指针的说法中,是错误的。

A、赋予一个指向某种类型的指针变量的值只能是一个该类型变量的地址;B、范型指针的值可以直接赋给其他类型的指针;C、任何类型指针变量的值都可以是NULL;D、仅当指针与数组建立联系,对指针变量进行的运算才有意义。

2. 有关内存分配的说法中,是错误的。

A、指针变量可以保存动态分配的存储空间的地址。

B、用new为指针变量分配的存储空间在堆区。

C、数据元素存储在堆区的数组在建立时已被清零。

D、指向静态变量的指针不必用delete释放。

3. 定义一个类的友元函数的主要作用是。

A、允许在类外直接访问类中的私有成员和保护成员B、为了重载运算符C、能够被类的成员函数调用D、能够被类的派生类的成员函数调用4. 对于拷贝构造函数有深拷贝和浅拷贝之分,二者的区别在于。

A、深拷贝能用’=’运算符进行对象的拷贝,而浅拷贝不能。

B、深拷贝能对数据成员进行初始化,而浅拷贝不能。

C、浅拷贝不能复制指针型的数据成员,而深拷贝可以。

D、浅拷贝使对象共享动态分配的资源,而深拷贝为对象分配独自拥有的资源。

5. 类的封装性体现在用户只能通过公共的接口使用类中定义的私有数据成员,这里的“公共接口”是指。

A、公有的成员函数B、友元函数C、构造函数D、指向函数的指针6. 为了实现代码重用,可以采用C++提供的方法。

A、公共函数B、类派生C、内联函数D、虚函数7. 继承具有特性,即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。

A、规律性B、重复性C、传递性D、多样性8. 下面有关虚函数的描述是错误的。

A、可以实现编译时的多态性B、无条件地实现动态的多态性C、可以实现运行时多态性D、只有与指针或引用结合才可以实现运行时的多态性9. 在从输入流中提取字符的操作中,如果遇到文件结束符则应结束操作。

A、BOFB、EOFC、ENDLD、ENDF10. 现需要对list类对象使用的逻辑运算符“==”重载,以下函数声明是正确的。

东南大学C第二学期期末复习二含答案

东南大学C第二学期期末复习二含答案

一、选择题:(每题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) 。

东南大学试卷2011-2012-3c++(A)

东南大学试卷2011-2012-3c++(A)

课程名称程序设计基础及语言2 考试学期11-12-3适用专业计算机科学与技术软件工程考试形式半开卷考试时间长度笔试120分钟机试100分钟总分:100分共10 页第1 页课程名称程序设计基础及语言2 考试学期11-12-3卷面60分适用专业计算机科学与技术软件工程考试形式半开卷考试时间长度笔试120分钟仅允许携带课程指定教材请将答案写在答题纸上第一部分笔试Note: All answers must be written on answer sheet!I.To answer the following questions and read the following programs:(20 scores)1.What does the following program output? (5 scores)#include <iostream>using namespace std;class X {public:X(){ cout << “X::Hello world!” << endl; }X(X& x){ cout << “X::Copy!” << endl; }~X(){ cout << “X::Good Bye!” << endl; }};class Y : public X {public:Y(){ cout << “Y::Hello world!” << endl; }Y(Y& x){ cout << “Y::Copy!” << endl; }~Y(){ cout << “Y::Good Bye!” << endl; }private:X x;};Y y;X x = y;int main(){ }2.What does the following program output? (3 scores)#include <iostream>using namespace std;共10 页第2 页{double a=0;try{ throw a; }catch(double){ cout<<”OK2!”<<endl; throw; }cout<<”end2”<<endl;}void f1( ){try{ f2( ); }catch(char){ cout<<”OK1!”<<endl; }cout<<”end1”<<endl;}int main( ){try{ f1( ); }catch(double){ cout <<”OK0!”<<endl; }cout<<”end0”<<endl;return 0;}3.What does the following program output? ( 12 scores) #ifndef TEST_H#define TEST_Hclass A {friend void f7( A*, A* );public:A( int, int );void f1( );void f5( );virtual void f2( );static int m;protected:void f3( );共10 页第3 页private:void f4( );int y;};class B : protected A {public:B( int, int b = 4 );void f1( );void f2( );void f4( );private:int x;int y;};class C : public A {public:C(int,int);void f1 ( ) ;void f2 ( ) ;};class D : private A {public:D( int, int );void f1 ( );void f2 ( );void f6 ( );};class E : private B {public:E( int, int );void f1 ( );};#endif//------------------------------#include <iostream>#include "test.h"using namespace std;int A::m = 88;A::A( int a, int b ): x (a), y(b) { }共10 页第4 页void A::f1( ){ cout << "f1 in A" << endl; }void A::f2( ){ cout << "f2 in A" << endl; }void A::f3( ){ cout << "f3 in A" << endl; }void A::f4( ){ cout << "f4 in A" << endl; }void A::f5( ){ A::f4(); cout << "f5 in A" << endl; }B::B( int a, int b ) : A( a, b ), x(a), y(b){ }void B::f1( ){ cout << "f1 in B" << endl; }void B::f2 (){ cout << "f2 in B" << endl; }void B::f4 (){ A::f1(); cout << "f4 in B" << endl; }C::C( int a, int b ) : A (a, b) { }void C::f1 ( ) { cout << "f1 in C" << endl; }void C::f2 ( ) { cout << "f2 in C" << endl; }D::D( int a, int b ) : A (a, b) { }void D::f1 ( ){ A::f5(); cout << "f1 in D" << endl; }void D::f2 ( ){ cout << "f2 in D" << endl; }void D::f6 ( ){ f1(); A::f1();}E::E( int a, int b ) : B (a, b) { }void E::f1 ( ){ A::f1(); B::f1(); cout << "f1 in E" << endl; cout << A::x << endl; } void f7( A* a, A* b ){ cout << "friend:" << a->x + b->x << endl; }//-----------------------------#include <iostream>#include "test.h"using namespace std;int main(){A a( 1, 2 ), *p1, *p2, *p3, *p4;B b( 3 );f7( &a, (A*)&b );C c( 5 ,6 );D d( 7, 8 );E e( 9, 10 ), *p5;f7( (A*)&b, (A*)&c );cout << A::m << " " << c.m << endl;b.f1( );b.f4( );p1=&a;p2=(A *)&c;p3=(A *)&d;p4=(A *)&e;p5=&e;共10 页第5 页p1->f2( );p2->f2( );p3->f2( );(*p4).f2( );d.f1( );p4->f5( );p5->f1( );}II.To fill in the following blanks to complete program segments. (20 score)1.The definition of generic stack class. (10 scores)template < _______ T >class stack {public:stack( int s= 10 );~stack( ){ delete [ ] stackPtr; }bool push ( ______ T & );bool pop( ) ( T& );……private:int size, top;T * ______;};template < typename T >stack___::stack( int s ) : size(s), top( -1 ), stackPtr( ______ ){ }……2.Operator overloading (10 scores)// member function implementationBigInt BigInt::operator++( ){IncrementBigInt(); // increment BigIntreturn _______;}共10 页第6 页BigInt BigInt::operator++( _____ ){BigInt temp = *this;IncrementBigInt(); // increment BigIntreturn temp;}// friend function implementationBigInt operator++( BigInt & t ){t.IncrementBigInt(); // increment BigIntreturn _______;}BigInt operator++( _____ , int ){BigInt temp = ______;t.IncrementBigInt(); // increment BigIntreturn temp;}III.To write programs or program segments according to the requirements(20 score)1.To write a program that creates a string array, sorts and outputs the array. (8 scores) Hint: you must use the standard string class.2.According to the following requirements, designing and using some classes: (12 scores) 1) To implement two derived classes Rectangle and Circle from base class Shape which is defined as following;class Shape {public:Shape(string& n);string getName() const;virtual double getArea() const; private:string name;}Shape::Shape(string& n){ name = n; }string Shape::getName() const{ return name; }virtual double Shape::getArea() const; { }2) Each derived class must re-implement all member function;3) Writing main function which defines a pointer array Shape * p[6], assigns corresponding共10 页第7 页addresses of instance to its each element according to input, access the array by a loop statement and call the member function getName(), getArea();4) Separating interface from implementation.东南大学考试卷( A 卷)课程名称程序设计基础及语言2 考试学期11-12-3卷面40分适用专业计算机科学与技术软件工程考试形式半开卷考试时间长度机试100分钟仅允许携带课程指定教材第二部分机试要求:1.编程:a)在本地D:或E:盘中,建立自己的文件夹,用来完成程序的编写和调共10 页第8 页试。

东南大学2006年06月C++(下)非电类B卷

东南大学2006年06月C++(下)非电类B卷

东南大学考试卷( 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);不能用于“实数+复数”,原因是。

东南大学2014学年工科 电类非电类 专业一年级 C++期末试卷(A卷)

东南大学2014学年工科 电类非电类 专业一年级 C++期末试卷(A卷)

东南大学2014学年工科电类/非电类专业一年级 C++期末试卷(A卷)(卷面成绩100分,考试时间120分钟)考试科目:计算机基础与C++程序设计(上)(开卷/闭卷):闭卷学号:姓名:___________一.大学计算机基础部分(共计20分)(一)选择题(共10题,每题1分,共10分)1. 以下不属于程序设计三要素的内容是:。

A. 算法B. 语言C. 环境D. 应用2. 以下描述中,包含了5个典型的计算机硬件结构部分的内容是:。

A.CPU、硬盘、主存B. CPU、存储器、I/O设备C. 存储器、I/O设备、系统总线D. CPU、存储器、系统总线3. 以下不同数制表示的数中最小的数值是:。

A. 二进制11011111B. 十六进制DFC.十进制217D. 八进制3374. 设一个栈的输入元素序列为a1,a2,a3,a4,输入过程中允许出栈,规定每个元素入栈、出栈只能各一次,则所得到的输出元素序列,不可能出现的是。

A. a1,a2,a3,a4B. a4,a3,a2,a1C.a1,a3,a4,a2D. a4,a1,a2,a35.在计算机中表示一个浮点数, 下面说法不正确的是。

A. 尾数反映浮点数的精度,阶反映浮点数后表示范围B. 尾数表示数的有效数字,阶表示数中小数点的位置C. 尾数为二进制定点纯整数,阶为二进制定点纯小数D. 浮点数由尾数和阶两部分组成6.十进制数 -27,用8位二进制数表示的原码和补码为。

A. 11011111、10011011B. 10011011、11100101C. 00011011、00011011D. 10011011、100110117. 微型计算机的内存储器是。

A. 按二进制位编址B. 按字节编址C. 按字长编址D. 根据微处理器型号不同而编址不同8. 根据计算机执行一条指令过程的基本步骤,下面选择正确的是。

① 分析指令② 取下一条指令③ 执行指令④ 取指令⑤ 执行过程结束A. ①②③④⑤B. ①③②⑤C.②③④①D. ④①③②9. 有一个数值152,它与十六进制数6A相等,那么该数值是。

东南大学高数-C++期末试卷

东南大学高数-C++期末试卷

东南大学交通学院高数、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++第二学期期末复习二_含答案

东南大学c++第二学期期末复习二_含答案

一、选择题:(每题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)。

东南大学C考试卷

东南大学C考试卷

东南大学考试卷一 . 选择题 ( 以下各题均只有一个正确答案,每题 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) 不能正确访问该数组的数组元素。

大一下高数c期末考试试题及答案

大一下高数c期末考试试题及答案

大一下高数c期末考试试题及答案一、选择题(每题4分,共20分)1. 以下哪个选项是函数f(x)=x^2+3x+2的导数?A. 2x+3B. x^2+3C. 2x+6D. 2x-3答案:A2. 求极限lim(x→0) (sin(x)/x)的值是多少?A. 0B. 1C. 2D. ∞答案:B3. 以下哪个选项是函数f(x)=e^x的不定积分?A. e^x+CB. e^(-x)+CC. ln(x)+CD. x*e^x+C答案:A4. 以下哪个选项是函数f(x)=x^3-6x^2+11x-6的零点?A. 1B. 2C. 3D. 4答案:B5. 以下哪个选项是函数f(x)=x^3-3x^2+4x的拐点?A. 0B. 1C. 2D. 3答案:B二、填空题(每题4分,共20分)6. 函数f(x)=x^3-6x^2+11x-6的二阶导数是________。

答案:6x-127. 函数f(x)=x^2+3x+2在x=1处的切线斜率是________。

答案:58. 函数f(x)=e^x的原函数是________。

答案:e^x+C9. 函数f(x)=ln(x)的定义域是________。

答案:(0, +∞)10. 函数f(x)=x^3-3x^2+4x的二阶导数是________。

答案:6x-6三、计算题(每题10分,共30分)11. 求定积分∫(0到1) (x^2+2x)dx。

答案:(1/3)x^3+x^2|(0到1) = 1/3 + 1 = 4/312. 求极限lim(x→∞) (x^2-3x+2)/(x^2+x+1)。

答案:113. 求函数f(x)=x^3-6x^2+11x-6的极值点。

答案:x=2为极大值点,x=3为极小值点四、解答题(每题15分,共20分)14. 已知函数f(x)=x^3-3x^2+4x,求其单调区间和极值点。

答案:f'(x)=3x^2-6x+4,令f'(x)=0,解得x=1和x=4/3。

东南大学C++第二学期期末复习二_含问题详解

东南大学C++第二学期期末复习二_含问题详解

一、选择题:(每题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 期末考试题及答案**东南大学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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题(每题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. 完成如下程序,要求实现方阵(矩阵行列数目相同)的上三角元素(含对角线元素)的和。

相关文档
最新文档