C++程序簡(jiǎn)單示例
前言:
很多小伙伴反應(yīng)想要用C++
刷LeetCode
,但是對(duì)于C++語(yǔ)法不熟悉,對(duì)于很多算法和數(shù)據(jù)結(jié)構(gòu)也不夠了解。這就導(dǎo)致了刷題的時(shí)候需要四處查詢資料,非常的麻煩。
我們先來(lái)看一段C++的示例代碼:
// my first cpp file #include <iostream> int main() { using namespace std; cout << "hellworld" << endl; return 0; }
這段代碼雖然很短,但幾個(gè)重要的要素都包含了,如果只是用來(lái)刷題,會(huì)發(fā)現(xiàn)基本上也只會(huì)用到這些語(yǔ)法。
我們一行一行來(lái)看。
1、注釋
首先是第一行,第一行表示的C++當(dāng)中的注釋。C語(yǔ)言當(dāng)中的/**/的多行注釋方法同樣支持,但為了避免潛在的問(wèn)題,盡量使用C++類型的注釋。
2、include
第二行是預(yù)編譯指令include
,這里的預(yù)編譯指令是一個(gè)專業(yè)名詞,表示在編譯之前預(yù)先執(zhí)行的指令。C++當(dāng)中的預(yù)編譯指令有好幾種,除了include
之外還有define
、ifdef
、undef
等等,我們后面遇到了再說(shuō)。
include
這個(gè)指令會(huì)引入一個(gè)源代碼文件,后面跟著的是一個(gè)包含文件名,也叫頭文件名。C語(yǔ)言中的頭文件以.h結(jié)尾,而C++當(dāng)中兼容了C語(yǔ)言的頭文件,只不過(guò)將其重新命名,去掉了末尾的.h,而換成了c開(kāi)頭。比如math.h
文件替換成了cmath
。
在這行代碼當(dāng)中我們include
的頭文件叫做iostream
,iostream
為C++的標(biāo)準(zhǔn)輸入輸出庫(kù),用來(lái)在終端讀入或者打印文本信息。iostream
可以拆開(kāi)理解成io
和stream
,其中io表示input
、output
即輸入輸出,stream
表示流,即使用流形式進(jìn)行io。
3、main函數(shù)
main
函數(shù)是C++程序的入口函數(shù),C++標(biāo)準(zhǔn)當(dāng)中定義的main
函數(shù)類型是int。返回0表示程序正常退出,所以一般我們要在main函數(shù)的最后寫(xiě)上return 0
。
C++的main函數(shù)通常有兩種寫(xiě)法,一種是參數(shù)留空,一種是定義參數(shù)數(shù)量以及參數(shù)值。
int main() {} int main(int argc, char* argv[]) {}
關(guān)于main
函數(shù)的傳參方法,以及參數(shù)使用方法同樣會(huì)在之后介紹,初學(xué)者隨便使用哪一種都是一樣的。
注意,有些編譯器比如vc6.0等沒(méi)有嚴(yán)格遵循gcc
規(guī)范,導(dǎo)致支持void
類型的main
函數(shù)。建議放棄此類不規(guī)范的編譯器,以免代碼無(wú)法遷移,并且養(yǎng)成不好的編碼習(xí)慣。
4、命名空間
命名空間是C++當(dāng)中的特性,用來(lái)解決大型項(xiàng)目名稱沖突的問(wèn)題。
有可能多個(gè)程序員同時(shí)開(kāi)發(fā)了getValue
函數(shù),但當(dāng)我們編譯運(yùn)行的時(shí)候,編譯器無(wú)法知道我們究竟調(diào)用的是哪一個(gè)getValue,所以需要使用命名空間進(jìn)行區(qū)分。比如A程序員將getValue
放入了名為A的命名空間當(dāng)中,那么當(dāng)我們調(diào)用getValue的時(shí)候就需要寫(xiě)成A::getValue
,B程序員將它放入了名為B的命名空間中,同樣調(diào)用的時(shí)候?qū)懗?code>B::getValue。
然而常用的許多函數(shù)、變量都明明在std的命名空間當(dāng)中,這就意味著當(dāng)我們使用這類內(nèi)容的時(shí)候,都需要在前面加上std::,比如標(biāo)準(zhǔn)輸出的cout
命令,需要寫(xiě)成std::cout
。
這會(huì)導(dǎo)致編碼變得繁瑣,所以C++提供了using namespace
的功能,即告訴編譯器當(dāng)前使用的命名空間名稱,這樣我們?cè)谡{(diào)用該命名空間的內(nèi)容時(shí),可以省略前綴。
除了using namespace之外我們也可以單獨(dú)使用using命令,例如:
using std::cout; using std::cin;
5、cout
標(biāo)準(zhǔn)輸出工具,可以將字符串輸出在終端中。
cout
本身是一個(gè)預(yù)定義的對(duì)象,它知道如何顯示字符串、數(shù)字和單個(gè)字符。<<符號(hào)表示將字符串發(fā)送給cout
,由cout
輸出在屏幕當(dāng)中。<<符號(hào)表示了信息流動(dòng)的路徑,<<符號(hào)可以多個(gè)疊加連接,
比如:
cout << "hello" << "world";
endl表示當(dāng)前輸出行的結(jié)束,cout
遇到endl
時(shí)會(huì)重啟一行,否則則會(huì)接在同一行后面繼續(xù)輸出。
除了使用endl之外,我們也可以使用換行符來(lái)達(dá)到同樣的效果,如:
cout << "hello" << "world\n";
C++ Primer
當(dāng)中建議在輸出由內(nèi)容的字符串時(shí)使用換行符,而非endl
,其他情況下使用endl
,而非換行符。這兩者絕大多數(shù)情況下是等價(jià)的,在一些特殊情況下可能會(huì)構(gòu)成差異。
如endl
確保程序繼續(xù)運(yùn)行前刷新輸出,而使用"\n"則意味著有時(shí)候需要在輸入信息之后才會(huì)出現(xiàn)提示。當(dāng)然這不是重點(diǎn),我們遇到的概率也非常小,如果實(shí)在搞不清楚也不用糾結(jié),統(tǒng)一使用endl
也行。
到此這篇關(guān)于C++程序簡(jiǎn)單示例的文章就介紹到這了,更多相關(guān)C++程序示例內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
注:文章轉(zhuǎn)自微信公眾號(hào):Coder梁(ID:Coder_LT)
相關(guān)文章
C 創(chuàng)建鏈表并將信息存儲(chǔ)在二進(jìn)制文件中讀取的實(shí)例代碼
C 創(chuàng)建鏈表并將信息存儲(chǔ)在二進(jìn)制文件中讀取的實(shí)例代碼,需要的朋友可以參考一下2013-03-03詳解C++中的const關(guān)鍵字及與C語(yǔ)言中const的區(qū)別
這篇文章主要介紹了C++中的const關(guān)鍵字及與C語(yǔ)言中const的區(qū)別,const將所修飾的變量對(duì)象轉(zhuǎn)化為常量,需要的朋友可以參考下2016-04-04C語(yǔ)言實(shí)現(xiàn)酒店管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03深入解析C語(yǔ)言中常數(shù)的數(shù)據(jù)類型
C語(yǔ)言中常數(shù)的數(shù)據(jù)類型,需要的朋友可以過(guò)來(lái)參考下。希望對(duì)大家有所幫助2013-10-10C語(yǔ)言實(shí)現(xiàn)鏈隊(duì)列代碼
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)鏈隊(duì)列代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07C++隱式類型轉(zhuǎn)換運(yùn)算符operator type()用法詳解
這篇文章主要介紹了C++隱式類型轉(zhuǎn)換運(yùn)算符operator type()用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06C語(yǔ)言實(shí)現(xiàn)猜數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11C語(yǔ)言中函數(shù)聲明與調(diào)用問(wèn)題
以下是對(duì)C語(yǔ)言中的函數(shù)聲明與調(diào)用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08C++詳解如何通過(guò)模板實(shí)現(xiàn)元素的反序
這篇文章主要介紹了C++中模板(Template)實(shí)現(xiàn)元素的反序,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06