函数端口是什么

端口是什么  时间:2021-02-21  阅读:()

C语言面试题大汇总之华为面试题C语言面试题大汇总之华为面试题1、局部变量能否和全局变量重名答:能,局部会屏蔽全局.
要用全局变量,需要使用"::";局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量.
对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内.

2、如何引用一个已经定义过的全局变量答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错.
3、全局变量可不可以定义在可被多个.
C文件包含的头文件中为什么答:可以,在不同的C文件中以static形式来声明同名全局变量.
可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错.
4、请写出下列代码的输出内容#includeintmain(void){inta,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",b,c,d);return0;}答:10,12,1205、static全局变量与普通的全局变量有什么区别static局部变量和普通局部变量有什么区别static函数与普通函数有什么区别答:1)全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量.
全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式.
这两者在存储方式上并无不同.
这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的.

而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它.
由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误.
2)从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期.
把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围.
3)static函数与普通函数作用域不同,仅在本文件.
只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义.
对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件综上所述:static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝6、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于(堆)中.
7、设有以下说明和定义:typedefunion{longi;intk[5];charc;}DATE;structdata{intcat;DATEcow;doubledog;}too;DATEmax;则语句printf("%d",sizeof(structdata)+sizeof(max));的执行结果是:___52____考点:区别struct与union.
(一般假定在32位机器上)答:DATE是一个union,变量公用空间.
里面最大的变量类型是int[5],占用20个字节.
所以它的大小是20.
data是一个struct,每个变量分开占用空间.
依次为int4+DATE20+double8=32.
所以结果是20+32=52.
当然.
.
.
在某些16位编辑器下,int可能是2字节,那么结果是int2+DATE10+double8=208、队列和栈有什么区别队列先进先出,栈后进先出9、写出下列代码的输出内容#includeintinc(inta){return(++a);}intmulti(int*a,int*b,int*c){return(*c=*a**b);}typedefint(FUNC1)(intin);typedefint(FUNC2)(int*,int*,int*);voidshow(FUNC2fun,intarg1,int*arg2){FUNC1p=&inc;inttemp=p(arg1);fun(&temp,&arg1,arg2);printf("%dn",*arg2);}main(){inta;//局部变量a为0;show(multi,10,&a);return0;}答:11010、请找出下面代码中的所有错误(题目不错,值得一看)说明:以下代码是把一个字符串倒序,如"abcd"倒序后变为"dcba"#include"string.
h"main(){char*src="hello,world";char*dest=NULL;intlen=strlen(src);dest=(char*)malloc(len);char*d=dest;char*s=src[len];while(len--!
=0)d++=s--;printf("%s",dest);return0;}答:方法1:一共有4个错误;intmain(){char*src="hello,world";intlen=strlen(src);char*dest=(char*)malloc(len+1);//要为分配一个空间char*d=dest;char*s=&src[len-1];//指向最后一个字符while(len--!
=0)*d++=*s--;*d=0;//尾部要加'\0'printf("%sn",dest);free(dest);//使用完,应当释放空间,以免造成内存汇泄露dest=NULL;//防止产生野指针return0;}方法2:(方法一需要额外的存储空间,效率不高.
)不错的想法#include#includemain(){charstr[]="hello,world";intlen=strlen(str);chart;for(inti=0;i>N==1);4.
unsignedintintvert(unsignedintx,intp,intn)实现对x的进行转换,p为起始转化位,n为需要转换的长度,假设起始点在右边.
如x=0b00010001,p=4,n=3转换后x=0b01100001答:unsignedintintvert(unsignedintx,intp,intn)//假定p=4,n=3{unsignedint_t=0;unsignedint_a=1;for(inti=0;i(Y)(Y):(X))//结尾没有;2、嵌入式系统中经常要用到无限循环,你怎么用C编写死循环.
答:while(1){}或者for(;;)//前面那个较好3、关键字static的作用是什么答:1)定义静态局部变量,作用域从函数开始到结束.
在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;3)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝4、关键字const有什么含意答:1)表示常量不可以修改的变量.
2)可以修饰参数,作为输入参数.
3)修饰函数,防止以外的改动.
4)修饰类的成员函数,不改变类中的数据成员.
5、关键字volatile有什么含意并举出三个不同的例子答:提示编译器对象的值可能在编译器未监测到的情况下改变.
例子:硬件时钟;多线程中被多个任务共享的变量等6.
int(*s[10])(int)表示的是什么啊int(*s[10])(int)函数指针数组,每个指针指向一个intfunc(intparam)的函数.
1.
有以下表达式:inta=248;b=4;intconstc=21;constint*d=&a;int*conste=&b;intconst*fconst=&a;请问下列表达式哪些会被编译器禁止为什么答:*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;*c这是个什么东东,禁止*d说了是const,禁止e=&a说了是const禁止const*fconst=&a;禁止2.
交换两个变量的值,不使用第三个变量.
即a=3,b=5,交换之后a=5,b=3;答:有两种解法,一种用算术算法,一种用^(异或)a=a+b;b=a-b;a=a-b;ora=a^b;//只能对int,char.
.
b=a^b;a=a^b;ora^=b^=a;3.
c和c++中的struct有什么不同答:c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以.
c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private.
4.
#include#includevoidgetmemory(char*p){p=(char*)malloc(100);}intmain(){char*str=NULL;getmemory(str);strcpy(p,"helloworld");printf("%s/n",str);free(str);return0;}答:程序崩溃,getmemory中的malloc不能返回动态内存,free()对str操作很危险5.
charszstr[10];strcpy(szstr,"0123456789");产生什么结果为什么答;正常输出,长度不一样,会造成非法的OS,覆盖别的内容.
6.
列举几种进程的同步机制,并比较其优缺点.
答:原子操作信号量机制自旋锁管程,会合,分布式系统7.
进程之间通信的途径答共享存储系统消息传递系统管道:以文件系统为基础silver6|02一月,200711:41Author:Vince————即使你是个编程高手,你在面试前也应该要看看这套题,她也许会给你带来好运,否则你有可能后悔当初为什么没有看而跳楼自杀,这样我会很内疚的.
这套题看似简单,但你未必能得高分,即使你看不懂也要把她背下来!
1编程基础1.
1基本概念1.
const的理解:constchar*,charconst*,char*const的区别问题几乎是C++面试中每次都会有的题目.
事实上这个概念谁都有只是三种声明方式非常相似很容易记混.
Bjarne在他的TheC++ProgrammingLanguage里面给出过一个助记的方法:把一个声明从右向左读.
char*constcp;(*读成pointerto)cpisaconstpointertocharconstchar*p;pisapointertoconstchar;charconst*p;同上因为C++里面没有const*的运算符,所以const只能属于前面的类型.
2.
c指针int*p[n];-----指针数组,每个元素均为指向整型数据的指针.
int(*p)[n];------p为指向一维数组的指针,这个一维数组有n个整型数据.
int*p(函数带回指针,指针指向返回的值.
int(*p)p为指向函数的指针.
3.
数组越界问题(这个题目还是有点小险的)下面这个程序执行后会有什么错误或者效果:#defineMAX255intmain(){unsignedcharA[MAX],i;for(i=0;i功能:把src所指由NULL结束的字符串复制到dest所指的数组中.
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.
返回指向dest的指针.
memcpy原型:externvoid*memcpy(void*dest,void*src,unsignedintcount);{ASSERT((dest!
=NULL)&&(src!
=NULL));ASSERT((dest>src+count)||(src>dest+count));//防止内存重叠,也可以用restrict修饰指针Byte*bdest=(Byte*)dest;Byte*bsrc=(Byte*)src;While(count-->0)*bdest++=**bsrc++;Returndest;}用法:#include功能:由src所指内存区域复制count个字节到dest所指内存区域.
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针.
Memset原型:externvoid*memset(void*buffer,charc,intcount);用法:#include功能:把buffer所指内存区域的前count个字节设置成字符c.
说明:返回指向buffer的指针.
5.
ASSERT()是干什么用的答:ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE(0),程序将报告错误,并终止执行.
如果表达式不为0,则继续执行后面的语句.
这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误.
例如,变量n在程序中不应该为0,如果为0可能导致错误,你可以这样写程序:.
.
.
.
.
.
ASSERT(n!
=0);k=10/n;.
.
.
.
.
.
ASSERT只有在Debug版本中才有效,如果编译为Release版本则被忽略.
assert()的功能类似,它是ANSIC标准中规定的函数,它与ASSERT的一个重要区别是可以用在Release版本中.
6.
system("pause");作用答:系统的暂停程序,按任意键继续,屏幕会打印,"按任意键继续.
.
.
.
.
"省去了使用getchar();7.
请问C++的类和C里面的struct有什么区别答:c++中的类具有成员保护功能,并且具有继承,多态这类oo特点,而c里的struct没有c里面的struct没有成员函数,不能继承,派生等等.
8.
请讲一讲析构函数和虚函数的用法和作用答:析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载.
只是在类对象生命期结束的时候,由系统自动调用释放在构造函数中分配的资源.
这种在运行时,能依据其类型确认调用那个函数的能力称为多态性,或称迟后联编.
另:析构函数一般在对象撤消前做收尾工作,比如回收内存等工作,虚拟函数的功能是使子类可以用同名的函数对父类函数进行覆盖,并且在调用时自动调用子类覆盖函数,如果是纯虚函数,则纯粹是为了在子类覆盖时有个统一的命名而已.
注意:子类重新定义父类的虚函数的做法叫覆盖,override,而不是overload(重载),重载的概念不属于面向对象编程,重载指的是存在多个同名函数,这些函数的参数表不同.
.
重载是在编译期间就决定了的,是静态的,因此,重载与多态无关.
与面向对象编程无关.
含有纯虚函数的类称为抽象类,不能实例化对象,主要用作接口类//9.
全局变量和局部变量有什么区别是怎么实现的操作系统和编译器是怎么知道的答;全局变量的生命周期是整个程序运行的时间,而局部变量的生命周期则是局部函数或过程调用的时间段.
其实现是由编译器在编译时采用不同内存分配方法.
全局变量在main函数调用后,就开始分配,静态变量则是在main函数前就已经初始化了.
局部变量则是在用户栈中动态分配的(还是建议看编译原理中的活动记录这一块)10.
8086是多少位的系统在数据总线上是怎么实现的答:8086系统是16位系统,其数据总线是20位.
12程序设计1.
编写用C语言实现的求n阶阶乘问题的递归算法:答:longintfact(intn){If(n==0||n==1)Return1;ElseReturnn*fact(n-1);}2.
二分查找算法:1)递归方法实现:intBSearch(elemtypea[],elemtypex,intlow,inthigh)/*在下届为low,上界为high的数组a中折半查找数据元素x*/{intmid;if(low>high)return-1;mid=(low+high)/2;if(x==a[mid])returnmid;if(x2解:非递归算法:intf(intn){inti,s,s1,s2;s1=1;/*s1用于保存f(n-1)的值*/s2=1;/*s2用于保存f(n-2)的值*/s=1;for(i=3;ix[j+1].
key){temp=x[j];x[j]=x[j+1];x[j+1]=temp;}}}//补充一个改进的冒泡算法:voidBubbleSort(elemtypex[],intn){Inti,j;BOOLexchange;//记录交换标志for(i=1;i=i;--j){If(x[j]>x[j+1]){x[0]=x[j];X[j]=x[j+1];X[j+1]=x[0];Exchange=true;//发生了交换,设置标志为真.
}}if(!
Exchange)//为发生替换,提前终止算法return;}}6.
c语言文件读写#include"stdio.
h"main(){FILE*fp;charch,filename[10];scanf("%s",filename);if((fp=fopen(filename,"w")==NULL){printf("cann'topenfilen");exit(0);}ch=getchar();while(ch!
='#'){fputc(ch,fp);putchar(ch);ch=getchar();}fclose(fp);}7.
winsocket编程//这个不错//服务器代码#include#includevoidmain(){WORDwVersionRequested;//版本号WSADATAwsaData;//数据interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);if(err!
=0){return;}if(LOBYTE(wsaData.
wVersion)!
=1||HIBYTE(wsaData.
wVersion)!
=1){WSACleanup();return;}SOCKETsockSrv=socket(AF_INET,SOCK_STREAM,0);//建立套接字SOCKADDR_INaddrSrv;addrSrv.
sin_addr.
S_un.
S_addr=htonl(INADDR_ANY);addrSrv.
sin_family=AF_INET;addrSrv.
sin_port=htons(6000);bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//绑定端口listen(sockSrv,5);//转换socket套接子为侦听套接子SOCKADDR_INaddrClient;intlen=sizeof(SOCKADDR);while(1)//无限循环{SOCKETsockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);charsendBuf[100];sprint(sendBuf,"Welcome%stohttp://www.
sunxin.
org/",inet_ntoa(addrClient.
sin_addr));send(sockConn,sendBuf,strlen(sendBuf)+1,0);charrecvBuf[100];recv(sockConn,recvBuf);printf("%sn",recvBuf);closesocket(sockConn);WSACleanup();}}注:这是Server端;File->New->Win32ConsoleApplication,工程名:TcpSrv;然后,File->New->C++SourceFile,文件名:TcpSrv;在该工程的Setting的Link的Object/librarymodules项要加入ws2_32.
lib#include#includevoidmain(){WORDwVersionRequested;WSADATAwsaData;interr;wVersionRequested=MAKEWORD(1,1);err=WSAStartup(wVersionRequested,&wsaData);//启动winsockDllif(err!
=0){return;}if(LOBYTE(wsaData.
wVersion)!
=1||HIBYTE(wsaData.
wVersion)!
=1){WSACleanup();return;}SOCKETsockClient=socket(AF_INET,SOCK_STREAM,0);SOCKADDR_INaddrSrv;addrSrv.
sin_addr.
S_un.
S_addr=inet_addr("127.
0.
0.
1");addrSrv.
sin_family=AF_INET;addrSrv.
sin_port=htons(6000);connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));charrecvBuf[100];recv(sockClient,recvBuf,100,0);printf("%sn",recvBuf);send(sockClient,"Thisiszhangsan",strlen("Thisiszhangsan")+1,0);closesocket(sockClient);WSACleanup();}注:这是Client端;File->New->Win32ConsoleApplication,工程名:TcpClient;然后,File->New->C++SourceFile,文件名:TcpClient;同理,在该工程的Setting的Link的Object/librarymodules项要加入ws2_32.
lib8.
类的知识(非常不错的一道题目).
.
C++#includeclasshuman{public:human(){human_num++;};//默认构造函数staticinthuman_num;//静态成员~human(){human_num--;print();}voidprint()//{cout=-EPSINON)&&(x="或"13、将身份证号码为440401430103082的记录在两个表中的申请状态均改为07updateg_cardapplydetailsetg_state='07'whereg_idcard='440401430103082'updateAsetg_state='07'fromg_cardapplyAinnerjoing_cardapplydetailBonA.
g_applyno=B.
g_applynowhereB.
g_idcard='440401430103082'4、删除g_cardapplydetail表中所有姓李的记录deletefromg_cardapplydetailwhereg_namelike'李%'3、将身份证号码为440401430103082的记录在两个表中的申请状态均改为07updateg_cardapplydetailsetg_state='07'whereg_idcard='440401430103082'updateAsetg_state='07'fromg_cardapplyAinnerjoing_cardapplydetailBonA.
g_applyno=B.
g_applynowhereB.
g_idcard='440401430103082'5、SQL问答题:/*Selectg_cardapply.
g_applydateFromg_cardapply,g_cardapplydetailWhereg_cardapply.
g_applyno=g_cardapplydetail.
g_applynoAndg_cardapplydetail.
g_idcard='440401430103082'*//*Select*From(selectcount(*)g_count,g_idcardFromg_cardapplydetailGroupbyg_idcard)aWherea.
g_count>=2*//*Updateg_cardapplysetg_state='07'whereg_applynoin(selectdistinctg_applynofromg_cardapplydetailwhereg_idcard='440401430103082')updateg_cardapplydetailsetg_state='07'whereg_idcard='440401430103082'*//*Deletefromg_cardapplydetailWhereg_namelike'李%'*/通过测试PS:偶GF做的,自己先汗一下金山公司几道面试题4.
InC++,there'refourtypeofCastingOperators,pleaseenumerateandexplainthemespeciallythedifference.
解析:C++类型转换问题答案:reinterpret_cast,static_cast,const_cast,dynamic_caststatic_cast数制转换dynamic_cast用于执行向下转换和在继承之间的转换const_cast去掉constreinterpret_cast用于执行并不安全的orimplmentation_dependent类型转换7以下代码有什么问题,如何修改#include#includeusingnamespacestd;voidprint(vector);intmain(){vectorarray;array.
push_back(1);array.
push_back(6);array.
push_back(6);array.
push_back(3);//删除array数组中所有的6vector::iteratoritor;vector::iteratoritor2;itor=array.
begin();for(itor=array.
begin();itor!
=array.
end();){if(6==*itor){itor2=itor;array.
erase(itor2);}itor++;}print(array);return0;}voidprint(vectorv){cout::iteratorp=v.
begin();}我的答案是,迭代器问题,只能删除第一个6,以后迭代器就失效了,不能删除之后的元素.
但我不知道怎么改voidprint(constvector&);intmain(){vectorarray;array.
push_back(1);array.
push_back(6);array.
push_back(6);array.
push_back(3);//删除array数组中所有的6array.
erase(remove(array.
begin(),array.
end(),6),array.
end());print(array);return0;}voidprint(constvector&v){cout(cout,}#include#includeusingnamespacestd;intmain(){vectorarray;array.
push_back(1);array.
push_back(6);array.
push_back(6);array.
push_back(6);array.
push_back(6);array.
push_back(6);array.
push_back(3);array.
push_back(9);array.
push_back(8);array.
push_back(5);//ɾ³ýarrayÊý*éÖÐËùÓеÄ6vector::iteratoritor;itor=array.
begin();for(itor=array.
begin();itor!
=array.
end();++itor){if(6==*itor){itor=array.
erase(itor);--itor;}}cout=1)年----当然,你没有把握的话,绝对不能乱说,社会上混,要讲信用的.
有一次,我就在这个问题上吃了大亏,我看公司环境还不错,就我自做主张回答1年,结果,hr心目中是m(m>=2)年,呵呵,结果可想而知了.
要知道,技术面试都过关了,Hr面试是2选1,在回家的路上,我只能祈祷对手自动放弃或找到了其他更好的工作.
:)问第二个问题的是技术官.
你要让他知道你已经做过哪些商业作品.
一定要是商业作品.
在里面负责哪方面具体工作,对于你熟悉的地方要多说.
最好就是能争取笔试或上机,因为用用口说的话,大家理解都不一样,误差可能很大,结果对你相当不利.
在这个问题上我也吃过亏的,曾有一个我很看好的职位,认为把握很大,业务理解上也很有优势,和技术官一谈,结果是gameover.
要知道,在其他公司的上机和笔试中,我都能在应聘者中取得高分.
再说我去面试别人的经验吧.
当时,我的任务是出题,给分.
若你觉得题很难,那么,请千万不要放弃,显然,你的对手也觉得难.
只要坚持,我会认为这人有耐心很毅力,在以后的工作中也是好的合作者.
题一定要做完,表现出认真的态度,若有疑问或卡壳,还可以寻求面试官的帮助,这些不会减分,相反,会增加你和他们的接触机会,面试官会评估你的沟通能力.
有一次,有1个人来面试,题没有完全ok,但很规范,态度很认真,他把他知道的都做上去了,我给了他技术类的高分.
后来,顺利进入公司,再后来进步很快,成了重要角色.
若文章对你有帮助的话,请在此讨论.
祝你成功面试题1.
链表和数组的区别在哪里2.
编写实现链表排序的一种算法.
说明为什么你会选择用这样的方法3.
编写实现数组排序的一种算法.
说明为什么你会选择用这样的方法4.
请编写能直接实现strstr()函数功能的代码.
5.
编写反转字符串的程序,要求优化速度、优化空间.
6.
在链表里如何发现循环链接7.
给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里.
8.
写一个函数,检查字符是否是整数,如果是,返回其整数值.
(或者:怎样只用4行代码,编写出一个从字符串到长整形的函数)9.
给出一个函数来输出一个字符串的所有排列.
10.
请编写实现malloc()内存分配函数功能一样的代码.
11.
给出一个函数来复制两个字符串A和B.
字符串A的后几个字节和字符串B的前几个字节重叠.
12.
怎样编写一个程序,把一个有序整数数组放到二叉树中13.
怎样从顶部开始逐层打印二叉树结点数据请编程.
14.
怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)另外:一、单项选择题:(共12题,每题2分,共24分)1.
下面哪一个不是C++的标准数据类型(D)A.
intB.
charC.
boolD.
real2.
break关键字在哪一种语法结构中不能使用(C)A.
for语句B.
switch语句C.
if语句D.
while语句3.
类的继承方式有几种(B)A.
两种B.
三种C.
四种D.
六种4.
extern关键字的作用是什么(D)A.
声明外部链接B.
声明外部头文件引用C.
声明使用扩展C++语句D.
声明外部成员函数、成员数据.
5.
C库函数strstr的功能是(A)A.
查找子串B.
计算字符串长度C.
字符串比较D.
连结字符串6.
stl::deque是一种什么数据类型(A)A.
动态数组B.
链表C.
堆栈D.
树7.
STL库里含有下面的哪一种泛型算法(D)A.
KMP查找B.
折半查找C.
冒泡排序D.
快速排序8.
现在最快且最通用的排序算法是什么(A)A.
快速排序B.
冒泡排序C.
选择排序D.
外部排序9.
Win32下的线程的哪一种优先级最高(C)A.
THREAD_PRIORITY_HIGHEST高优先级B.
THREAD_PRIORITY_IDLE最低优先级,仅在系统空闲时执行C.
THREAD_PRIORITY_TIME_CRITICAL最高优先级D.
THREAD_PRIORITY_ABOVE_NORMAL高于普通优先级10.
下面四个选项中,哪一个不是WinMain函数的参数(D)A.
HINSTANCEB.
INTC.
LPSTRD.
WPARAM11.
VC++的编译器中,运算符new底层的实现是什么(B)A.
VirtualAlloc()B.
HeapAlloc()C.
GlobalAlloc()D.
AllocateUserPhysicalPages()12.
下面哪一本C++参考书最厚(C)A.
《ThinkinC++》B.
《深入浅出MFC》C.
《C++Primer》D.
《EffectiveC++》13.
当调用WindowsAPI函数InvalidateRect,将会产生什么消息(A)A.
WM_PAINTB.
WM_CREATEC.
WM_NCHITTESTD.
WM_SETFOCUS14.
关于virtualvoidDraw()=0,下面说法正确的有几个(C)(1)它是纯虚函数(对)(2)它在定义它的类中不能实现(对)(3)定义它的类不可实例化(对)(4)如果一个类要继承一个ADT类,必须要实现其中的所有纯虚函数(错)//可以不实现,派生之后的类仍旧作为一个抽象类.
A.
1B.
2C.
3D.
4二、不定项选择题:(共6题,每题3分,共18分,多选、错选、漏选均不给分)1.
vector::iterator重载了下面哪些运算符(ACD)A.
++B.
>>C.
*(前置)D.
==2.
CreateFile()的功能有哪几个(AB)A.
打开文件B.
创建新文件C.
文件改名D.
删除文件3.
下面哪些是句柄(HANDLE)(ABCD)A.
HINSTANCE实例句柄B.
HWND窗口句柄C.
HDC设备描述符号句柄D.
HFONT字体句柄4.
下面哪些不是OpenGL标准几何元素的绘制模式(A)A.
GL_FOGB.
GL_LINE_STRIPC.
GL_POINTSD.
GL_TRIANGLE_FAN5.
下面哪些运算符不能被重载(ABD)A.
做用域运算符"::"B.
对象成员运算符".
"C.
指针成员运算符"->"D.
三目运算符":"6.
下面哪些人曾参与了世界上第一个C++编译器的开发()A.
BillGatesB.
StanleyLippmanC.
AndersonHejlsbergD.
BjarneStroustrup7.
以下说法正确的是(ABC)A.
头文件中的ifndef/define/endif是为了防止该头文件被重复引用.
B.
对于#include,编译器从标准库路径开始搜索filename.
h对于#include"filename.
h",编译器从用户的工作路径开始搜索filename.
hC.
C++语言支持函数重载,C语言不支持函数重载.
函数被C++编译后在库中的名字与C语言的不同.
假设某个函数的原型为:voidfoo(intx,inty);该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字.
C++提供了C连接交换指定符号extern"C"来解决名字匹配问题.
D.
fopen函数只是把文件目录信息调入内存.
//错,fopen是把整个文件读入内存三、填空题:(共8题,每题3分,共24分)1.
一个大小为320X192,颜色为灰度索引色的设备相关位图有______字节.
如果此位图颜色为24位真彩色,则它的大小有______字节.
2.
WindowsAPI的中文意义是____windows应用程序接口___.
3.
计算反正弦的库函数是__asin()____;计算浮点数绝对值的库函数是__fabs()____;计算浮点数n次方的库函数是__pow()____;将浮点数转化为字符串的库函数是___fcvt()___.
4.
如果i等于5,那么(++i)--的返回值是__6__.
5.
APILoadBitmap()的功能是从__指定的模块和或应用程序实例__中读取位图数据到内存.

6.
new和__delete___对应,malloc和_free___对应,他们之间_不能__交叉混用.
calloc的功能是__为数组动态分配内存___,realloc的功能是_改变原有内存区域的大小_.
7.
SendMessage和PostMessage都会向窗体发送一个消息,但SendMessage__将一条消息发送到指定窗口,立即处理__而PostMessage__将一条消息投递到指定窗口的消息队列,不需要立即处理___.

[6.18]IMIDC:香港/台湾服务器月付30美元起,日本/俄罗斯服务器月付49美元起

IMIDC发布了6.18大促销活动,针对香港、台湾、日本和莫斯科独立服务器提供特别优惠价格最低月付30美元起。IMIDC名为彩虹数据(Rainbow Cloud),是一家香港本土运营商,全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。香港服务器   $39/...

Spinservers:美国圣何塞机房少量补货/双E5/64GB DDR4/2TB SSD/10Gbps端口月流量10TB/$111/月

Chia矿机,Spinservers怎么样?Spinservers好不好,Spinservers大硬盘服务器。Spinservers刚刚在美国圣何塞机房补货120台独立服务器,CPU都是双E5系列,64-512GB DDR4内存,超大SSD或NVMe存储,数量有限,机器都是预部署好的,下单即可上架,无需人工干预,有需要的朋友抓紧下单哦。Spinservers是Majestic Hosting So...

VoLLcloud:超便宜香港CMI大带宽vps-三网CMI直连-年付四免服务-低至4刀/月-奈飞

vollcloud LLC创立于2020年,是一家以互联网基础业务服务为主的 技术型企业,运营全球数据中心业务。致力于全球服务器租用、托管及云计算、DDOS安 全防护、数据实时存储、 高防服务器加速、域名、智能高防服务器、网络安全服务解决方案等领域的智 能化、规范化的体验服务。所有购买年付产品免费更换香港原生IP(支持解锁奈飞),商家承诺,支持3天内无条件退款(原路退回)!点击进入:vollclo...

端口是什么为你推荐
云播怎么看片云播影视怎么样?安卓应用平台手机系统应用在哪9flash怎么使用ePSXe啊?网店推广网站可以介绍几个可以做店铺推广的网站吗?如何建立一个网站怎样能创建一个网站蘑菇街美丽说蘑菇街美丽说唯品会天猫京东。女生买衣服,哪个好硬盘人克隆一个人需要多少人多长时间啊ios系统ios是什么意思 ios系统是什么网页打开很慢为什么我打开网页很慢怎么上传音乐怎样可以上传本地音乐到网上?
美国虚拟空间 提供香港vps 希网动态域名 国外永久服务器 webhosting panel1 ibox官网 警告本网站美国保护 腾讯云分析 建立邮箱 宁波服务器 789电视 hostloc metalink drupal安装 华为云盘 美国凤凰城 北京主机托管 forwarder cdn加速 更多