CC++考试参考题库(200题)_第1页
CC++考试参考题库(200题)_第2页
CC++考试参考题库(200题)_第3页
CC++考试参考题库(200题)_第4页
CC++考试参考题库(200题)_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1C/C++考试参考题库(200题)一、单选题1.主机字节序包含大端字节序和小端字节序两种的说法是否正确A、正确B、错误答案:A2.sizeof对数组,得到整个数组所占空间大小A、正确B、错误答案:A3.c++11中enumclass的作用是?A、单纯的语法糖B、限定作用域答案:B4.y>=12的情况下,表示关系12A、(12B、(12C、(12D、(12答案:B5.对于int*target[5]的描述,以下选项是正确的是()A、target是一个具有5个元素的指针数组,每个元素是一个int类型的指针B、target[5]表示某个数组的第5个元素的值C、target是一个指向数组的指针,所指向的数组是5个int类型的元素D、target是一个指向某个数组中第5个元素的指针,该元素是int类型的变量。答案:A解析:int*target[n]是指针数组,[]优先级高,先与target结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。int(*target)[n]是数组指针,()优先级高,首先说明target是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是target的步长。6.哪个指令可以查看git改动A、gitlogB、gitmitC、gitaddD、gitdiff答案:D7.对于下面的变量charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()A、floatB、charC、intD、double答案:D解析:double表达能力最高8.在上下文及头文件均正常的情况下,若有以下定义和语句:chars1[]="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A、4B、5C、9D、10答案:A解析:strcpy(s1,s2)这个函数是把s2字符串拷贝到s1这个字符串,同时也把s2的'\0'拷过去,所以覆盖了s1的所有字符(在空间足够的情况下,当然遇到s1的空间不足以存放s2,另考虑),所以strcpy执行完后是“1234”strlen("1234")就是4了9.doublea;if(a==0){}该写法是否正确A、正确B、错误答案:B10.下列描述中,()是错误的。A、内联函数的主要解决程序的运行效率问题。B、内联函数的定义或声明必须出现在内联函数第一次补调用之前。C、内联函数中可以包括各种语句D、对内联不可以进行异常接口声明答案:C解析:在内联函数中不允许使用循环语句(for,while)和switch结果,带有异常接口声明的函数也不能声明为内联函数。另外,递归函数(自己调用自己的函数)是不能被用来做内联函数的。内联函数只适合于只有1~5行的小函数。11.有如下一段代码:intnCount=0;while(x){nCount++;x=x&(x-1);}假设x初始为9999,则执行完nCount值为()A、32B、999C、8D、1答案:C解析:X=X&(X-1)这算的是X写成二进制数后其中1的个数。把9999化为二进制,每进行一次x&(x-1)的结果就会少一个1(按位与后变为0),因此原来x的1的个数就是答案12.inta=0;intb=++a;b的值是多少?A、0B、1C、2D、4答案:B13.读写速度最慢的组件是?A、CPUB、内存C、I/O答案:C14.对于下面代码段intx=3,y=3;intt=++x||++y;y的值为()A、不确定B、4C、3D、1答案:C解析:当解析器遇到了||时,只要前面的++x为真,后面的语句就不执行了15.一般情况下,new的对象位于那块内存空间?A、栈B、堆答案:B16.若有如下程序:intmain(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}运行该程序的输出结果是(A、34B、42C、43D、33答案:D解析:逗号表达的求值顺序是从左向右以此计算用逗号分隔的各表达式的值,最后一个表达式的值就是整个逗号表达式的值,所以(++x,y++)的值将是y++,因为是先输出y的值,再将y增1,所以轴线输出3,再输出Z+2的值,即3;所以应选择D17.在c++中,constinti=0;int*j=(int*)&i;*j=1;printf("%d,%d",i,*j)输出是多少?A、0,1B、1,1C、1,0D、0,0答案:A解析:C语言中的const是运行时const,编译时只是定义,在运行才会初始化。C语言中const变量不能用于成为数组长度等作为编译时常量的情况,原因就在此。C语言const变量在运行时改变了是可以再次读出改变后的值的。C++中,const变量是编译时的常量,可以向#define定义的常量一样使用。故C++中const变量的值在编译时就已经确定了,直接对cosnt变量进行了值的替换,因此当const变量的值改变时,const的变量值是不会得到更新的。这几行代码在C和C++中都会改变const变量的值,只不过C++中const变量在编译的时候已经确定了,而C中的const变量可以在运行时改变后再次读取。18.当宏定义需要定义多行代码时,会使用下列哪个符号()A、|B、/C、\D、-答案:C19.在下面存储类别中,()变量的可见性与生存期不一致。A、外部B、自动C、内部静态D、寄存器答案:C解析:如果一个变量在某个文件或函数范围内是有效的,则称该文件或函数为该变量的作用域,在此作用域内可以引用该变量,所以又称变量在此作用域内“可见”,这种性质又称为变量的“可见性”。如果一个变量值在某一时刻是存在的,则认为这一时刻属于该变量的“生存期”,或称该变量在此时此刻“存在”。自动变量和寄存器变量在函数内外的“可见性”和“存在性”是一致的,即离开函数后,值不能被引用,值也不存在。静态外部变量和外部变量的可见性和存在性也是一致的,在离开函数后变量值仍然存在,且可被引用。而静态局部变量的可见性和存在性不一致,离开函数后,变量值存在,但不能被引用。20.struct的默认的继承访问权限是?A、publicB、private答案:A21.for(intx=0,y=0;!x&&y<=5;y++)语句执行循环的次数是多少次?A、0B、5C、6D、无数次答案:C解析:如果循环体中X得值不改变,!x一直为true,则只需要考虑y的值就可以了,一共6次。22.主机字节序的说法错误的是?A、主机字节序又叫CPU字节序B、主机字节序由CPU指令集架构决定C、主机字节序不是由操作系统决定的D、主机字节序由操作系统决定的答案:D23.class的默认的继承访问权限是?A、publicB、private答案:B24.下列为纯虚函数的正确声明的是()A、voidvirtualprint()=0;B、virtualvoidprint()=0;C、virtualvoidprint(){};D、virtualvoidprint()\;答案:B解析:纯虚函数的格式:virtual返回值类型函数名(参数列表)=0;25.设置虚基类的目的是()?A、简化程序B、消除二义性C、提高运行效率D、减少目标代码答案:B解析:虚基类是为了强调"这个类型的某些方法没有意义,只是为了继承,不要构造这种类型的对象"尽管C++或其他OO语言支持多重继承,但在实际软件开发中多重继承用的并不多,原因在于多重继承过手复杂。26.linux系统中查看网卡信息使用哪个指令?A、ifconfigB、ipconfig答案:A27.引用与指针有什么区别错误的是?A、引用必须被初始化,指针不必B、引用初始化以后不能被改变C、指针只能读它所指向的对象,不可以改变所指的对象D、不存在指向空值的引用,但是存在指向空值的指针答案:C28.在64环境下,int*p=newint[16]{},指针p存储的位置位于?A、堆B、栈答案:B29.下面有关回调函数的说法,错误的是?A、回调函数一般是一个通过函数指针调用的函数B、回调函数可能被系统API调用一次,也可能被循环调用多次C、回调函数本身可以直接是全局函数、静态函数或某个特定类的成员函数D、回调函数可用于通知机制答案:C解析:所谓的回调函数,就是预先在系统的对函数进行注册,让系统知道这个函数的存在,以后,当某个事件发生时,再调用这个函数对事件进行响应。定义一个类的成员函数时在该函数前加CALLBACK即将其定义为回调函数,函数的实现和普通成员函数没有区别30.map的底层数据结构是?A、数组B、链表C、红黑树D、哈希表答案:C31.函数参数传递使用值传递是否会触发拷贝?A、是B、否答案:A32.关于成员函数覆盖(重写)的说法错误的是A、分别位于派生类与基类B、函数名字相同C、参数不同D、基类函数必须有virtual关键字答案:C33.进程之间的通信方式不包括?A、消息队列B、共享内存C、套接字(Socket)D、锁答案:D34.关于成员函数重载的说法错误的是A、相同的范围(在同一个类中)B、函数名字相同,参数不同C、返回值不同D、virtual关键字可有可无答案:C35.#defineDOUBLE(x)x+x,i=5*DOUBLE(5);i是多少?A、25B、30C、50D、15答案:B36.关于栈的数据结构的描述正确的是?A、先进先出B、先进后出答案:B37.执行以下语句,输出结果为()#include<stdio.h>intmain(){char*p1="hello";char*p2="world";char*p3="apieceofcake";char*str[]={p1,p2,p3};printf("%c",*(str[0]+1));}A、worldB、helloC、编译时错误D、其他选项都不正确答案:D38.static修饰的变量,在main函数运行前就分配了空间是否正确A、正确B、错误答案:A39.linux系统中,关于线程说法正确的是?A、线程是资源分配的独立单位B、线程是资源调度的独立单位答案:B40.多线程的说法错误的是?A、充分利用多核,实现并发B、不需要考虑资源的互斥,有操作系统保证C、需要考虑资源的互斥答案:B41.以下代码编译有错误,哪个选项能解决编译错误?classA{public:intGetValue()const{vv=1;returnvv;}private:intvv;};A、改变成员变量"vv"为"mutableintvv"B、改变成员函数"GetValue"的声明,以使其不是const的C、都不能修复编译错误D、都可以修复编译错误答案:D解析:普通成员函数后面加上const修饰,就是常函数。常函数中的this指针是常指针,不能在常函数中对成员变量进行修改,只能读取;如果想要在常函数中对成员变量进行修改,可以在成员变量前加上mutable关键字进行修饰;常函数可以被普通对象或者常对象调用,但是常对象只能调用常函数,常对象只能读成员。42.#include“filename.h”,编译器的搜索文件路径的描述正确的是?A、编译器从用户的工作路径开始搜索B、编译器从环境路径开始搜索答案:A43.以下程序运行后的输出结果是()intmain(){intp[7]={11,13,14,15,16,17,18};inti=0,j=0;while(i<7&&p[i]%2==1)j+=p[i++];printf("%d\n",j);}A、23B、24C、25D、26答案:B解析:i等于0时,p[0]为奇数,进入while循环,j累加了p[0]的值为11;i加1为1,p[1]为奇数,进入while循环,j累加了p[1]的值,为24i加一为2,而p[2]为偶数,跳出while循环,j为2444.extern"C"的作用错误的是A、被extern"C"修饰的变量和函数是按照C语言方式编译和链接的B、避免C++因符号修饰导致代码不能和C语言库中的符号进行链接的问题。C、无作用答案:C45.若有定义inta[3][5],i,j;(且0≤i<3,0≤j<5),则a[i][j]不正确的地址表示是()。A、&a[i][j]B、a[i]+jC、*(a+i)+jD、*(*(a+i)+j)答案:D解析:求的是哪个地址表示是错的,只有选项D明显解引出来的数组元素,不是个地址,结果答案选D。A,B,C,都是合法的地址表示方法。46.有如下代码:structA1{virtual~A1(){}};structA2{virtual~A2(){}};structB1:A1,A2{};intmain(){B1d;A1*pb1=&d;A2*pb2=dynamic_cast(pb1);//L1A2*pb22=static_cast(pb1);//L2return0;}说法正确的是()A、L1语句编译失败,L2语句编译通过B、L1语句编译通过,L2语句编译失败C、L1,L2都编译失败D、L1,L2都编译通过答案:B解析:dynamic_cast是运行时检查,虽然pb1是A1类型的,但是指向的实体却是子类,所以子类转父类A2完全是可以的。但是static_cast比较“死脑筋”,在编译期检查,这样是不检查指针指向的值的,于是发现pb1是A1类型,A1想转A2?报错!47.静态函数是在什么时候确定的?A、编译期B、运行期答案:A48.有如下类的定义:intF1();staticintF2();classTestClass{public:intF3();staticintF4();};在所描述的函数中,具有隐含this指针的是哪个()A、F1B、F2C、F3D、F4答案:C解析:类中的非静态函数默认是有this指针的,表明为该类的对象所有,静态函数不属于任何类的对象,没有this指针,由类直接调用49.linux系统中,关于进程说法正确的是?A、进程是资源分配的独立单位B、进程是资源调度的独立单位答案:A50.设有程序段:intk=10;while(k=0)k=k-1;则下面描述中正确的是()A、while循环执行10次B、循环是无限循环C、循环体语句一次也不执行D、循环体语句执行一次答案:C解析:因while后面的表达式是默值表达式,其值为0(即为假),所以循环体内的语句不可能执行。故正确答案是C。51.假定n的值为5,则表达式n++的值为()?A、6B、5C、4D、7答案:B52.this指针是一个隐含于每一个非静态成员函数中的特殊指针,该说法是否正确A、正确B、错误答案:A53.在64环境下,int*p=newint[16]{},指针p所指向的内容存储的位置位于?A、堆B、栈答案:A54.设已经有A,B,C,D4个类的定义,程序中A,B,C,D析构函数调用顺序为()?Cc;intmain(){A*pa=newA();Bb;staticDd;deletepa;}A、ABCDB、ABDCC、ACDBD、ACBD答案:B解析:这道题主要考察的知识点是:全局变量,静态局部变量,局部变量空间的堆分配和栈分配其中全局变量和静态局部变量时从静态存储区中划分的空间,二者的区别在于作用域的不同,全局变量作用域大于静态局部变量(只用于声明它的函数中),而之所以是先释放D在释放C的原因是,程序中首先调用的是C的构造函数,然后调用的是D的构造函数,析构函数的调用与构造函数的调用顺序刚好相反。局部变量A是通过new从系统的堆空间中分配的,程序运行结束之后,系统是不会自动回收分配给它的空间的,需要程序员手动调用delete来释放。局部变量B对象的空间来自于系统的栈空间,在该方法执行结束就会由系统自动通过调用析构方法将其空间释放。之所以是先A后B是因为,B是在函数执行到结尾"}"的时候才调用析构函数,而语句deletea;位于函数结尾"}"之前。55.关于构造函数的描述下列说法不正确的是()A、构造函数可以被重载B、构造函数不能被覆盖C、一个构造函数可以返回一个私有的或一个对象的引用D、构造函数代码执行顺序时是从最远的祖先类到当前的类层级答案:C56.下面程序的输出结果是()#include<stdio.h>intmain(){inti,n=0;floatx=1,y1=2.1/1.9,y2=1.9/2.1;for(i=1;i<22;i++)x=x*y1;while(x!=1.0){x=x*y2;n++;}printf("%d\n",n);return0;}A、21B、22C、程序无限循环D、运行时崩溃答案:C解析:浮点类型不能精确相等57.哪个操作符不能作为类成员函数被重载?A、?:B、++C、[]D、==答案:A解析:不可重载运算符包括"?:"、"::"、"."、".*"这四个58.在C++中,容器是一种()A、标准类B、标准对象C、标准函数D、标准类模板答案:D59.以下代码是哪一句可能导致的编译错误?复制代码#include<iostream>usingnamespacestd;classTest{public:Test(){cout<<"ilikezk";}Test(int){cout<<"ilikewangyi";}voidexe(){cout<<"thisismychoice";}};intmain(){Testa(1);//1a.exe();//2Testb();//3b.exe();//4Testc;//5c.exe();//6return0;}A、1B、2C、4D、6答案:C解析://3b后面跟小括号,会引起歧义,误以为是一个函数,b无法正确构造。则//4无法正确调用exe(),编译错误60.对于下面char(*p)[16]的声明描述正确的一项是()A、p是长度为16的字符指针数组B、p是包含16个字符的字符串C、p是指向长度为16的字符数组的指针D、p是长度为16的字符数组答案:C61.在结构化的程序设计中,模块划分的原则是()A、各模块硬包括尽量多的功能B、各模块的规划应尽量大C、各模块之间的联系尽量紧密D、模块内具有高内聚度,模块间具有低耦合度答案:D62.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将()?A、调用类B中函数func()B、即调用类A中函数,也调用类B中的函数C、调用类A中函数func()D、根据p所指的对象类型而确定调用类A中或类B中的函数func()答案:C解析:这边通过作用域解析运算符::明确指定了要访问的是A类中的func()。63.inline内联函数的说法错误的是A、相当于把内联函数里面的内容写在调用内联函数处B、相当于不用执行进入函数的步骤,直接执行函数体C、相当于宏,却比宏多了类型检查,真正具有函数特性D、没用答案:D64.下列程序的输出结果是()复制代码#include<iostream>usingnamespacestd;intmain(void){intx=1,i=1;for(;x<50;i++){if(x>=10)break;if(x%2!=0){x+=3;continue;}x-=-1;}cout<<x<<''<<i<<endl;return0;}A、127B、116C、126D、117答案:C65.静态库的说法错误的是?A、linux环境静态库后缀为.soB、linux环境静态库后缀为.aC、windows环境动态库后缀为.lib答案:A66.用户双击鼠标时产生的消息序列,下面正确的是()A、WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDOWN,WM_LBUTTONUPB、WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONUP,WM_LBUTTONDBLCLKC、WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDOWN,WM_LBUTTONDBLCLKD、WM_LBUTTONDOWN,WM_LBUTTONUP,WM_LBUTTONDBLCLK,WM_LBUTTONUP答案:D解析:双击即点击左键两下,第一次触发LBUTTONDOWN和LBUTTONUP,第二次点击时触发双击事件LBUTTONDBLCLK(doubleclick),放掉再触发LBUTTONUP67.vector随机读的时间复杂度是?A、O(1)B、O(n)C、O(logN)D、O(n²)答案:A68.不属于面向对象基本特征的是?A、封装B、继承C、多态D、过程答案:D69.定义一个非常大的数组可能造成的后果是?A、系统自动优化,无任何影响B、栈溢出,很有可能造成程序终止答案:B70.函数voidfoo(){staticintval;……}变量val的内存地址位于()A、未初始化数据段B、已初始化数据段C、堆D、栈答案:A解析:1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由os回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后有系统释放。4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放。5、程序代码区—存放函数体的二进制代码。71.如下代码:intarr[8]={1,6,3,3,8,0,7,4};int*p=arr;下面答案中不能够正确输出全部偶数的是()A、for(inti=0;i<8;i++)if(arr[i]%2==0)printf("%d",arr[i]);B、for(inti=0;i<8;i++)if(p[i]%2==0)printf("%d",p[i]);C、inti=0;while(i<8){if(*(p+i)%2==0)printf("%d",*(p+i));i++;}D、inti=0;while(i<8){if((arr+i)%2==0)printf("%d",arr+i);i++;}答案:D72.以下哪个MSVC编译环境下的链接器A、ldB、link答案:B73.下面那个不属于编译器A、gccB、msvcC、clangD、vscode答案:D74.在C++中,要实现动态联编,必须使用()调用虚函数。A、类名B、派生类指针C、对象名D、基类指针答案:D75.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()A、0B、语法错C、1D、“假”答案:C解析:x>=y是成立的,A的ASCII值是小于B的,!y=1所以答案是176.下面关于虚函数和函数重载的叙述不正确的是()A、虚函数不是类的成员函数B、虚函数实现了C++的多态性C、函数重载允许非成员函数,而虚函数只针对于成员函数D、函数重载的调用根据参数的个数、序列来确定,而虚函数依据对象确定答案:A解析:虚函数也是类的成员函数,A说法是不正确的;虚函数和函数重载都实现了C+=的多态性,但表现形式不一样,函数重载调用根据参数个数、参数类型等进行区分,而虚函数则是根据动态联编来确定调用什么,故BD说法正确函数重载可以是类的成员函数也可以是非成员函数,比如:intfun(inta);intfun(inta,intb);这就是非成员重载,虚函数必须是成员函数了,否则就失效了,所以C对77.UDP是可靠传输协议?A、正确B、错误答案:B78.函数参数传递使用引用传递是否会触发拷贝?A、是B、否答案:B79.如果定义:floata[10],x;则以下叙述中正确的是()A、语句a=&x;是非法的B、表达式a+1是非法的C、三个表达式a[1]、*(a+1)、&a[1]代表的变量互不相同D、表达式*&a[1]是非法的,应该写成*(&(a[1]))答案:A解析:B选项中,表达式a+1不是非法的;C选项中,*(a+1)即指a[1];D选项中,*&a[1]不是非法的。因此A选项正确。80.static的用途说法错误的是?A、在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变B、在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量C、在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用D、static修饰的变量是线程安全的答案:D81.main函数执行以前,还会执行什么代码?A、全局对象的构造函数B、全局对象的析构函数C、局部对象的构造函数D、局部对象的析构函数答案:A解析:全局对象的构造函数会在main函数之前执行。82.在下面的do-while循环语句中,其循环体语句被执行的次数为()?inti=0;do{i++;}while(i<10)A、8B、9C、10D、11答案:C83.friend友元类的说法正确的是?A、能访问私有成员B、提高了坏封装性答案:A84.数据库的原子性的解释正确的是?A、原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚B、原子性是指事务包含的所有操作一定全部成功答案:A85.以下有关C语言的说法中,错误的是()。A、内存泄露一般是指程序申请了一块内存,使用完后,没有及时将这块内存释放,从而导致程序占用大量内存。B、可以通过malloc(size_t)函数调用申请超过该机器物理内存大小的内存块。C、无法通过内存释放函数free(void*)直接将某块已经使用完的物理内存直接还给操作系统。D、可以通过内存分配函数malloc(size_t)直接申请物理内存。答案:D解析:内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。即所谓内存泄漏。free释放的内存不一定直接还给操作系统,可能要到进程结束才释放。可以直到malloc不能直接申请物理内存,它申请的是虚拟内存86.已知inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,不能表示数组a中元素的式子是()A、*aB、*pC、aD、a[p-a]答案:C87.在32位机器上,代码段的执行结果为()charx=65;floaty=7.3;inta=100;doubleb=4.5;printf("%d,%d,%d,%d\n",sizeof(x),sizeof(y),sizeof(a),sizeof(b));A、2,2,2,4B、1,2,4,4C、1,4,4,8D、2,4,4,8答案:C88.使用new实例化一个类的对象的说法正确的是?A、只调用malloc分配了内存B、直接调用构造函数C、先底层调用malloc分配了内存,然后调用构造函数答案:C89.当一个类A中没有声明任何成员变量与成员函数,sizeof(A)的值是多少?A、0B、1C、4答案:B90.#include<iostream>usingnamespacestd;voidf(int*p,int*q){p++;*q=*q+1;}intmain(){intm=1,n=2,*r=&m;f(r,&n);cout<<m<<","<<n;return0;}程序运行后的输出结果是()A、2,3B、1,4C、1,3D、1,2答案:C91.如果c为字符型变量,判断c是否为空格(假设已知空格ASCII码为32)不能使用()A、if(c==32)B、if(c=='32')C、if(c=='\40')D、if(c=='')答案:B解析:\40是八进制换算成二进制就是32也就是空格92.sizeof指针的值是多少A、指针本身所占空间大小B、指针所指向内容的大小答案:A93.map随机读的时间复杂度是?A、O(1)B、O(n)C、O(logN)D、O(n²)答案:C94.分布式环境下是否可以通过套接字(Socket)实现两个进程(位于不同主机)的通讯?A、是B、不是答案:A95.千兆网卡的理论读写速度是?A、100M/SB、125M/SC、1000M/S答案:B96.下面程序运行的结果是()。#include<stdio.h>voidadd(int*p){(*p)++;printf("%d",*p);if(*p>5){return;}add(p);}intmain(){inti=0;add(&i);return0;}A、12345B、123456C、111111D、未知答案:B解析:*p++:表示先访问*p,然后p++;(*p)++:表示先访问*p,然后将*p的值++;p指针不变。97.C++当中,若局部变量和全局变量重名,会发生什么?A、只能访问局部变量B、局部变量会屏蔽全局变量,要使用全局变量,需要使用“::”C、全局变量会屏蔽局部变量,要使用局部变量,需要使用“::”D、只能访问全局变量答案:B解析:局部变量会覆盖掉全局变量,如果想要使用的是全局变量,则在使用哪个变量之前使用“::”,这个是全局命名空间的意思,因为是自己的全局空间,所以名字为空,但::这个必须要加98.程序中结束一个线程是否会导致程序挂掉?A、会B、不会答案:B99.c/c++中,有关纯虚函数说法不正确的是()A、子类中必须覆盖基类的纯虚函数B、含有纯虚函数的类不能被实例化C、子类中不一定覆盖基类的虚函数D、含有纯虚函数的类一定是抽象类答案:A100.有如下类模板定义:template<classT>classBigNumber{longn;public:BigNumber(Ti):n(i){}BigNumberoperator+(BigNumberb){returnBigNumber(n+b.n);}};已知b1,b2是BigNumber的两个对象,则下列表达式中错误的是()?A、3+3B、b1+3C、b1+b2D、3+b1答案:D解析:运算符重载调用形式其实是:b1.operator+(参数)简写成b1+参数101.以下哪个C++容器不能用迭代器遍历A、setB、mapC、queueD、vector答案:C102.在C++中,为了让某个类只能通过new来创建(即如果直接创建对象,编译器将报错),应该()A、将构造函数设为私有B、将析构函数设为私有C、将构造函数和析构函数均设为私有D、没有办法能做到答案:B解析:编译器在为类对象分配栈空间时,会先检查类的析构函数的访问性,其实不光是析构函数,只要是非静态的函数,编译器都会进行检查。如果类的析构函数是私有的,则编译器不会在栈空间上为类对象分配内存。因此,将析构函数设为私有,类对象就无法建立在栈(静态)上了,只能在堆上(动态new)分配类对象。103.下面程序执行结果:usingnamespacestd;classA{public:virtualvoidf(){cout<<"A::f()";}voidf()const{cout<<"A::f()const";}};classB:publicA{public:voidf(){cout<<"B::f()";}voidf()const{cout<<"B::f()const";}};voidg(constA*a){a->f();}intmain(intargc,char*argv[]){A*p=newB();p->f();g(p);delete(p);return0;}A、B::f()B::f()constB、:f()A::f()constC、A::f()B::f()constD、A::f()A::f()const答案:B解析:g(p);执行的是父类的f()const,因为他不是虚函数104.以下关于内存泄漏说法正确的是()A、如果一个进程在运行过程中占用的内存无限制上升,那么该进程可能有内存泄漏B、单线程程序不可能内存泄漏C、内存泄漏是操作系统内存管理出错导致的问题D、只要进程在退出之前释放了所有分配的内存,那么就不会内存泄漏答案:A解析:A:内存泄露是进程申请了内存却没有释放。导致占用内存无限上升B:内存泄露跟线程数无关C:内存泄露是程序设计的bug,不是操作系统的问题D:进程退出之前释放申请的内存,不代表进程运行过程中没有内存泄露E:java是自动管理内存的,但是也会有内存泄露,比如加入HashMap的对象hash值改变了就无法从HashMap中remove,这就造成了内存泄露105.快速排序的平均时间复杂度A、O(n)B、O(logN)C、O(n²)D、O(nlogN)答案:D106.unordered_map随机读的时间复杂度是?A、O(1)B、O(n)C、O(logN)D、O(n²)答案:A107.如输入1,最后输出什么()voidmain(){charc;scanf("%c",&c);switch(c){case'1':printf("1");case'2':printf("2")case'3':printf("3")default:printf("error");}}A、1B、123C、errorD、123error答案:D解析:没有写break,依次执行108.如果downcast是安全的(也就是,如果基类指针或者引用确实指向一个派生类对象)这个运算符会传回适当转型过的指针。如果downcast不安全,这个运算符会传回空指针(也就是说,基类指针或者引用没有指向一个派生类对象)。这个是指C++里的()A、dynamic_castB、reinterpret_castC、static_castD、const_cast答案:A解析:dynamic_cast将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理,即会作一定的判断。对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针;对引用进行dynamic_cast,失败抛出一个异常,成功返回正常cast后的对象引用。reinterpret_cast这个转换是最“不安全”的,两个没有任何关系的类指针之间转换都可以用这个转换实现。static_cast静态转换是最接近于C风格转换,很多时候都需要程序员自身去判断转换是否安全。const_cast这个转换好理解,可以将常量转成非常量。109.intsolve(intx){}intsolve2(inty){}inty;intmain(){x++;//1x=solve(x);//2x=solve2(y);//3x=1;//4}对于上面代码,main函数内注释的1、2、3、4只会同时存在一行,下面说法错误的是()A、多线程对x的操作需要同步的包括x++B、多线程对x的操作需要同步的包括x=solve(x)C、多线程对x的操作需要同步的包括x=solve2(y)D、多线程对x的操作需要同步的包括x=1答案:D解析:x=1是一个原子操作,原子操作不需要加锁110.::name中::表示全局作用域符A、正确B、错误答案:A111.函数参数传递一个只读的对象使用以下哪种方式?A、值传递B、引用传递答案:B112.下列语句中错误的是()A、int*p=newint(10);B、int*p=newint[10];C、int*p=newint;D、int*p=newint[40](0);答案:D解析:"int*p=newint(10);"表示动态分配1个整型内存空间,初值为10;"int*p=newintC10];"表示动态分配10个整型内存空间;'int*p=newint;"表示动态分配1个整型内存空间;"int*p=newint[4的(0)"想给一个数组分配内存空间时,对数组进行初始化,这是不允许的。113.有以下程序#include"stdio.h"#defineSUB(a)(a)-(a)voidmain(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是()A、0B、-12C、-20D、10答案:C解析:宏定义在编译时会替换程序中的内容,是直接替换,不改变优先级。114.请声明一个指针,其所指向的内存地址不能改变,但内存中的值可以被改变。A、constintconst*x=&y;B、int*constx=&y;C、constint*x=&y;D、intconst*x=&y;答案:B解析:A,指针所指向的内存不可变,内存中的值也不能通过指针改变,错误;B,指针所指向的内存不可变,内存中的值可以改变,正确;C,指针所指向的内存可变,但内存中的值不能通过指针改变,错误;D,指针所指向的内存可变,但内存中的值不能通过指针改变,错误;E,指针所指向的内存不可变,内存中的值也不能通过指针改变,错误;115.下面对析构函数的正确描述是()?A、系统在任何情况下都能正确析构对象B、用户必须定义类的析构函数C、析构函数没有参数,也没有返回值D、析构函数可以设置默认参数答案:C解析:编译器会默认生成析构函数不是必须定义的没有参数也没有返回值116.unordered_map的底层数据结构是?A、数组B、链表C、红黑树D、哈希表答案:D117.若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()A、intp=&x;B、int*p=x;C、int*p=&x;D、*p=*x;答案:C118.冒泡排序是否是稳定的排序A、是B、否答案:A119.在64环境下,int*p=newint[16]{},sizeof(p)的值为多少?A、1B、4C、8D、64答案:C120.哪个指令可以查看git历史提交记录A、gitlogB、gitmitC、gitaddD、gitdiff答案:A121.数据库索引的说法正确的是?A、用处不大,可有可无B、加快检索表中数据的方法答案:B122.关于CMAKE的说法正确的是?A、cmake是跨平台工程构建工具B、cmake是编译器C、cmake是连接器答案:A123.下列程序的输出结果为()intmain(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);return0;}A、27.000000B、27.500000C、28.000000D、28.500000答案:A解析:注意整型和整型的除法,等到的仍然是整型,并不会出现浮点型或者double型124.若有定义typedefcharT[10];T*a;上述定义中a的类型与下面选项中完全相同的是()?A、chara[10];B、char(*a)[10];C、char*a;D、char*a[10];答案:B125.关于C++中的new和C语言中的malloc,以下说法哪个是正确的:()A、都是用来申请内存的B、都是函数C、都会调用构造函数D、他们没有区别,都一样答案:A解析:1.malloc是库函数,而new是操作符2.malloc需要申请内存大小,new不需要3.malloc返回的指针类型需要进行强转,但是new不需要4.malloc不能进行重载,但是new可以126.有以下语句定义intx=5;constint*constp=&x;constint&q=x;intconst*next=&x;constint*j=&x;则有语法正确的是()A、*p=1;B、q++;C、next++;D、(*j)++;答案:C127.网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保重数据在不同主机之间传输时能够被正确解释。网络字节顺序采用哪种排列顺序?A、大端字节序B、小端字节序答案:A128.以下不是doublepare(int,int)的重载函数的是()A、intpare(double,double)B、doublepare(double,double)C、doublepare(double,int)D、intpare(int,int)答案:D129.windows系统中查看网卡信息使用哪个指令?A、ifconfigB、ipconfig答案:B130.HTTP返回状态码200表示?A、客户端请求失败B、客户端请求成功答案:B131.程序的内存分配区域不包括A、从静态存储区域分配B、从栈区分配C、从堆区分配D、从文本区分配答案:D132.一个类的static成员函数和成员对象说法错误的是A、static成员函数属于类B、static成员函数属于类的对象实例C、static成员变量属于类答案:B133.Mysql的默认端口号是多少?A、80B、21C、3306D、8000答案:C134.HTTP协议使用的哪种传输层协议A、TCPB、UDP答案:A135.linux系统,应用程序运行在内核态还是用户态?A、内核态B、用户态答案:B136.const修饰变量,是为了声明该变量不可以被改变A、正确B、错误答案:A137.数据库引擎的实现采用何种数据结构?A、B+树B、红黑树答案:A138.以下叙述中正确的是()A、在一个程序中,允许使用任意数量的#include命令行B、在包含文件中,不得再包含其他文件C、#include命令行不能出现在程序文件的中间D、虽然包含文件被修改了,包含该文件的源程序也可以不重新进行编译和连接答案:A解析:本题考查预处理中文件包含的概念,包含文件中可以包含其他文件,B选项错误,#include可以出现在程序文件的中间,C选项错误,包含文件被修改了,包含该文件的源程序必须重新进行编译和连接。139.malloc申请到的内存中的初始值是否确定A、确定B、不确定答案:B140.C++中的拷贝构造函数在下面哪些情况下不会被调用()A、对象创建的时候B、使用一个类的对象去初始化该类的一个新对象C、被调用函数的形参是类的对象D、当函数的返回值是类的对象时,函数执行完成返回调用者答案:A解析:在三种情况下系统会调用拷贝构造函数:(1)用类的一个对象去初始化另一个对象时(2)当函数的形参是类的对象时(也就是值传递时),如果是引用传递则不会调用(3)当函数的返回值是类的对象或引用时141.下面说法错误的是()A、在组合类的析构函数中不需要显式调用其成员对象的析构函数B、在类的继承层次中,可以自动进行向上和向下类型转换.而且都是安全的C、构造函数可以重载,析构函数不能重载D、C++的派生类如果要覆盖一个继承到的成员函数,在基类中需要将该函数声明为virtual答案:B解析:A选项:在组合类的析构函数中并不需要显式调用其成员对象的析构函数,因为当执行组合类的析构函数时,其数据成员也会被销毁,对于类成员对象来说,成员对象销毁时,程序会自动调用其析构函数;不过对于组合类中new的指向类成员的指针,组合类需要自己去delete该指针;B选项:显然是错的,在类继承层次中,基类在上,派生类在下,所以可以自动进行向上类型转换,即可以使基类指针和引用指向派生类对象,而不可以使派生类指针和引用指向基类对象;C选项:对的,构造函数可以根据参数的不同实现函数重载,而因为析构函数没有参数,对于一个类来说也是唯一的,所以是不能重载的;D选项:即派生类想要重写继承来的成员函数,需要用到virtual函数,来实现动态多态。142.TCP头部是多少个字节A、4B、8C、20D、1500答案:C143.以下代码中的两个sizeof用法有问题吗?voidUpperCase(charstr[])//将str中的小写字母转换成大写字母{for(size_ti=0;i<sizeof(str)/sizeof(str[0]);++i)if('a'<=str[i]&&str[i]<='z')str-=('a'-'A');}charstr[]="aBcDe";cout<<"str字符长度为:"<<sizeof(str)/sizeof(str[0])<<endl;UpperCase(str);cout<<str<<endl;A、函数内的有问题B、函数外的有问题C、函数内,外的都有问题D、用法正确答案:C解析:外层是字符串长度不正确,内层是数组退化为指针。144.什么函数不能声明为虚函数?A、静态成员函数、构造函数B、内联函数、构造函数C、静态成员函数、析构函数D、内联函数、析构函数答案:A解析:常见的不能声明为虚函数的有:普通函数(非成员函数)、静态成员函数、内联成员函数、构造函数、友元函数。145.以下哪个GCC编译环境下的链接器A、ldB、link答案:A146.在下列运算符中,优先级最高的是()A、<=B、*=C、+D、*答案:D解析:单目运算符>算术运算符>移位>比较>按位>逻辑>三目运算符>赋值运算符147.下面对构造函数的不正确描述是()?A、用户定义的构造函数不是必须的B、构造函数可以重载C、构造函数可以有参数,也可以有返回值D、构造函数可以设置默认参数答案:C解析:构造函数没有返回值148.Mysql的说法正确的是?A、Mysql为非关系型数据库B、Mysql常作为关系型数据库使用答案:B149.vector的底层数据结构是?A、数组B、链表C、红黑树D、哈希表答案:A150.explicit修饰构造函数时,可以防止隐式转换,该说法是否正确A、正确B、错误答案:A151.小端模式下#include<stdio.h>unionC{inta;charb;};intmain(){Cc;c.a=0x02020101;if(c.b==0x02){printf("bingend\n");}else{printf("litterend\n");}}输出是多少?A、bingendB、litterend答案:B152.函数重载发生在那个时期?A、编译期B、运行期答案:A153.inta=0;intb=a++;b的值是多少?A、0B、1C、2D、4答案:A154.函数参数的默认值不允许为()A、全局常量B、直接常量C、局部变量D、函数调用答案:C解析:局部变量是函数调用之后,才会被构造出来,而函数参数的值的存在,是在调用函数的时候就必须存在的。155.下列代码,循环了多少次intk=2000;while(k>1){k=k>>1;}A、10B、11C、12D、20答案:A解析:>>是位移符号。可以理解为每次除以2.从k=2000直到k=1,共需10次位移操作156.关于类成员函数的重载、覆盖和隐藏,下面说法错误的是()A、重载函数必须要在同一个类中B、派生类函数覆盖基类函数,基类函数最好不要有virtual关键字C、如果派生类的函数与基类的函数名相同,通过派生类的实例也只能调用到派生类的函数。D、重载函数不必使用virtual关键字修饰答案:B157.unsignedinta=0x10100101;charb=a;b的值是多少?A、0x10B、0x01答案:B158.快速排序是否是稳定的排序A、是B、否答案:B159.下列描述中正确的是()A、表示m>n为true或m<n为true的表达式为“m>n&&m<n”B、switch语句结构中必须有default语句C、如果至少有一个操作数为true,则包含"||"运算符的表达式trueD、if语句结构中必须有else语句答案:C160.编译链接的过程包含预编译、编译、汇编、链接四个过程的说法是否正确A、正确B、错误答案:A161.下面程序段输出结果是()shortinti=32769;printf("%d\n",i);A、32769B、32767C、-32767D、输出不是确定的数答案:C解析:因为(32769)10=(1000000000000001)2,所以i的值在内存中补码形式表示为1000000000000001,最高位是1表示负数,其表示的有符号数是-(0111111111111111)2,即十进制数-32767。所以正确答案是C。162.c++11的智能指针类型不包括?A、shared_ptrB、unique_ptrC、weak_ptrD、auto_ptr答案:D163.设x为整型变量,不能正确表达数学关系1<x<5的C++逻辑表达式是()。A、1<xB、x==2||x==3||x==4C、1D、!(x=5)答案:A164.某函数申明如下:voidFunc(int&nVal1);有inta,下面使用正确的为()A、Func(a)B、Func(&a)C、Func(*a)D、Func(&(*a))答案:A165.要求打开文件D:\file.dat,并能够写入数据,正确的语句是()?A、ifstreaminfile("D:\\file.dat",ios::in);B、ifstreaminfile("D:\\file.dat",ios::out);C、ofstreamoutfile("D:\\file.dat",ios::in);D、fstreaminfile("D:\\file.dat",ios::in|ios::out);答案:D解析:A,选项创建了文件的读取流,且文件打开模式是读取方式,不符合。B,选项创建了文件的读取流,不符合。C,选项创建了文件的写入流,但是文件打开方式为读取方式,故而也不符合。D,选项创建了文件的读取写入流,同时文件打开方式也为可读可写方式,故而选D。166.以下关于类占用内存空间的说法错误的是()A、类所占内存的大小是由成员变量(静态变量除外)和虚拟函数表指针空间(若有虚函数)所决定B、32位操作系统环境下空类的内存大小是4个字节C、类中无论有多少个虚函数,只会多占一个虚表指针空间D、子类的内存大小等于父类的内存大小加上子类独有成员变量的内存大小答案:B解析:空的类是会占用内存空间的,而且大小是1,原因是C++要求每个实例在内存中都有独一无二的地址。167.有关下面程序说法正确的是()(注:└┘代表空格)intmain(){chars[6]="abcd";printf("\"%s\"\n",s);return0;}A、"abcd"B、\"abcd\"C、"abcd└┘"D、编译错误答案:A168.虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象的时候可能出现的内存泄漏。此说法是否正确A、正确B、错误答案:A169.下面关于C++lambda表达式说法正确的有A、[capture](params)->ret{body}这是一个完整的lambda表达式形式B、capture值为[a,&b]表示a变量以值的方式呗捕获,b以引用的方式被捕获C、capture为[=]表示不捕获外部的任何变量D、lambda表达式是属于C++14的新特性答案:B解析:Lambda函数语法定义:[capture](parameters)mutable->return-type{statement};A错误.[=]表示值传递方式捕捉所有父作用域的变量(包括this);B错误.lambda表达式是属于C++11&14新特性;D错误.170.现在有以下语句:struct_THUNDER{intiVersion;charcTag;charcAdv;intiUser;charcEnd;}Nowcoder;intsz=sizeof(Nowcoder);则执行后,变量sz的值将得到()A、11B、12C、13D、16答案:D解析:内存对齐的规则:1.第一个成员必须是从0位置开始偏移2.后面的成员从成员的大小和对齐模数相比取小的整数倍的的地方(对齐模数默认是8)3.最后要对结构体整体进行对齐:成员中最大的那一个和对齐模数相比取小的整数倍这里结构体具体的每个成员所在位置:intiVersion;0~3charcTag;4~4charcAdv;5~5intiUser;8~11charcEnd;12~12最后末尾13~15补3个字节,一共是16个字节。171.关于常量引用经常用于形参类型的说法错误的是A、避免拷贝B、避免函数对值的修改C、无作用答案:C172.在32位编译器上,设有定义char*str1="Hello",str2[]="Hello";则以下语句printf("%d%d",sizeof(str1),sizeof(str2));的输出结果是()A、56B、55C、66D、46答案:D解析:本题主要考查了指向字符串的指针和字符数组,str1为一个字符指针,所以sizeof为4,str2为字符数组,其中包含6个字符,所以答案为46。173.explicit修饰构造函数,是为了防止隐式转换A、正确B、错误答案:A174.假定T是一个C++类,下列语句执行之后,内存里创建了()个T对象。Tb(5);Tc[6];T&d=b;Te=b;T*p=newT(4);A、5B、8C、9D、12答案:C解析:1+6+0+1+1=9个175.关于队列的数据结构的描述正确是?A、先进先出B、先进后出答案:A176.#ifndefHEAD_FILE#defineHEAD_FILE#endif的作用是?A、头文件的标识,没有实质的作用B、防止头文件被重复包含答案:B177.冒泡排序的时间复杂度A、O(n)B、O(logN)C、O(n²)答案:C178.动态库的说法错误的是?A、linux环境动态库后缀为.soB、linux环境动态库后缀为.aC、windows环境动态库后缀为.DLL答案:B179.TCP/UDP属于网络模型中的那一层A、应用层B、传输层C、网络层D、数据链路层答案:B180.在小端序的机器中,如果unionX{intx;chary[4];};如果Xa;a.x=0x11223344;//16进制则:()A、y[0]=11B、y[1]=11C、y[2]=11D、y[3]=11答案:D解析:小端存储,低位存在低地址。0x44是最低位,所以它存放在最低的地址。y[0]取的是低地址的值,所以y[0]=0x44,y[3]=0x11181.若有以下说明和定义,在必要的赋值之后,对fun函数的正确调用语句是()intfun(int*c){…}intmain(){int(*a)(int*)=fun,*b(),w[10],c;…}A、a=a(w);B、(*a)(&c);C、b=*b(w);D、fun(b);答案:B解析:在答案A中,a(w)调用正确,但将其返回值赋值给a是错误的,因为返回值是整型数,而a是一函数指针,所以答案A是错误的。在答案C中,因b是一个返回值为整型数指针的函数,*b(w)本身就是错误的;在答案D中,b后面省掉了括号,因为b是函数,故也是错误的;而对于答案B来说,因为a指向了函数fun,所以它等价于fun(&c)的调用,是正确的。所以正确答案是B。182.设有如下定义:int*(*ptr)();则以下叙述中正确的是()A、ptr是指向一维数组的指针变量B、ptr是指向int型数据的指针变量C、ptr是指向函数的指针,该函数返回一个int型数据D、ptr是指向函数的指针,该函数的返回值是指向int型数据的指针答案:D解析:1、对于int*ptr()而言,ptr是一个函数名,该函数的返回值是一个int类型的指针;2、对于int(*ptr)()而言,ptr是一个函数指针,该函数的返回值是一个int类型的数;3、对于int(*ptr)()而言,无非就是在2的基础上,其函数返回值类型是一个int类型的指针。注:1和2是在c++primer中讲函数指针知识点的时候特别强调过,函数指针就是把函数名用一个指针代替,并且用括号括起来,此处的括号不能省。183.UDP头部是多少个字节A、4B、8C、20D、1500答案:B184.linux系统中查找文件名使用哪个指令?A、findB、grepC、cat答案:A185.下列字符串可以用作C++标识符的是:A、_123B、2009varC、gotoD、test-2009答案:A解析:标识符用来表示函数、类型及变量的名称,是字母、下划线和数字的排列。1、必须用字母或下划线开头。2、只能是字母、下划线、数字的组合,不能出现其他符号。2、大小写的含义是不同的。3、标识符的名称不能是C语言中的关键字,关键字是具有特定含义的标识符186.HTTP属于网络模型中的那一层A、应用层B、传输层C、网络层D、数据链路层答案:A187.在64位系统中,有如下类:classC{public:chara;staticcharb;vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论