- 相關(guān)推薦
C++ 筆試題
貼出部分內(nèi)容,看看是否值得下載。
表示已有答案
表示沒有處理
表示答案不確定
C++筆試題
1.多態(tài)類中的虛函數(shù)表是Compile-Time,還是Run-Time時建立的?
答案:虛擬函數(shù)表是在編譯期就建立了,各個虛擬函數(shù)這時被組織成了一個虛擬函數(shù)的入口地址的數(shù)組.而對象的隱藏成員--虛擬函數(shù)表指針是在運(yùn)行期--也就是構(gòu)造函數(shù)被調(diào)用時進(jìn)行初始化的,這是實現(xiàn)多態(tài)的關(guān)鍵.
2.將一個 1M-10M的文件,逆序存儲到另一個文件,就是前一個文件的最后一個字符存到新文件的第一個字符,以此類推。
//實現(xiàn)對一個文本文件內(nèi)容的反向顯示。
#include
#include
void main ( )
{
char c;
FILE *fp;
if ((fp=fopen("test.txt","r")) == NULL) //以讀方式打開文本文件
{ printf ("Cannot open file.\n");
exit(1);
}
fseek( fp,0L, 2 ); //定位文件尾。注意此時并不是定位到文件的最后一字符,
//而是在定位文件最后一個字符之后的位置
while ((fseek(fp,-1L, 1))!=-1) // 相對當(dāng)前位置退后一個字節(jié)
{
c=fgetc(fp); putchar (c); //如果定位成功,讀取當(dāng)前字符并顯示
/* 讀取字符成功,文件指針會自動移到下一字符位置 */
if (c==\n) /* 若讀入是\n字符 */
fseek(fp,-2L,1); /* 由于DOS在文本文件中要存回車0x0d和換 */
/* 行0x0a兩個字符,故要向前移動兩個字節(jié) */
else fseek (fp,-1L, 1); /* 文件指針向前移動一個字節(jié),使文 */
} /* 件指針定位在剛剛讀出的那個字符 */
fclose (fp); /* 操作結(jié)束關(guān)閉文件 */
}
3.main主函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼?(朗訊的一道筆試題)
答案:可以,可以用_onexit 注冊一個函數(shù),它會在main 之后執(zhí)行;
如果你需要加入一段在main退出后執(zhí)行的代碼,可以使用atexit()函數(shù),注冊一個函數(shù)。
語法:
#include
int atexit(void (*function")(void));
#include
#include
void fn1( void ), fn2( void ), fn3( void ), fn4( void );
int main( void )
{
atexit( fn1 );
atexit( fn2 );
atexit( fn3 );
atexit( fn4 );
printf( "This is executed first.\n" );
}
void fn1()
{
printf( "next.\n" );
}
void fn2()
{
printf( "executed " );
}
void fn3()
{
printf( "is " );
}
void fn4()
{
printf( "This " );
}
結(jié)果:
This is executed first.
This is executed next.
【C++ 筆試題】相關(guān)文章:
普天C++筆試題02-18
基礎(chǔ)C++/C語言筆試題分享11-21
C++工程師筆試題目11-25
群碩筆試題Java和C++、C#11-21
UC(優(yōu)視科技)2014實習(xí)筆試題回憶版 C/C++編程11-21
迅雷JAVA廣州站二筆筆試題目分享11-21
C++程序員求職信11-21
最新凌陽科技C++筆試分享11-21