📄 vc-c++的面试题_欢迎光临 okeyes 的业余技术研究中心.mht
字号:
<BR></FONT>4=A1=A2=D2=FD=D3=C3=BA=CD=D6=B8=D5=EB=B5=C4=C7=F8=B1=F0=A3=BF<=
/FONT></DIV>
<DIV><FONT face=3D=BA=DA=CC=E5 =
size=3D4><FONT=20
=
face=3D=CB=CE=CC=E5>=B4=F0=A3=BA=D2=FD=D3=C3=BA=CD=D6=B8=D5=EB=D3=D0=C8=E7=
=CF=C2=C8=FD=D6=D6=C7=F8=B1=F0=A3=BA <BR>1 =
=D2=FD=D3=C3=B1=D8=D0=EB=D4=DA=C9=F9=C3=F7=CA=B1=B3=F5=CA=BC=BB=AF=A3=AC=B6=
=F8=D6=B8=D5=EB=B2=BB=D3=C3=A3=BB=20
<BR>2 =
=B6=D4=D3=DANULL=B2=BB=C4=DC=D2=FD=D3=C3=A3=AC=B6=F8=D6=B8=D5=EB=BF=C9=D2=
=D4=D6=B8=CF=F2NULL=A3=BB <BR>3=20
=
=D2=FD=D3=C3=D2=BB=B5=A9=C9=F9=C3=F7=A3=AC=B6=D4=CF=F3=B2=BB=C4=DC=B8=C4=B1=
=E4=A3=BB=B6=F8=D6=B8=D5=EB=BF=C9=D2=D4=CB=E6=CA=B1=B8=C4=B1=E4=D6=B8=CF=F2=
=B5=C4=B6=D4=CF=F3=A1=A3=20
=
<BR>=D2=FD=D3=C3=C4=DC=D7=F6=B5=BD=B5=C4=A3=AC=D6=B8=D5=EB=D2=B2=BF=C9=D2=
=D4=A3=AC=B5=AB=D6=B8=D5=EB=B8=FC=CE=A3=CF=D5=A3=BB </FONT></FONT></DIV>
<DIV><FONT face=3D=BA=DA=CC=E5 =
size=3D4><FONT face=3D=CB=CE=CC=E5>
<TABLE style=3D"TABLE-LAYOUT: fixed">
<TBODY>
<TR>
<TD>
<DIV =
class=3Dcnt>5=A3=AE=B8=C4=B4=ED<BR><BR>#include=20
<stdio.h><BR>#include=20
<String.h><BR>class=20
CBuffer<BR>{<BR> char *=20
m_pBuffer;<BR> int=20
m_size;<BR> =20
public:<BR> =20
CBuffer()<BR> =20
=
{<BR> =20
=
m_pBuffer=3DNULL;<BR> =20
}<BR> =20
~CBuffer()<BR> =20
=
{<BR> =20
Free();<BR> =20
}<BR> void =
Allocte(int=20
size) =
=A3=A83=A3=A9 =20
=
{<BR> =20
=
m_size=3Dsize;<BR> =20
m_pBuffer=3D new=20
char[size];<BR> =20
}<BR> =20
private:<BR> =
void=20
Free()<BR> {=20
<BR> =
=
if(m_pBuffer!=3DNULL)<BR> =20
=
{<BR> =20
delete=20
=
m_pBuffer;<BR> =20
=
m_pBuffer=3DNULL;<BR> =20
}<BR> =20
}<BR> =20
public:<BR> void =
SaveString(const char* pText)=20
const<BR> =20
=
{<BR> =20
strcpy(m_pBuffer,=20
pText);<BR> =20
}<BR> char* =
GetBuffer()=20
const<BR> =20
=
{<BR> return=20
m_pBuffer;<BR> =20
}<BR>};<BR><BR>void main (int argc, =
char*=20
argv[])<BR>{<BR> CBuffer=20
buffer1;<BR> =20
=
buffer1.SaveString("Microsoft");<BR> =20
=
printf(buffer1.GetBuffer());<BR>}<BR><BR>=B4=F0=A3=BA=B8=C4=D5=FD=BA=F3<B=
R>=D6=F7=D2=AA=B8=C4=D5=FDSaveString=BA=AF=CA=FD<BR>=BD=AB<BR>void=20
SaveString(const char* pText)=20
const<BR>{<BR>strcpy(m_pBuffer,=20
pText);<BR>}<BR>=B8=C4=CE=AA<BR>void =
SaveString(const=20
char* pText)=20
=
=A3=A81=A3=A9<BR>{<BR>Allocte(strlen(pText)+1);=20
=A3=A82=A3=A9<BR>strcpy(m_pBuffer,=20
=
pText);<BR>}<BR>=D4=AD=D2=F2=A3=BA<BR>=A3=A81=A3=A9=20
=
const=B3=C9=D4=B1=BA=AF=CA=FD=B1=ED=CA=BE=B2=BB=BB=E1=D0=DE=B8=C4=CA=FD=BE=
=DD=B3=C9=D4=B1=A3=AC=B6=F8SaveString=D7=F6=B2=BB=B5=BD=A3=AC=C8=A5=B5=F4=
const=C9=F9=C3=F7<BR>=A3=A82=A3=A9=20
=
m_pBuffer=D6=B8=CF=F2NULL=A3=AC=B1=D8=D0=EB=D3=C3Allocte=B7=D6=C5=E4=BF=D5=
=BC=E4=B2=C5=C4=DC=B8=B3=D6=B5=A1=A3<BR>=A3=A83=A3=A9=20
=
=C1=ED=CD=E2=D0=E8=D2=AA=BD=ABAllocte=B3=C9=D4=B1=BA=AF=CA=FD=C9=F9=C3=F7=
=CE=AA=CB=BD=D3=D0=B3=C9=D4=B1=BA=AF=CA=FD=B8=FC=B7=FB=BA=CF=CA=B5=BC=CA<=
BR><BR>6.=CF=C2=C0=B4=B3=CC=D0=F2=CF=EB=B4=F2=D3=A1=A1=B0Welcome=20
MSR =
Asia=A1=B1=A3=AC=B8=C4=D5=FD=B4=ED=CE=F3<BR><BR>#include=20
<stdio.h><BR>#include=20
<string.h><BR>char * GetName=20
(void)<BR>{<BR> //To return =
=A1=B0MSR=20
Asia=A1=B1 String<BR> char =
name[]=3D"MSR=20
Asia";<BR> return =
name;<BR>}<BR>void=20
main(int argc, char*=20
argv[])<BR>{<BR> char=20
name[32];<BR> //Fill in =
zeros into=20
name<BR> for(int=20
i=3D0;i<=3D32;i++)<BR> =20
{<BR> =20
name<EM>=3D'\0';<BR> =
}<BR> =20
//copy =A1=B0Welcome=A1=B1 to =
name<BR> =20
name=3D"Welcome";<BR> =
//Append a blank=20
char<BR> name[8]=3D"=20
";<BR> //Append string to=20
name<BR> =20
strcat(name,GetName());<BR> =
//print=20
out<BR> =20
=
printf(name);<BR>}<BR><BR>=B4=F0=A3=BA=B8=C4=D5=FD=BA=F3=CE=AA<BR><BR>#in=
clude=20
<stdio.h><BR>#include=20
<string.h><BR>char * GetName=20
(void)<BR>{<BR> //To return =
=A1=B0MSR=20
Asia=A1=B1 String<BR> //char =
name[]=3D"MSR=20
=
Asia"; =20
=
=A3=A81=A3=A9 <BR> &n=
bsp;=20
char *name=3D(char *)malloc(strlen("MSR=20
=
Asia")+1); <BR> =20
strcpy(name,"MSR Asia");<BR> =
return=20
name;<BR>}<BR>void main(int argc, char*=20
argv[])<BR>{<BR> char=20
name[32];<BR> //Fill in =
zeros into=20
name<BR> for(int=20
i=3D0;i<=3D32;i++)<BR> =20
{<BR> =20
name<EM>=3D'\0';<BR> =
}<BR> =20
//copy =A1=B0Welcome=A1=B1 to =
name<BR> =20
=
//name=3D"Welcome"; =20
=A3=A82=A3=A9<BR> =
strcat(name,"Welcome=20
");<BR> //Append a blank=20
char<BR>// name[8]=3D'=20
=
';  =
;=20
=A3=A83=A3=A9<BR> //Append =
string to=20
name<BR> char=20
=
*p=3DGetName(); =20
=A3=A84=A3=A9<BR> =20
strcat(name,p);<BR> free=20
(p);<BR> //print =
out<BR> =20
=
printf(name);<BR>}<BR>=D4=AD=D2=F2=A3=BA=A3=A81=A3=A9=D4=DA=BA=AF=CA=FD=C4=
=DA=B2=BF=B6=A8=D2=E5=B5=C4=B1=E4=C1=BF=D4=DA=BA=AF=CA=FD=BD=E1=CA=F8=CA=B1=
=BE=CD=C7=E5=BF=D5=C1=CB=A3=AC=B1=D8=D0=EB=B6=AF=CC=AC=B7=D6=C5=E4=C4=DA=B4=
=E6<BR>=A3=A82=A3=A9=D7=D6=B7=FB=B4=AE=B8=B3=D6=B5=D3=EF=BE=E4=B4=ED=CE=F3=
=A3=AC=D3=A6=B8=C3=D3=C3strcat<BR>=A3=A83=A3=A9=B8=C3=D3=EF=BE=E4=CE=DE=D0=
=A7=A3=AC=BF=C9=C8=A5=B5=F4<BR>=A3=A84=A3=A9=B6=A8=D2=E5=D2=BB=B8=F6=D6=B8=
=D5=EB=D6=B8=CF=F2=B6=AF=CC=AC=B7=D6=C5=E4=B5=C4=C4=DA=B4=E6=A3=AC=D3=C3=CD=
=EA=BA=F3=D0=E8=D3=C3free=D3=EF=BE=E4=CA=CD=B7=C5<BR><BR><BR>7=A3=AE=D0=B4=
=B3=F6=CF=C2=C3=E6=B3=CC=D0=F2=B5=C4=CA=E4=B3=F6=BD=E1=B9=FB<BR><BR>#incl=
ude=20
<stdio.h><BR>class=20
A<BR>{<BR>public:<BR> void=20
FuncA()<BR> =20
{<BR> =
printf("FuncA=20
called\n");<BR> =
}<BR> =20
virtual void FuncB()<BR> =20
{<BR> =
printf("FuncB=20
called\n");<BR> =
}<BR>};<BR><BR>class=20
B: public =
A<BR>{<BR>public:<BR> void=20
FuncA()<BR> =20
{<BR> =20
A::FuncA();<BR> =20
printf("FuncAB =
called\n");<BR> =20
}<BR> virtual void=20
FuncB()<BR> =20
{<BR> =
printf("FuncBB=20
called\n");<BR> =
}<BR>};<BR><BR>void=20
main(void)<BR>{<BR> B=20
b;<BR> A =
*pa;<BR> =20
pa=3D&b;<BR> A =
*pa2=3Dnew=20
A;<BR> =20
=
b.FuncA(); =20
=A3=A81=A3=A9<BR> =20
=
b.FuncB(); =20
=
=A3=A82=A3=A9 <BR> &n=
bsp;=20
=
pa->FuncA(); =20
=A3=A83=A3=A9<BR> =20
=
pa->FuncB(); =20
=A3=A84=A3=A9<BR> =20
=
pa2->FuncA(); =20
=A3=A85=A3=A9<BR> =20
pa2->FuncB();<BR> delete=20
=
pa2;<BR>}<BR>=B4=F0=A3=BA<BR>1=A3=AEb.FuncA(); =CA=E4=B3=F6<BR>FuncA=20
called<BR>FuncAB=20
=
called<BR>2=A3=AEb.FuncB();=CA=E4=B3=F6<BR>FuncBB=20
=
called<BR>=C9=CF=C1=BD=D5=DF=BA=C3=C0=ED=BD=E2=A3=AC=D6=B1=BD=D3=B5=F7=D3=
=C3=C0=E0B=B5=C4=CF=E0=D3=A6=B3=C9=D4=B1=BA=AF=CA=FD<BR>3=A3=AEpa->Fun=
cA();=CA=E4=B3=F6<BR>FuncA=20
called=20
=
=B5=F7=D3=C3=C0=E0A=B5=C4FuncA()<BR>4=A3=AEpa->FuncB();=CA=E4=B3=F6<BR=
>FuncBBcalled=B5=F7=D3=C3=C0=E0B=B5=C4FuncB()=A3=AC=D4=AD=D2=F2=CA=C7C++=B5=
=C4=B6=AF=CC=AC=BE=F6=D2=E9=BB=FA=D6=C6=A3=AC=B5=B1=BB=F9=C0=E0=BA=AF=CA=FD=
=C9=F9=C3=F7=CE=AAvirtual=CA=B1=A3=AC=D6=B8=CF=F2=C5=C9=C9=FA=C0=E0=B6=D4=
=CF=F3=B5=C4=BB=F9=C0=E0=D6=B8=D5=EB=C0=B4=B5=F7=D3=C3=B8=C3=BA=AF=CA=FD=BB=
=E1=D1=A1=D4=F1=C5=C9=C9=FA=C0=E0=B5=C4=CA=B5=CF=D6=A3=AC=B3=FD=B7=C7=C5=C9=
=C9=FA=C0=E0=C3=BB=D3=D0=B2=C5=B5=F7=D3=C3=BB=F9=C0=E0=B5=C4=D0=E9=BA=AF=CA=
=FD=A1=A3=BB=B9=D3=D0=D2=BB=B5=E3=D7=A2=D2=E2=B5=C4=CA=C7=A3=BA=D6=B8=CF=F2=
=BB=F9=C0=E0=C0=E0=D0=CD=B5=C4=D6=B8=D5=EB=BF=C9=D2=D4=D6=B8=CF=F2=BB=F9=C0=
=E0=B6=D4=CF=F3=D2=B2=BF=C9=D2=D4=D6=B8=CF=F2=C5=C9=C9=FA=C0=E0=B6=D4=CF=F3=
=A3=AC=C8=E7pa=3D&b;<BR>5.=20
=
pa2->FuncA();<BR>pa2->FuncB();=CA=E4=B3=F6<BR>FuncA=20
called<BR>FuncB=20
=
called<BR>=D5=E2=D2=B2=BA=C3=C0=ED=BD=E2=A3=AC=D6=B1=BD=D3=B5=F7=D3=C3=C0=
=E0A=B5=C4=CF=E0=D3=A6=B3=C9=D4=B1=BA=AF=CA=FD<BR><BR>8=A3=AEIn the=20
main() function, after =
ModifyString(text) is=20
called, what=A1=AFs the value of=20
=A1=AEtext=A1=AF?<BR><BR>#include=20
<stdio.h><BR>#include=20
<string.h><BR>int =
FindSubString(char*=20
pch)<BR>{<BR> int=20
count=3D0;<BR> char*=20
p1=3Dpch;<BR> =20
while(*p1!=3D'\0')<BR> =20
{<BR> =20
=
if(*p1=3D=3Dp1[1]-1)<BR> =20
=
{<BR> =20
=
p1++;<BR> =20
count++;<BR> =20
}<BR> =20
else<BR> =20
=
{<BR> =20
break;<BR> =20
}<BR> }<BR> int=20
count2=3Dcount;<BR> =20
while(*p1!=3D'\0')<BR> =20
{<BR> =20
=
if(*p1=3D=3Dp1[1]+1)<BR> =20
=
{<BR> =20
=
p1++;<BR> =20
count2--;<BR> =20
}<BR> =20
else<BR> =20
=
{<BR> =20
break;<BR> =20
}<BR> }<BR> =20
=
if(count2=3D=3D0)<BR> return=20
count;<BR> return=20
0;<BR>}<BR><BR>void ModifyString(char*=20
pText)<BR>{<BR> char*=20
p1=3DpText;<BR> char*=20
p2=3Dp1;<BR> =20
while(*p1!=3D'\0')<BR> =20
{<BR> int=20
=
count=3DFindSubString(p1);<BR> =20
=
if(count>0)<BR> =20
=
{<BR> =20
=
*p2++=3D*p1;<BR> =20
sprintf(p2, "%I",=20
=
count);<BR> =20
while(*p2!=3D=20
=
'\0')<BR> =20
=
{<BR> =20
=
p2++;<BR> =20
=
}<BR> =20
=
p1+=3Dcount+count+1;<BR> =20
}<BR> =20
else<BR> =20
=
{<BR> =20
=
*p2++=3D*p1++;<BR> =20
}<BR> }<BR>}<BR>void=20
main(void)<BR>{<BR> char=20
=
text[32]=3D"XYBCDCBABABA";<BR> =20
ModifyString(text);<BR> =20
=
printf(text);<BR>}<BR>=B4=F0=A3=BA=D7=EE=BA=F3=D4=CB=D0=D0=BD=E1=B9=FB=CA=
=C7XYBCDCBAIBAAP</EM></EM></DIV></TD></TR></TBODY></TABLE></FONT></FONT><=
/DIV></DIV></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>=
</TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE=
><BR>
<DIV class=3Dopt><A =
title=3D=B2=E9=BF=B4=B8=C3=B7=D6=C0=E0=D6=D0=CB=F9=D3=D0=CE=C4=D5=C2=20
href=3D"http://hi.baidu.com/okeyes888/blog/category/%C3%E6%CA%D4">=C0=E0=B1=
=F0=A3=BA=C3=E6=CA=D4</A> | <A=20
title=3D=BD=AB=B4=CB=CE=C4=D5=C2=CC=ED=BC=D3=B5=BD=B0=D9=B6=C8=CB=D1=B2=D8=
onclick=3D"return addToFavor();"=20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -