




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、雷电老师的上机实验答案(部分) 。以下文字中, 红色 为应填入 的答案, 绿色 为代码的注释, 蓝色 为老师没有讲过的知识补充, 紫色 为我不确定的题目第二章 从 C 到 C+1. 以下说法正确的有A. 面向对象程序设计的基本特征是 封装、 继承、多态B. 名字空间的作用是 提供逻辑分类 和防止名字冲突2. 代码填空#include using namespaces td ; / 这是因为 std 涵盖了标准 C+的定义和声明,可以把 std 想象成一个很大的名字空间名, cin 、cout 都是其内部定义的函数 namespace myLib / 此处定义了名叫“ myLib”的名字空间 i
2、nt maxV(int& a,int& b)return ab?a:b; / 此空间里面的所有函数的全名为: myLib :maxV int main( )int x,y;cin xy; / 因为题目要求要输入两个函数,所以我们采取依次输入 的方法cout myLib: maxV( x,y ); / 输出 maxV函数值 , 名字空间里面定义 过的函数,全名为:“名字空间名:函数名” return 0;输入 1 2 输出 2 /maxV 函数的意思是取两个参数中较大的一个这里说一下 typedef 的两条用法,下面的题目要用到: 用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声
3、明指针型的多个对象。比如:char* pa, pb; / 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,/ 和一个字符变量;以下则可行:typedef char* PCHAR; / 一般用大写PCHAR pa, pb; / 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可行,但相对来说没有用 typedef 的形式直观,尤其在需要大量指针的地方, typedef 的方式更省事。 用途二:用在旧的 C 代码中(具体多旧没有查) ,帮助 struct 。以前的代码中,声明 struct 新对象时,必须要带上 struct ,即形式为: struct 结构名
4、对象名,如:struct tagPOINT1int x;int y;struct tagPOINT1 p1;而在 C+中,则可以直接写:结构名对象名,即:tagPOINT1 p1;估计某人觉得经常多写一个 struct 太麻烦了,于是就发明了:typedef struct tagPOINTint x;int y;POINT;POINT p1; / 这样就比原来的方式少写了一个 struct ,比较省事,尤其在大量使用的时候或许,在 C+中, typedef 的这种用途二不是很大,但是理解了它,对掌握以前的旧代码还是有帮助的,毕 竟我们在项目中有可能会遇到较早些年代遗留下来的代码。3. 有函数t
5、ypedef char* LPTSTR;/ 此处规定了 LPTSTR的类型是一个字符型的指针,这里为 typedef 的用途一int GetSystemDirectory( LPTSTR lpBuffer, int uSize); / 函数中的两个参 数类型,第一个为字符型的指针,第二个为整型 正确的调用代码是 (多选 )A. char dir200;GetSystemDirectory( dir, 200 ); /dir200 表示一个数组, dir 也可以理解为该数组第一个成员的地址 (类似于指针 )B. char *pdir=new char200; GetSystemDirectory
6、( pdir, 200 );/ 前半句定义了一个字符型的指针 pdir 并且动态创建了一个长度为 200 的字符型数组, 所以可以满足后半句中函数参数的要求C. char *dir; GetSystemDirectory( dir, 200 ); / 前半句定义了一 个字符型的指针 dir ,但是为什么不选这项我也不清楚,我要问问老师D. string dir; GetSystemDirectory( dir, 200 ); /dir 的类型是一 个字符串型的,不满足函数参数的要求E. LPTSTR lpBuffer;GetSystemDirectory( dir, 200 );/dir 不知
7、道从何而 来,前半句定义 lpBuffer 为一个 LPTSTR字( 符类型的指针,为什么?看这道题 的第一个注释 ) 类型,并没有提到 dir4. 有函数typedef struct _SYSTEMTIME WORD wYear;WORD wMonth;WORD wDayOfWeek;WORD wDay;WORD wHour;WORD wMinute;WORD wSecond;WORD wMilliseconds; SYSTEMTIME, *LPSYSTEMTIME; / 此处用到了 typedef 的用途一: SYSTEMTIM和E *LPSYSTEMTIM两E 者等价,类型都为结构体 _
8、SYSTEMTIM,E只是 SYSTEMTIM定E 义的变量为结构体 _SYSTEMTIMEL类E型,而 LPSYSTEMTIM定E义的 变量的指针为结构体 _SYSTEMTIM类E 型void GetSystemTime( LPSYSTEMTIME lpSystemTime );/ 此处要求 lpSystemTime 为结构体 _SYSTEMTIM的E 指针 正确的调用代码是 (多选 )A. LPSYSTEMTIME time; GetSystemTime( time );/ 用 LPSYSTEMTIM定E义变量 的形式为 LPSYSTEMTIME * time,所以题目中 time 不是一
9、个指针类型B. SYSTEMTIME *ptime; GetSystemTime( ptime);C. SYSTEMTIME time;GetSystemTime( &time );D. SYSTEMTIME *ptime=new SYSTEMTIME; GetSystemTime( ptime);5. 根据下面的调用char str200;bool ok = getstr( str,200);/ 我们观察 getstr函数里面的两个参数: str 是一个大小为 200 的数组的数组名,同时也是指向这 个数组第一个元素的指针名 (基地址) ;200 为这个数组的元素个数,也同时是这 个数组表示
10、的存储空间里面基地址的偏移量 可以观察到 ok 的类型是 bool 型, 所以函数 getstr 也应为 bool 型写出其函数原型 (多选 )A. void getstr( char str,int size );/ 不符合B. bool getstr( char str,int size );C. bool getstr( char *p,int len );D. ok=getstr( str,200 );/ 函数原型应包括函数得到类型6. 下面哪条代码是错误的?A. string s; s=i love C+; coutsn;/p32 2.5.4 读写 stringB. string s
11、1=i love c+; char s230; s2=s1; couts2n;/p33 的 2.5.5 ,明确说明了赋值时,左边必须是一个 string 类型得到字符串, 右边可以是一个 string 类型的字符串,也可以是一个 C 风格的字符串或仅仅是 一个 char 字符C. string s; s=i love ; s+=C+; coutsn;/p34 2.5.6 字符串的连接D. string s=i love you,t; t=s+!; couttn;/ 同上7. 如下代码的输出是 p.x=4 p.y=-11 / 注意 cout 输出内容的格式,不要忘记 “ p.x= ”,“ p.y
12、= ”#include using namespace std;struct point int x,y;void move (point& q) q.x-;q.y+; int main() point p;p.x=5;p.y=-12; move(p);coutp.x=p.xn; coutp.y=p.yn;return 0;8. 如下代码的输出是 *p.x=4 *p.y=-11 #include using namespace std;struct pointint *x,*y;void move (point& q)-*q.x;/ 此处是将 q.x 所指向的内容自减 1+*q.y;/ 此处是
13、将 q.y 所指向的内容自增 1 int main() point p;int a=5,b=-12; p.x=&a; / 此处,令 a 的地址为 p.x p.y=&b; / 此处,令 b 的地址为 p.ymove(p);cout*p.x=*p.xn; cout*p.y=*p.yn; return 0;9. 写一段代码 double * db_ptr = new double;分配一个类型为 double 的存储空间,并将它的地址赋给变量 db_ptr / 此题代码也可为: double * db_ptr;db_ptr = new double;10. 下面代码输出为 5 ,有一行错误修改为:i
14、nt & ai(int i)int j=1; 改为 static int j=1 ;/ 因为代码定义了一个引用返回类型, j 和 b 直接关联在一起,没改之前,当 return j 时,存储 j 的空间已经收回, 所以要把 j 改为静态 (全局)变量j += i;return j;int main()int& b=ai( 1 );b+;b = ai( 2 );coutb;11. 下面代码填空/ 此题主要是考枚举的概念, p28 2.4.4#includeusing namespace std;enum MinSize=0,MaxSize=1000;enum Colorred=0xff0000,
15、green=0xff00,blue=0xff;void draw( Color color)if(color= red) cout 红endl;else if(color= green )cout 绿endl;else if(color= blue ) cout 蓝endl;int main(int argc, char* argv)int a MaxSize;for(int i=0;iMaxSize;i+) ai=i;Color color= red; draw(color);return 0;p53 2.812. 下面代码的输出 er: 越界! 0 1 2/ 此题考察例外处理,const
16、int MaxSize=3;int curr=0;int AMaxSize;void append(int x)if( currMaxSize)Acurr+ = x;elsethrow er: 越界! ;int main(int argc, char* argv)int i;tryfor(i=0;i5;i+) append(i);catch(char *e)couteendl;for(int j=0;ji;j+) coutAj coutname=name; / 构造函数 Profession() / 析构函数 int CompareIncome( Profession &profes)if(
17、this-avgIncom avgIncom = profes.getavgIncom() )return 0;/ 根据 main 函数最后输出结果的形式得出,特别注意 C+的等于 用“ =”表示 else return 1;static int CompareIncome( Profession &profes1,Profession &profes2)if( profes1.getavgIncom() profes2.getavgIncom() return 1;else return 0;string getname()return name; /name 是字符串类型 string g
18、ettitle()return title;double getavgIncom()return avgIncom; /avgIncom 是 double 型void setname( string name) this-name =name;/ / 表示 Profession 类里面定义的 name被 setname 的参数赋值 void settitle( string title ) this-title=title;void setavgIncom( double avgIncom ) this-avgIncom=avgIncom;int main( )Profession prof2
19、;for(int i=0;inametitleavgIncom;profi.setname (name); / 在循环中对两个 prof 都进行 setname 操作,但是要它们自己调用自己的成员函数 setname profi.settitle(title);profi.setavgIncom(avgIncom);for(i=0;i2;i+)cout profi. getname()tprofi.gettitle()tpr ofi.getavgIncom()tendl; / 两个 prof 分别调用各自的成 员函数 getnameint comp= Profession:CompareInc
20、ome ( prof0,prof1 );/ 用到 Profession 类里面的函数,调用方法就为以上形式 coutprof0.getname()avgIncom比 prof1.getname();if( comp 0 )cout 少 0 )cout 多endl;elsecout 相同 title=title;/ 因为是外联式实现 (写在类外面 ) ,所以要用到“:”域解析操作符3. 改写析构函数为外联式实现Profession:Profession()/ 同理4. 考察 main() 函数中的调用代码: profi.settitle(title);设对象 prof0 的地址 0x112345
21、67, 对象 prof1 的地址 0x21234567那么运 行分别进入成员 setname 函数体中,this 值分别是 0x11234567 、 0x21234567/p119 最右边有的一句话: this 指向对象 c1,即 this 的值为 &c1 类(2)以下是 第 3 章 类 教材中的练习1. 78 页 3.1.8-2 Airplane airplane;( 注: 对象名 airplane) Airplaneairplanes5; ( 注:5 个对象的数组 , 名 airplanes)2. 79 页 3.1.8-5 / 与 struct 区别开来, struct 成员都是公有的A.
22、 私有 B. 公有3. 79 页 3.1.8-9 改为 / 此题牵涉到成员函数外联实现的表现形式A. private: unsigned getHeadCount() const;B. unsigned Circus:getHeadCount() const . C. Circus: unsigned getHeadCount() const . D. unsigned Circus:getHeadCount() . 4. 82 页 3.2.7-2 getTop 其声明及内联式的实现(注: 不考虑栈可能是空的情况) int getTop() return arrtop;/ / 所写代码只要满足
23、要求即可5. 85 页 3.3.5-5 错的地方修改为A. void setAux(string& s) dm=s;B. void setAux(const string& s) const dm=s;C. void set(string& s)const setAux( s ); D. void set(const string& s) setAux( s ); / 修改之前 set函数使用 const 标记的,而 setAux 是非 const 类型,所以这种调用是错误的, 具体陈述请见 p84 最后一段6. 105 页 3.5.12-2错的地方修改为 Z(); / 构造函数没有函数类型7
24、. 106页 3.5.12-7 须为公有成员函数错的地方修改为 public: / 构造函数需要被调用, 所以必8. 106 页 3.5.12-9 错的地方修改为 R(const R&arg); (注: 参量要使用 const 修饰) / 拷贝构造函数的定义, p95 3.5.49. 106 页 3.5.12-13输出 1 -999 / 这道题要说明什么我也不清楚10. 107 页 3.5.12-19 错的地方修改为A. public: void C( int a ) c = a; B. const int c = 0;C. public: const int c;D. public: C(
25、int a ) c(a) / 此题表示的是,当要对 const 类型的对象赋值时,不能直接在函数内 部赋值,需要用到构造函数的初始化段11. 108 页 3.5.12-22 错的地方修改为 A(); / 析构函数没有函数类型12. 117 页 3.7.4-3 补上所缺的代码 int C:x=0; ( 注: 设初值为 0)/ 因为 x 为 static 类型,属于全局变量,所以可以在类的外面对 x 赋值, 但要用到“:”域解析操作符13. 117 页 3.7.4-4 错误地方修改为A. +this-x B. this-+xC. s 函数内不能访问 x D.public: int x;/stati
26、c 函数不能访问非 static 内容,具体陈述见 p155 中间一段14. 117 页 3.7.4-5 输出 1 2 3 /s 为 static 类型,属于全局变量15. 120 页 3.8.2-1 错的地方修改为A. void g( C& c1);B.g(c1);C. p-m();D.c1.g(&c1);/ 必须用这种形式, p118 例 3-42以下是自编练习:16. 设有 class CC public: CC( int x ) ; 以下创建对象的方法正确的有 ( 多选)A. CC c(1);C. CC cs2=C(1),C(2);E. CC cs2=1,2;/ 因为构造函数带有参数
27、只有 D 没有带参数,故选 ABCEFB. CC *pc=new CC(1);D. CC c;17. 设有 class CC public: void s;以下正确的有 (多选 )A. CC c; c.m(); c.sm();C. CC c; c.m(); CC:sm();E. int CC:s=0;G. void CC:m() this-s=9;m(); static void sm(); int a; static intB. CC c; CC:m(); c.sm();D. CC c; CC:m(); CC:sm();F. void CC:sm() s=9;H. void CC:sm()
28、this-a=9;类型 类型/ 见p115 例 3-39 后面有一个表格,说明了当成员函数是 static 时,可以用 C:sm() 调用,也可以用 c.sm() 调用;当成员函数非 staticF. CC c1(1); CC c2(c1); 所以创建对象时, 必须要带参数创建, 所以 时,只能用 c.m() 调用。故 B、 D错误,另 static 成员函数只能访问 static 成 员,a 为非 static 类型,所以 H错误第四章 继承1. 137页 4.2.5-1 2 (个)。/ 本身有一个 y,又从 A类继承了一个 x2. 137 页 4.2.5-2 错的地方可修改为 (多选)A.
29、 public:int x; B. public:int y;C. protected:int x; D. protected:int y;/ 若 x 为私有成员变量,派生类的成员函数不能对其进行访问3. 137 页 4.2.5-3A. P-Q-R B.R-Q-P/P,Q 为分别继承 Q,R得来,故 P,Q分别为 Q,R子类,则 P-Q ,Q-R4. 144 页 4.4.1-4 2(个)。/x 为私有成员变量,派生类对其不可见5. 144 页 4.4.1-5 错的地方可修改为A. public:int x;B. public:void set_x(int a)x=a;C. protected:
30、int x; D. protected:void set_x(int a)x=a;E. a1-set_x(4);F. protected:void set_x(int a)a=x;/ 要调用成员函数 set_x(4) ,那么他首先必须是一个公有成员函数6. 144 页 4.4.1-6 错的地方可修改为 (多选)A. public:int x;B. public:void set_x(int a)x=a;C. public:void f(A& a)this-set_x(5); D. public:void f(A& a) a-set_x(5);7. 145页 4.4.1-7 填写 DC:init
31、 函数体代码 set1(n1); set2(n2); num3=n3;8. 152页 4.5.4-1 错的地方可修改为 (多选)A. 在类 BC 中添加 public 成员 BC() B. DC(int a):BC(a) /*constructor body*/C. 在类 BC 中删除构造函数/ 创建对象时,依据派生类要调用的构造函数类型 ( 参数类型 ) ,调用基类的 构造函数,若基类没有这一类型就会出错9. 152 页 4.5.4-2 因为A. 在 Primate 构造函数被调用时 Animal 构造函数会被先调用B. 没关系 ./ 继承机制下创建派生类对象:从最顶层类中调用构造函数,依次
32、调用下来10. 152页 4.5.4-3 (注:省写 constructor,以空格分隔 )BC b; 执行后输出 BCDC1 d1; 执行后输出 BC DC1DC2 d2; 执行后输出 BC DC1 DC2return 0;执行后输出 DC2 DC1 BC DC1 BC BC/ 继承机制下创建派生类对象:从最顶层类中调用构造函数,依次调用下来; 当要释放对象时, 从最底层类调用析构函数, 依次调用上去; 两者刚好相反11. 152 页 4.5.4-9A. 是B. 否/ 执行 BC(int) 即可12. 164页 4.7.3-2 4(个)。/ 派生类的成员函数可以访问基类的保护成员变量13.
33、165页 4.7.3-3 x=1; y=2; a=3; b=4; (注:按 x,y,a,b顺序分别赋值 1,2,3,4)14. 165 页 4.7.3-4 2(个 )。/p164 第一段文字以下是自编练习:15. 有定义:class BCpublic:int b; void m()coutBC; ;class DC : public BC public: int d; void m()BC:m();coutd = 1; E. pb-d = 1;F. DC *p=pb;G. DC *pdc=(DC*)pb; pdc-d = 1;dc.m();执行后输出 BCDCdc.BC:m();执行后输出 B
34、C16. 下面那些是错误的?class Base . ;A. class Derived : public Derived . ;B. class Derived : Base . ;C. class Derived : private Base . ;D. class Derived : public Base;E. class Derived inherits Base . ;/ 继承的定义17. 已知如下基类和派生类定义class Base public: foo( int ); double m_fb; protected: int m_bar; double m_foo_bar; ;
35、class Derived : public Base public: foo( string ); bool bar( Base *pb ); void foobar( ); protected: string m_bar;请指出下列错误代码段的修改 (多选 )17.1. Derived d; d.foo( 1024 ); AC /1024 为 int 型,而派生类中 foo(string) 覆盖了基类中的 foo(int) ,所以 AC可以作为修改代码17.2. void Derived:foobar() m_bar = 1024; D / 与 17.1 同理,上面被覆 盖的是函数,这里被
36、覆盖的是变量17.3. bool Derived:bar( Base *pb ) return m_foo_bar = pb-m_foo_bar; G / “=”两边的变量类型要一致A. Derived d; d.Base:foo(1024 ); B. Derived d; d.foo( int ); C. Derived d; d.foo( “1024” );D. void Derived:foobar() Base:m_bar = 1024; E. void Derived.foobar() m_bar = 1024; F. bool Derived:bar( Base *pb ) ret
37、urn Base:m_foo_bar = pb- m_foo_bar; G. bool Derived:bar( Base *pb ) return m_foo_bar = pb- m_fb; 18. 已知下列类层次结构以及数据成员集 ,赋值语句哪些是错误的class Base1 pro. tected:int ival;double dval;char cval;private: int *id;class Base2 pro tected:float fval; private:double dval;class Derived : public Base1 protected:strin
38、g sval;double dval;class MI : public Derived, public Base2 .public: void bar(); protected:int *ival;double cval;void MI:bar()int sval;/ 练习答案放在此处A. dval = 3.14159;B. cval = a;C. id = 1;D. fval = 0;E. sval = *ival;/ dval 和 id 均为私有成员变量,派生类成员函数不能访问19. 已知下面的 Base 类及其三个构造函数class Base .public:Base();Base(
39、string );Base( const Base&);protected:string _name;请为下面的类定义相应的三个构造函数class Derived: public Base . ;A Derived: Derived()Base();B Derived: Derived(string s):Base(s)C. Derived: Derived() D. Derived: Derived(const Base& b):Base(b)/ 参数类型与父类构造函数的参数类型要一致, 在子类构造函数带有参数的时 候要显式地去调用父类的构造函数 p147 4.5.2 第五章 多态1. 18
40、0 页 5.1.7-2A. 编译期绑定是在编译时,而运行期绑定是在程序运行时确定数据地址。B. 编译期绑定在编译期就确定了函数调用源代码,而运行期绑定是在程序运行时生成函 数源代码。C. 编译期绑定在编译期就确定了函数调用的入口地址,而运行期绑定是在程序运行时确定函数调用的入口地址。/ 与编译期绑定不同的是,运行期绑定是直到程序运行之时(而不是在编译 时刻)才将函数名称绑定到其入口地址。见 P172 倒数二三行2. 180 页 5.1.7-3( 多选 )A. 有继承体系B.有 virtual 成员函数 C.有 static 成员函数D. 是公有成员E.通过对象的指针或引用来访问多态函数。F.通
41、过基类类型的指针或引用变量来访问多态函数 。/ 详情见 P173 C+多态的前提条件必须存在一个继承体系结构继承体系结构中的一些类必须具有同名的 virtual 成员函数( virtual 是关键字) 至少有一个基类类型的指针或基类类型的引用。这个指针或引用可用来对 virtual 成员函数进行调用。3. 180 页 5.1.7-5 修改为 void hi() ; / 代码段申明了 f 为虚函数,而 hi 为顶层函数, 不是成员函数,因而是错误的,应将 virtual 去掉4. 181 页 5.1.7-6 修改为 ( 多选 )A. public: void m();B.public: virt
42、ual void m();C. void B:m() /*.*/D.void virtual B:m() /*.*/C+ 仅允许将成员函数定义为虚函数,顶层函数不能为虚函数5. 181 页 5.1.7-7A. 可以 B.不可以/ 见 P176 虚成员函数继承 和普通成员函数一样,在派生类中虚成员函数也可以从基类继承6. 181 页 5.1.7-8 D:m()/ 系统将函数调用 p-m( ); 绑定到虚函数表中的某一项,系统首先决定指针 p 指向哪个对象,如果 p指向 d1,系统将在虚成员函数表中查询 D:m的入口地址, 一旦查询完成,就可以执行相应的函数体详见 P177 例 5-77. 181
43、 页 5.1.7-12A. 会B.不会C.不一定/ 见 P179 例 5-9 后的解释8. 181 页 5.1.7-13 题目修改为在下面代码中,输出结果Bclass B public:B()coutB;class Z:public B public:Z()coutZ ;int main()B* p=new Z; delete p; return 0; / 同上9. 181 页 5.1.7-14A. 正确B. 不正确10. 181 页 5.1.7-15 修改方法是对下面函数的定义去掉 virtual 关键字A. m()B.A() C.A()/A( ) 为构造函数,将构造函数声明为虚成员函数,导
44、致错误,但析构函数可以 是虚成员函数。11. 181 页 5.1.7-16 输出结果 D/D 自身有对虚成员函数 f ()的定义,故直接调用自身的 f ()12. 194 页 5.3.5-3A. 编译期B.运行期13. 194 页 5.3.5-5A. 编译期B. 运行期/ 在进行重载时,总是使用编译期绑定,在这个方面重载函数(不管是成员函 数还是顶层函数)和虚函数是截然不同的,虚函数总是在运行期。见 P19014. 194 页 5.3.5-9 输出结果 A:m/ 见 P190-191 例 5-13 解释P指向一个 Z对象,而不是一个 A对象,当我们通过 p 来调用成员函数 m时。看 起来像是运
45、行期绑定,但实际上不是,因为 m不是虚函数,而在 C+中只有虚函 数才会进行运行期绑定。 编译器会使用 p 的数据类型 A*进行绑定, 结果是绑定到 A:m。15. 194 页 5.3.5-10 输出结果 Z:m16. 195 页 5.3.5-11 错误的代码是A. a1.m();B. a1.m(3.14 );/ 调用的是 A 的本地函数 A:m17. 195 页 5.3.5-12 改写题目中的代码 A* p = new A; 为 A* p= new Z;且在类 A 中添加 virtual void m() cout( istream& in,Complex& c)/ 见 P229 例 6-11Instream& operator(istream& in,Complex& c) return in c.realc.imag;7. 233 页 6.6.1-2 输出结果71 -999第 7 章 模板和 C+标准库教材中的练习1. 264 页 7.1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 珠宝营业员销售技巧培训
- 生物制药洁净区厂房租赁与环境保护合同
- 逻辑推理小故事试题及答案
- 2025年中国微机硫醇硫测定仪市场调查研究报告
- 2025年中国彩色中文触摸屏市场调查研究报告
- 2025年中国开关组市场调查研究报告
- 2025年中国工业特种纸市场调查研究报告
- 2025年中国宽边罗口口罩市场调查研究报告
- 2025年中国多功能诊断仪市场调查研究报告
- 2025年中国商务对讲机市场调查研究报告
- 人教版数学八年级下册17.1《勾股定理》(第1课时)听评课记录
- 2025届高考英语读后续写提分技巧+讲义
- 粮食熏蒸培训课件
- 2024秋国家开放大学《四史通讲》形考作业、期末大作业试卷ABC参考答案
- 工会法律知识竞赛考试题库200题(含答案)
- 辽宁省第二届职业技能大赛(健康照护赛项)理论参考试题及答案
- GB/T 44770-2024智能火电厂技术要求
- 【经典文献】《矛盾论》全文
- 存款保险条例培训
- 舰艇损害管制与舰艇损害管制训练
- 惠州市2025届高三第二次调研考试(二调)试题 政治试卷(含答案解析)
评论
0/150
提交评论