正文

類型、變量與標準(6)

通過游戲編程實戰(zhàn)教新手學C++編程 作者:(美)Michael Dawson


1.2.6  通過標準輸出顯示文本

main()函數(shù)體的第一行在控制臺窗口顯示Game Over!和一個換行符。

std::cout << "Game Over!" << std::endl;

“Game Over!”是字符串,即一連串可以打印的字符。從技術(shù)上而言,它是一個字符串字面值,即它就是引號中間的那些字符。

cout是在iostream文件中定義的對象,用于向標準輸出流發(fā)送數(shù)據(jù)。在大多數(shù)程序中(包括本程序),標準輸出流僅僅是指計算機屏幕中的控制臺窗口。

輸出運算符(<<)用于向?qū)ο骳out發(fā)送字符串。可以將輸出運算符想象成一個漏斗,它將開口一端的數(shù)據(jù)收集起來并使其流向收口的一端。所以,字符串順著漏斗流向了標準輸出——屏幕。

cout的前綴std告訴編譯器這里的cout來自標準庫。std是名稱空間??梢詫⒚Q空間想象成電話號碼的區(qū)號,它唯一標識了成員所屬的組。名稱空間后面跟著作用域解析運算符(::)。

最后,程序還向標準輸出發(fā)送了std::endl。endl在iostream中定義,它也是std名稱空間中的一個對象。向標準輸出發(fā)送endl類似于在控制臺窗口中按下回車鍵。實際上,如果此時向控制臺窗口發(fā)送另一個字符串,它將出現(xiàn)在屏幕的下一行。

這些概念可能有些難以理解。請看圖1-3,它以圖形方式形象地表示了所有描述過的元素之間的關(guān)系。

圖1-3  標準C++的實現(xiàn)包含了一個稱為標準庫的文件集合。標準庫包含了iostream文件。

iostream文件又包含了各種定義,其中包括cout對象的定義

1.2.7  語句的終止

如果留意函數(shù)的第一行,會發(fā)現(xiàn)它以一個分號(;)結(jié)尾。這是因為這一行是一條語句——控制程序執(zhí)行流程的基本單元。所有語句都必須以分號結(jié)尾,否則編譯器會報錯,而且不會編譯程序。

1.2.8  從main()函數(shù)返回值

函數(shù)的最后一條語句將0返回給操作系統(tǒng)。

return 0;

從main()函數(shù)返回0表示程序正常結(jié)束。操作系統(tǒng)與返回值無關(guān)。一般來說,可以像該程序一樣簡單地返回0。

技巧

在運行Game Over程序時,可能只是看見控制臺窗口一閃而過。那是因為C++太快,它在不到一秒的時間內(nèi)打開一個控制臺窗口,顯示Game Over!,然后關(guān)閉窗口。然而,在Windows操作系統(tǒng)下,可以創(chuàng)建批處理文件,在運行控制臺程序后暫停。這可以保持控制臺窗口處于打開狀態(tài),以便查看程序結(jié)果。因為編譯后的程序名為game_over.exe,所以可以簡單地創(chuàng)建由以下兩行代碼組成的批處理文件:

game_over.exe

pause

創(chuàng)建批處理文件的步驟如下:

(1) 打開一個文本編輯器,如Notepad(不能是Word或WordPad)。

(2) 輸入文本。

(3) 以.bat擴展名保存文件,如game_over.bat。

最后,雙擊文件圖標運行批處理文件。因為批處理文件會使控制臺窗口處于打開狀態(tài),這時應(yīng)當能看到程序結(jié)果。


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號