C语言作业
更新时间:2024-05-28 21:33:01 阅读量: 综合文库 文档下载
C++程序设计实验讲义
软件学院C++教学团队
目录
实验1 在小范围内用C++增强C的功能 ......................................................................... 3 实验2 类的定义与应用 ...................................................................................................... 5 实验3 this指针、常量和静态成员和友元函数的使用 ..................................................... 8 实验4 派生与继承 .............................................................................................................. 13 实验5 多态性 ...................................................................................................................... 16 实验6 IO流上机实验 ...................................................................................................... 20 实验7 运算符重载、模板 .................................................................................................. 23 实验8 windows程序设计 ................................................................................................ 26
实验1 在小范围内用C++增强C的功能
1.实验目的和要求
目的:快速掌握C++语言编程的方法,在小范围内增强C++的功能,主要内容有:(1)输入流、输出流的使用;(2)函数原型;(3)new和delete运算符分配内存。
2.实验内容:
(1) 编写一个用输入和输出流运算符进行的输入和输出的程序。从键盘输入两个数,
分别对两个数进行加,减,乘和除的运算。并输出计算结果,如: 23+123=146。
(2) 用new和delete运算符动态分配内存空间的方法编写程序。从键盘输入3?3整型
数组的数据,并计算出所有元素之和,打印出最大值和最小值。输入输出要用流运算符实现。
(3) 编写C++风格的程序,解决百钱问题:将1元人民币兑换成1,2,5分的人民币,有
多少种换法?
(4) 在主函数中定义2个整型元素a,b,用引用作函数参数的方法,在函数void swap(int
& x, int & y)中实现将数据交换存放,并在主函数中打印出来。
(5) 假设我们班有50名同学,每个同学都报出自己的生日, 每个同学的生日都不相重
的概率只有0.096,如果有100个同学,不相重的概率为3.0725?10-7。相重复的概率如此之大与我们主观想象不同。写一个程序,输入同学的人数n计算出其生日不重复的概率。然后在用彷真的方法, 利用随机数产生每个同学的生日,计算出生日不重复的概率并与前面的结果进行比较。
[学生的生日可以用随机数产生,rand()产生0—32767之间的伪随机数,因为此需要一个种子,种子不同产生的随机数列不同,rand()产生的随机数也不同,可以调用srand(long int *)函数设置种子,比如我们可以获得计算机中的时间获得随机数种子, 以上函数需要包含头文件 stdlib.h]
3.思考题:
结合上机的体会,回答下列问题.
(1)C++引入了I/O流运算符,与 C语言相比,它们好处是什么? (2)引用是C++的很重要的功能,在函数定义中,如何使用引用?
(3)函数重载设计不当会产生二义性问题,二义性主要体现在参数隐式类型转换和默认参数两个方面,举例说明两个问题,你认为该如何解决。 (4)C++中define与const定义常量有什么区别?
实验2 类的定义与应用
1、实验目的和要求:
掌握类定义的方法,理解类类型,实例的含义,体会面向对象程序设计中数据隐藏的概念。理解构造函数和析构函数的作用和运行实际,掌握拷贝构造函数的作用。并熟练掌握复杂对象类型的运用。
2、实验内容:
(1)定义一个时间类Time,它能提供由时分秒组成的时间。要求能够修改时间和打印出时间。
(2)编写一个计数器类,定义一个私有数据成员,通过两个成员函数,分别使其完成加1和减1操作。用构造函数数据成员初始化为0,输出函数可以输出数据成员函数的值。
(3)设计一个时间类,要求包含以下功能:
数据成员:时、分、秒 成员函数:
各种构造函数 析构函数
可以通过函数分别设置时间的各个组成部分 也可以整体设置时间
有一个tick函数,负责给当前时间加1秒钟,然后输出新的时间
(4)定义一个分数类如下,要求实现各个成员函数,并在主函数中测试两个分数的加减乘除等运算。
class Rational{ public:
Rational(int nn=1,int mm=1); //构造
Rational R_add(Rational & A); //加
Rational R_sub(Rational & A); //减 void R_mul(Rational & A);
//乘
//除
void R_div(Rational & A, Rational &B);
void simple( ); void print();
//约分
//以分数形式显示,注意约分
private:
int m; // 分母 };
(5)定义一个类包含一个整型数的指针变量,在构造函数中用new分配10各整型数的内存空间,在析构函数中用delete释放内存空间,并编写给内存空间赋值和输出函数。
(6)编写类String 的构造函数、析构函数
已知类String 的原型为: class String {
public:
String(const char *str = NULL); // 普通构造函数 String(const String &other); // 拷贝构造函数 ~ String(void); // 析构函数 private:
char *m_data; // 用于保存字符串 };
请编写String 的上述3 个函数。并编写一个主函数,在主函数中对所编写的成员函数进行测试。
(7)定义和实现类Array。数据成员有包含了10个元素的数组,成员函数GetData,有一个整形数参数i,函数返回下标为i的元素值,对一个数组元素的引用,成员函数Print打印出数组的值。构造函数将数据成员的所有数组元素初始化为0。还有一个input成员函数为数组赋值。
(8) 定义类Point.要求定义类对象时,可以有这样的定义语句: Point p1(1,2),p2(p1); #include
{
x=a;y=b; }
void fun (Point &p); void fun (Point * p);
private:
int n; // 分子
int x,y; };
void fun (Point &p) {
x=p.x ; y=p.y ;
cout<< \}
void Point:: fun (Point *p) {
x=p->x ; y=p->y ;
cout<< \ }
Void main() {
Point p(1,2),q(3,4) ; p.fun(q) ; q.fun(&q) ; }
改正程序中小的错误,给出程序运行的结果,并对程序进行分析。
3、思考题:
结合编程实践回答下列的问题。 (1) (2) (3)
结合第一个例子,说明什么是类?什么是对象?你是如何理解类和对象的? 面向对象的程序设计与结构化程序设计有何不同? 拷贝构造函数那些情况下会被调用,分别给出例子?
实验3 this指针、常量和静态成员和友元函数的使用
1、
实验目的和要求:
(1) 掌握显式使用this指针的方法 (2) 掌握静态数据成员的意义及使用方法
(3) 掌握常量数据成员和常量成员函数的意义和使用方法 (4) 掌握友元函数和友元类的使用方法
2、 实验内容:
(1)有如下类的定义。类成员函数copy用于实现两个对象的相互拷贝,请完成该函数的实现。(有两种方法即不用this 指针和用this指针)
#include
Myclass (int a,int b) { x=a;y=b;} Void copy(Myclass & my); void print( )
{ cout<<“x=”< void main() { Myclass my(10,20),t(30,40); my.print( ); my. Copy(t); my.print( ); } (2)设计一个类,实现两个复数的四则运算。实现加减乘除功能的函数用友元函数实现。 (3)分析下面程序,给出横线部分的语句,并分析程序的输出,和m_count的功能。 #include static int m_counter; public: A(); ~A(); static void display(); } —————————— //将m_counter初始化为0; A::A() { m_counter++; } A::~A() { m_counter--; } void A::display() { cout<<”There are:”< int main() { A a1; A a2; A a3; A::display(); a1.display(); } (4)商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,单价不一样,因此商店需要记录下目前库存的货物的总重量和总价值。编写一个程序,通过定义类Carlo来模拟商店货物购进和卖出的情况。 (本题目主要练习静态数据成员的使用,定义私有变量存每件货物的价格和重量,用静态数据成员存货物的总重量和总价钱,定义构造函数和析构函数,当定义新的对象完成初始化的功能和删除对象时,从总重量和总价钱中减去对象的重量和价格) (5) 静态成员练习 1)。编写一个类Node,声明一个数据成员member和已经静态成员count,另构造函数初始化数据成员,并把静态数据成员加1,另析构函数把静态数据成员减1。 2)。在1)的基础上编写应用程序,创建3个对象,然后显示他们的数据成员和静态成员,再析构每个对象,并显示他们对静态数据成员的影响。 3)。修改2),让静态成员函数访问静态数据成员,并让静态数据成员是私有的。 (6)个类分别为整型数集合类和实型数集合数类。将缺少的内容补齐。并完成要求的其它内容。 如: class Intset { private: int num[3]; public: Intset ( int x,int y, int z) {//添加初始化内容} void print( ) { //打印数据} }; class floatset { private: float num[3]; public: floatset ( float x,float y, float z) { //添加初始化内容 } void print( ) { //打印数据 } }; (1) 在Intset中再增加一个成员函数,将对象的整型数据拷贝的到floatset的对象 中此成员函数的原型为: void settofloat(floatset &set); //形参为拷贝的目标对象 (2) 办法需要调用函数,程序的开销较大,可以定义一个友元函数来实现上述的 功能。 请分别完成两个程序。 (7) 分析以下程序的功能,把程序用三种方法(公有数据成员、友元、用成员函数访问私有数据成员)补充完整,实现对对象peppy的成员 #include void SetValue(Animal&, int); void SetValue(Animal&, int, int); class Animal { public: Animal():itsWeight(0),itsAge(0){} void show(){cout< void SetValue(Animal& ta, int tw) { // 设置itsWeight值 } void SetValue(Animal& ta, int tw, int tn) { // 设置itsWeight和itsAge值 } int main() { Animal peppy; SetValue(peppy, 5); peppy.show(); SetValue(peppy, 7, 9); peppy.show(); return 0; } (8) 设计一个整数链表类,满足栈操作。即,总在链表首插入结点,总在链表首取出(删除)结点。类中需有记录结点个数的数据成员。如果链表为空,而要做取出结点操作,则类必须给出错误信息。 编写应用程序,取100次随机数(范围10-200),每取到比前一个随机数大时,放入链表中,否则,略去。然后逐个取出,求其和。 用堆分配方法逐个产生满足条件的结点,插入链表中。每当从链表中取出一个结点时,要及时将结点删除。 求和工作不要在链表类中完成,以使该链表类具有通用性。 3、思考题: 结合编程实践回答下列的问题。 (1) 什么是this指针,它的主要作用是什么? (2) 总结静态成员的特点。 实验4 派生与继承 1、 实验目的和要求: 此实验用两个单元的时间完成,是一个综合性的实验,要求编写的程序涉及到C++的许 多知识点,如类的定义,动态分配内存,构造函数,派生,虚基类等。实验内容给出的是一个完整的程序,4个题目实际是类等级。同学也可以在此基础上发挥增加新的内容。 2、 实验内容: 1. 定义一个基类MyArray,基类中可以存放一组数组。 Class Myarray { int *alist; int length; public: Myarray( int leng); ~myarray(); void input(); void display(); }; 编写构造函数,析构函数及其它函数,实现动态分配内存,释放内存和数据输入输出等功能。并进行调试。 2.定义一个类averarray继承自myarray,在类中求数组的平均值,并输出。进行调试。 3.定义一个类revarray继承自 myarray, 使数组按反序存放,并输出。进行调试。 4. 定义一个类Nawarray继承自averarray和revarray。在继承过程中声明为虚基类,体会 虚基类在解决二义性中的问题中的作用。调试中可以试一试不用虚基类出现的问题。 5. 读程序,回答问题 #include }; void f1(); A() {i1=10;j1=11;} int j1; int i1; protected: private: class B:private A { public: }; class C: public B { public: }; 回答下列问题: (1) 派生类B中成员函数f2()能否访问基类A中的成员f1()、i1和j1? (2) 派生类B的对象b能否访问基类A中的成员f1()、i1和j1? (3) 派生类C中成员函数f3()能否访问直接基类B中的成员f2()、i2和j2?能否访 问间接基类A中的成员f1()、j1和i1? void f3(); C() {i3=30;j3=31;} int j3; int i3; void f2(); B() {i2=20;j2=21;} int j2; int i2; protected: private: protected: private: (4) 派生类C的对象c能否访问直接基类B中的成员f2()、i2和j2?能否访问间接 基类A中的成员f1()、j1和i1? 6. 编写一个程序,实现字符串操作: 一个简单串类string,包含输入字符串、返回字符串长度及内容等功能; 另有一个具有编辑功能的串类edit_string,它继承string类,在其中设置一个光标,使 其能支持在光标处的插入、替换和删除等编辑功能。 实验5 多态性 1.实验目的和要求: (1)理解多态性、虚拟函数、抽象类和具体类、静态绑定和动态绑定等概念 (2)学会利用虚函数来实现多态性,以便更好地来扩展和维护系统 (3)理解C++如何实现虚拟函数和动态绑定(*) 2.实验内容: (1) 以下是一个计算正方体、球体和圆柱体的面积和体积的程序。试分析程序 并写出程序的运行结果,然后上机运行验证。 #include double radius; public: container(double radius) { container::radius=radius; } virtual double surface_area()=0; virtual double volume()=0; }; class cube:public container { public: cube(double radius):container(radius){}; double surface_area() { return radius*radius*6; } double volume() { return radius*radius*radius; } }; class sphere:public container { public: sphere(double radius):container(radius){}; double surface_area() { return 4*3.1416*radius*radius; } double volume() { return 3.1416*radius*radius*radius*4/3; } }; class cylinder:public container { double height; public: cylinder(double radius,double height):container(radius) { cylinder::height=height; } double surface_area() { return 2*3.1416*radius*(height+radius); } double volume() { return 3.1416*radius*radius*height; } }; void main() { container *p; cube obj1(10); sphere obj2(6); cylinder obj3(4,5); p=&obj1; cout<<\输出结果:\ cout<<\正方体表面积:\cout<<\正方体体积:\p=&obj2; cout<<\球体表面积:\cout<<\球体体积:\p=&obj3; cout<<\圆柱体表面积:\cout<<\圆柱体体积:\} (2)实现下图中的Shape层次结构。每个TwoDimensionalShape类应包括成员函数getArea,以计算二维图形的面积。每个ThreeDimensionalShape类包含成员函数getArea和getVolume,分别计算三维图形的表面积和体积。编写一个程序,使用层次结构中每个具体类的对象的Shape向量指针。程序要打印出向量元素所指的对象。同样,再将所有形状存入向量的循环中,要能判断每个图形到底属于TwoDimensionalShape还是属于ThreeDimenionalShape。如果某个图形是TwoDimensionalShape就显示其面积,如果某个图形是ThreeDimenionalShape,则显示其面积和体积。 Shape TwoDimensionalShape ThreeDimensionalShape Circle Triangle Square Sphere Cube (3)编写一个程序,先设计一个链表List类,再从链表类派生出一个集合类Set类,再集合类中添加一个记录元素个数的数据项。要求可以实现对集合的插入、删除、查找和显示。 3.结合上机体会,回答下列问题 (1)多态性是如何让程序“普遍化”而非“特殊化”的?试说明程序“普遍化”的主要好处。 (2)什么是虚拟函数?请说明虚拟函数适用的环境。 (3)多态性是如何提高可扩展性的? (4)说出静态绑定和动态绑定的区别,并试解释说明动态绑定究竟是如何实现的? 实验6 IO流上机实验 1. 实验目的和要求 (1) 理解I / O流与标准流对象的意义 (2) 掌握常用的IO 成员函数: (3) 掌握文件的基本操作 (4) 理解二进制文件与文本文件的区别 (5) 熟练掌握文件的顺序读写方法 (6) 熟练掌握文件的随机读写方法 2. 实验内容: (1) 由希腊著名数学家埃拉托色尼提出求解素数的“筛选法”, 1)阅读程序改正其中的错误,使其能输出100以内的所有素数。 2)改写该程序,将1~ Num以内的所有素数按清晰的格式写入文件中。 3)从文件中读出n~m(1 int main() { const int MAX= 100; bool isPrime[MAX]; for(int i=0; i isPrime[0]=isPrime[1]=false; //1和0不是素数 isPrime[i]=true; int n = sqrt(MAX) +1 ; for( i=2; i< n; i++) { } for( i = 2 ; i if( isPrime[i]) cout<< i < //素数的整数倍不是素数,从而筛选掉所有不是素数的数 if(isPrime[i]) { } for(int j=2*i; j isPrime[j]=false; return 0; } (2) 课程管理程序 设计程序对学生选修课程情况进行记录和管理。一名学生可选修多门课程,每条课程记录包括课程名,学分,选修学期和成绩等信息。要求进行如下操作: 1) 输入多个学生的选修课程信息,以清晰的格式写到文件中; 2) 修改某个学生的选课记录,增加新选修的课程; 3) 在文件中查找某个学生的信息,输出所有选修的课程; 4) 删除某个学生的所有选课信息 5) 核查所有不满足毕业条件学生名单(如选修学分不足、某学期不及格课程超过3科等)。 (3)图书馆管理系统 开发图书馆管理系统,完成图书的登记,查询和借阅等功能:定义Book, Reader, Manager等类,管理员拥有对图书信息的录入,查询, 修改,增添与删除等权限;读者拥有查询图书和个人借阅信息等权限;要求用文件记录所有图书和用户信息。请 给出规范额完整的UML类图,设计书和实现代码。 3.思考题: 结合上机的体会,回答下列问题. (1)C++引入了I/O流实现输入输出,与 C语言相比,这种输入输出方法有哪些优点? (2)文本文件与随机文件有什么本质区别?分别适用于什么情况? (3)比较随机读写与顺序读写的不同,是否文本文件只能进行顺序读写操作,二进制文件只能进行随机读写操作? (4)请举例说明IO流中的成员函数getline()与get()的使用有何区别。 实验7 运算符重载、模板 1、 实验目的和要求: (1) 掌握运算符重载的语法要点,学会运算符重载的编程方法。 (2) 理解函数模板、类模板,应用模板函数、模板类。 2、 实验内容 (1) 先读程序,写出程序的输出结果,再运行程序验证程序的输出。用友元重载方式重新编写程序。 #include Vector(int i,int j) {x=i;y=j;} friend Vector operator+=(Vector v1,Vector v2) { v1.x+=v2.x; v1.y+=v2.y; return v1; } Vector operator-=(Vector v) { Vector temp; temp.x=x-v.x; temp.y=y-v.y; return temp; } void display() { cout<<\private: }; int x,y; void main() { Vector v1(1,2),v2(3,4),v3,v4; v3=v1+=v2; v4=v1-=v2; cout<<\ v1.display(); cout<<\ v2.display(); cout<<\ v3.display(); cout<<\ v4.display(); } (2) 定义一个有理数类,重载比较运算符.写一个完整的程序,进行数据成员的设置和输出。 class rational {private: long denom,den; //denom为分子,den为分母 public: rational(int num=0, int denom=1; int operator<(rational r) const; int operator<=(rational r) const; int operator= =(rational r) const; int operator!=(rational r) const; //这里增加赋值和读出函数 } (3) 设计一个复数类,并重载+,-,×,/ 和 <<运算符。写完整程序并调试。 (4)用类模板方式设计一个栈类stack T s[Max]; int top; (5)用函数模板方式设计一个函数模板sort 3、思考题: (1) 什么时候用模板函数,什么时候用函数重载? (2)cout为什么可以直接输出 int类型,double类型等数据类型数据? (3)为什么引入运算符重载? (4)函数模板与同名函数重载的调用规则是什么? 实验8 windows程序设计 1. 实验目的: 键盘消息和鼠标消息综合运用;熟悉文档/视图结构;掌握文档读写的基本方法;掌握MFC消息映射和命令传递内部机制和学会使用消息映射处理方法的使用;掌握MFC应用程序框架中各种文件的组成和功能用法;对话框和控件的综合应用。 2. 实验内容: (1)编写一个简单绘图程序MyDraw,要求实现下列功能: (a)当用户在客户区按下鼠标左键并移动时,根据鼠标移动的轨迹绘制出指定的线段; (b)重绘窗口时能够显示已绘制的线段,并且能够保存绘制好的图形在磁盘文件中; (c)添加键盘消息处理程序,判断当前按下的键是否是Y或y键,并给出相应提示 (2)编写一个windows应用程序,要求在窗口的用户区中绘制一个圆,当单击鼠标左键时,该圆放大,单击右键时,该圆缩小,按下Ctrl键的同时移动鼠标,则该圆会随鼠标的移动而移动。 (3)编写一个Windows应用程序,在窗口用户区中绘制一个矩形,用键盘上的上下左右光标键可以使该矩形分别向4个方向移动,当按下键盘上的Home键时该矩形会从左上角方向增大,当按下键盘上的End键时该矩形会从右下角放下光缩小,当单击鼠标左键时该矩形会恢复到原始尺寸。 (4)编写一个对话框应用程序,实现具有+、-、*、/功能的简单计算器。 (5)定义一个对话框应用程序,具有注册功能和登陆功能。用户有帐户信息和密码;注册时要求帐户不能重复;注册、登陆成功或失败用AfxMessageBox提示。 3. 思考题 结合编程实践思考下列问题: (1)简述构成文档/视图结构应用程序框架的4个MFC派生类,并说出它们的功能。 (2)在文档/视图结构的应用程序中,视图类的对象是如何来获取文档类对象中的数据的? (3)简述在应用程序的窗口中使用一个控件的步骤。 实验8 windows程序设计 1. 实验目的: 键盘消息和鼠标消息综合运用;熟悉文档/视图结构;掌握文档读写的基本方法;掌握MFC消息映射和命令传递内部机制和学会使用消息映射处理方法的使用;掌握MFC应用程序框架中各种文件的组成和功能用法;对话框和控件的综合应用。 2. 实验内容: (1)编写一个简单绘图程序MyDraw,要求实现下列功能: (a)当用户在客户区按下鼠标左键并移动时,根据鼠标移动的轨迹绘制出指定的线段; (b)重绘窗口时能够显示已绘制的线段,并且能够保存绘制好的图形在磁盘文件中; (c)添加键盘消息处理程序,判断当前按下的键是否是Y或y键,并给出相应提示 (2)编写一个windows应用程序,要求在窗口的用户区中绘制一个圆,当单击鼠标左键时,该圆放大,单击右键时,该圆缩小,按下Ctrl键的同时移动鼠标,则该圆会随鼠标的移动而移动。 (3)编写一个Windows应用程序,在窗口用户区中绘制一个矩形,用键盘上的上下左右光标键可以使该矩形分别向4个方向移动,当按下键盘上的Home键时该矩形会从左上角方向增大,当按下键盘上的End键时该矩形会从右下角放下光缩小,当单击鼠标左键时该矩形会恢复到原始尺寸。 (4)编写一个对话框应用程序,实现具有+、-、*、/功能的简单计算器。 (5)定义一个对话框应用程序,具有注册功能和登陆功能。用户有帐户信息和密码;注册时要求帐户不能重复;注册、登陆成功或失败用AfxMessageBox提示。 3. 思考题 结合编程实践思考下列问题: (1)简述构成文档/视图结构应用程序框架的4个MFC派生类,并说出它们的功能。 (2)在文档/视图结构的应用程序中,视图类的对象是如何来获取文档类对象中的数据的? (3)简述在应用程序的窗口中使用一个控件的步骤。
正在阅读:
C语言作业05-28
PEP三年级英语下册期末测试题05-05
中美贸易失衡的现状、原因及对策分析06-08
学习e家课堂游戏05-11
2018-2024年三水杨酸胆碱镁片行业市场评估分析及发展前景调研战略研究报告(目录)12-28
八年级英语上册Unit4DoityourselfReadingII教案(新版)牛津版11-26
银行营销团队管理办法04-25
高考政治复习知识点总结最全资料第七部分——和平发展与国际关系07-23
直流开关稳压电源的毕业设计06-02
- 2009中西部家居博览会总体策划
- 2009 Revit 1级工程师学生用
- 天津地铁建设工程试验检测机构管理办法(TJDT-ZY-AQ-29)
- 新四年级数学暑期班第七次教案
- 机械制造企业隐患排查治理检查表 - 图文
- 2008届全国百套高考数学模拟试题分类汇编-103概率与统计解答题 -
- 职场健身防病试题及答案
- Excel操作技巧大全II - --数据输入和编辑技巧
- 南开大学2018春季《行政管理学》离线作业考核答案
- 2015年医师定考简易程序试卷及答案
- 新《预算法》对行政事业单位预算管理的挑战解读
- 轴的课件
- 电动汽车充电桩设计 毕业论文
- 必修2、选修2-1、1-1期末模拟试题2
- 桌面远程运维管理系统实施-可行性研究报告120306
- 西气东输水土保持工程工作总结 - 图文
- 正宁县基本县情及经济社会发展情况简介
- SATWE参数设置(巨详细)
- 儒家法思想研究综述
- 生活家政服务电子商务平台建设运营整合方案书【审报完稿】
- 作业
- 语言
- 箱变改造施工方案
- 2012年河北公务员考试行测:四大时间表述陷阱
- 中级财务会计 第章 应收款项 总结归纳、习题(及答案共页)
- 物理必修二天体运动各类问题
- 申论备考:研读真题是根本
- 学生会宣传部定位1
- 文学理论练习题1
- 公安部2013年新版考试题库驾驶证考试-小型汽车驾照模拟考试
- 传递函数零极点对系统性能的影响
- 一标施工组织设计
- 04诱变育种
- 2010年高中物理自主学习同步讲解与训练 动量和能量
- 国际贸易实务英文版第二版课后习题答案
- 电气初级知识答案
- IDE、SATA、SCSI、SAS、FC、SSD硬盘类型介绍
- 断桥铝门窗选材必备技巧 - 图文
- 毕笑云-开题报告
- 水工建筑物复习题及答案
- 探析酒店业的税收筹划 - 图文
- 《平分生命》第一课时教学设计