W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
習(xí)慣上,人們學(xué)習(xí)一門新語(yǔ)言時(shí)寫(xiě)的第一個(gè)程序都是“Hello,World.”,它只是輸出“Hello,World.”這句話。下面是C++版本1:
#include <iostream.h>
// main: 生成一些簡(jiǎn)單的輸出
void main ()
{
cout << "Hello, world." << endl;
return 0
}
有些人喜歡通過(guò)“Hello,World.”程序是否簡(jiǎn)潔來(lái)判斷編程語(yǔ)言的質(zhì)量。如果以此為標(biāo)準(zhǔn),C++相當(dāng)不錯(cuò)。即便如此簡(jiǎn)潔,這個(gè)程序中還是有幾個(gè)特性不容易給初學(xué)者解釋清楚。我們暫且忽略這種不易理解的特性,比如第一行的#include
語(yǔ)句。
第二行以“//”開(kāi)始,它表明這句話是注釋。注釋是可以放入程序中的英語(yǔ)文本,用以解釋程序的意圖。當(dāng)編譯器讀取到“//”時(shí),會(huì)忽略從“//”開(kāi)始直到行尾的所有字符。
在第三行中,你暫時(shí)先別理會(huì)單詞void
,但要注意另一個(gè)單詞main
。main
是一個(gè)特殊的名字,它指明程序開(kāi)始執(zhí)行的位置。程序運(yùn)行時(shí),會(huì)從main
中的第一條語(yǔ)句開(kāi)始執(zhí)行,然后按順序執(zhí)行后續(xù)語(yǔ)句,直到最后一條語(yǔ)句,最后退出。
main
中的語(yǔ)句行數(shù)并沒(méi)有限制,不過(guò)例子中只包含了一條語(yǔ)句。這是一條基本輸出語(yǔ)句,會(huì)在屏幕上輸出或者顯示一條信息。
cout
是系統(tǒng)提供的特殊對(duì)象,允許將輸出發(fā)送給屏幕。符號(hào)<<
是應(yīng)用到cout
和一個(gè)字符串上的操作符,它在屏幕上顯示這個(gè)字符串。
endl
是表示一行結(jié)束的特殊符號(hào)。當(dāng)把endl
發(fā)送給cout
時(shí),會(huì)導(dǎo)致光標(biāo)移到顯示的下一行。下一次輸出時(shí),文本會(huì)出現(xiàn)在新行上。
和所有語(yǔ)句一樣,輸出語(yǔ)句也以分號(hào)結(jié)尾。
程序中的語(yǔ)法有幾點(diǎn)需要注意。首先,C++使用花括號(hào)組織語(yǔ)句。示例程序中,輸出語(yǔ)句被包圍在花括號(hào)之中,說(shuō)明它在 main
函數(shù)定義之內(nèi)。再有,注意語(yǔ)句的縮進(jìn),這可以更直觀地表示出哪些語(yǔ)句在定義之內(nèi)。
現(xiàn)在,何不坐到電腦前面編譯并運(yùn)行這個(gè)程序?具體如何編譯運(yùn)行與你的編程環(huán)境有關(guān),從現(xiàn)在開(kāi)始,本書(shū)假設(shè)讀者了解該如何處理。
前面也提到過(guò),C++編譯器對(duì)語(yǔ)法細(xì)節(jié)要求十分嚴(yán)格。編寫(xiě)程序時(shí)出現(xiàn)任何錯(cuò)誤,代碼都無(wú)法成功編譯。比如,若把iostream
拼寫(xiě)錯(cuò)了,你可能會(huì)遇到下面的錯(cuò)誤提示信息:
hello.cpp:1: oistream.h: No such file or directory
雖然這行提示包含了大量信息,但這種信息密集的說(shuō)法著實(shí)不易理解。更友好的編譯器可能要這樣說(shuō):
“在名為`hello.cpp`的源代碼文件的第一行,你想要包含一個(gè)名為`oistream.h`的頭文件。我沒(méi)有找到叫這個(gè)名字的文件,但我找到了`iostream.h`,也許這是你要找的文件?”
十分不幸,幾乎沒(méi)有這么友好的編譯器。編譯器并不是真的非常聰明,大多數(shù)情況下,錯(cuò)誤信息只是程序錯(cuò)誤的一個(gè)線索。要熟練理解編譯器的信息還是需要些時(shí)間磨練的。
不過(guò),編譯器仍然是學(xué)習(xí)語(yǔ)言的語(yǔ)法規(guī)則的有用工具。拿一個(gè)可以工作的程序(如hello.cpp
)練手,以各種方式修改它,看看會(huì)發(fā)生什么。如果碰到錯(cuò)誤信息,記住消息說(shuō)了什么以及是什么原因?qū)е碌腻e(cuò)誤,下次再遇到的時(shí)候就知道錯(cuò)誤信息的意義了。
1.按照C++規(guī)范,返回值應(yīng)為int類型,但本書(shū)第5章才會(huì)介紹有返回值的函數(shù),這里暫且用void,第5.9節(jié)會(huì)有相關(guān)說(shuō)明?!g者注
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: