C++自学教程第一课——你好世界,我是柠檬鲸。
C++系列教程現(xiàn)在在自己學(xué)校的一個博客平臺發(fā)布,幾個朋友一起搭建的
[C++基礎(chǔ)教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/)
下面是原來的正文
?
大家好啊,一年一度的檸檬節(jié)——額,好像不止一度的檸檬節(jié),它又到了!在這個悲傷的日子,我決定開啟一個C++的教程,主要是為了復(fù)習(xí)自己的C++知識,另外順便給新手們一個了解C++的方向。
?本教程主要面向C++初學(xué)者,如果你先前學(xué)過C語言或者Java,學(xué)起來將會比較輕松一點(diǎn)。
?C++是C語言的繼承,它既可以進(jìn)行C語言的過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。
在我真正接觸編程之前,我向往的一直是Java,因?yàn)楫?dāng)時喜歡玩Minecraft,而Minecraft的mod開發(fā)需要用到Java,然而在我認(rèn)識了C++以后,我再也不想碰Java了。
C++的好處和壞處此處也不科普,自行百度。
廢話少說,正片開始。
?一、創(chuàng)建一個C++項(xiàng)目
雖然我不是很喜歡MS的VS,但不得不說這玩意確實(shí)很好用。另外Visual Studio的顏值確實(shí)高,雖然我更喜歡Vs code,但是VS code用GNU GCC編譯的C++程序中文亂碼太煩了,所以還是直接用了VS2019進(jìn)行C++的開發(fā)。
第一步,打開Visual Studio,單擊創(chuàng)建新項(xiàng)目。
第二步,選擇空項(xiàng)目并點(diǎn)擊下一步。
第三步,為項(xiàng)目起個名字、設(shè)定位置并且點(diǎn)擊下一步。
這樣我們就生成了一個空項(xiàng)目。
第四步,在解決方案資源管理器中的 項(xiàng)目名>>源文件 文件夾上右鍵 添加>>新建項(xiàng) 。
第五步,在 添加新項(xiàng)窗口中左側(cè)點(diǎn)擊Visual C++,選擇中央的 C++文件,起個名字然后點(diǎn)擊添加。
二、HelloWorld!我是一只檸檬鯨
第一步,在代碼區(qū)輸入以下內(nèi)容:
1 #include <iostream> // 包含標(biāo)準(zhǔn)輸入輸出流的庫 2 3 int main(int argc, char* argv[]) // 標(biāo)準(zhǔn)MAIN函數(shù)開場 4 { 5 std::cout << "HelloWorld!" << std::endl; // 單個字符串輸出并換行 6 std::cout << "我是一只"; // 單個字符串輸出并不換行 7 std::cout << "檸檬" << "鯨" << std::endl; // 多個字符串輸出并換行 8 return 0; 9 }
第二步,選擇Debug X86 ,并且點(diǎn)擊本地Windows調(diào)試器。
第三步,控制臺窗口彈出,顯示輸出結(jié)果。
PS:如果出現(xiàn)編譯問題,先檢查代碼是否正確,然后仔細(xì)對照我前面的操作,看看是否有出入。
三、代碼分析
第一行:
?1 #include <iostream>?
include是一個計(jì)算機(jī)專業(yè)術(shù)語,一指C/C++中包含頭文件命令,用于將指定頭文件嵌入源文件中。效果等同于將后面括號內(nèi)包含的文件的全部內(nèi)容在#include的位置全部寫一遍。
iostream的意思是輸入輸出流,直接點(diǎn)說就是in(輸入) out(輸出) stream(流),取in、out的首字母與stream合成。這個庫的作用就是讓你能夠在控制臺進(jìn)行輸入輸出。
第二行:
?1 // 這是一個空行?
第二行打個空行純屬個人愛好,因?yàn)槲矣X得這樣看起來更好看一些。
第三行:
?1 int main(int argc, char* argv[])?
首先我們要知道這個是一個函數(shù),形式上類似數(shù)學(xué)中的函數(shù),如:f(x) = x + 1,f(1) = 2;
int 表示返回類型是整型,整型表示某變量或常量里面的值只能是整數(shù)而不能是小數(shù)或者文本等。意思就是后面這一串代碼最終會變成一個數(shù)字。就像是上面提到的數(shù)學(xué)函數(shù),f(1)其實(shí)最終是一個2。
main 是這個函數(shù)的名字。main是C/C++程序的入口,程序從main處開始運(yùn)行。函數(shù)名的意義就類似數(shù)學(xué)中,f(x),g(x)等,函數(shù)名不同,一般其函數(shù)(表達(dá)式)也不同。
(int argc, char* argv[]) 是函數(shù)的參數(shù)列表,就類似于 f(x) 中的 x ,就是向函數(shù)傳遞的值。在C++原生代碼中,int argc, char* argv[] 不是必須的,也就是說你可以只寫一個 int main(),但是建議加上,因?yàn)閷W(xué)習(xí)某些庫多半要用到。
第四、九行:
?1 { 2 // 函數(shù)體 3 }?
我們可以看到main函數(shù)后面的內(nèi)容都被一對花括號{}包裹,這對花括號包含的內(nèi)容就是函數(shù)體,就像是之前的數(shù)學(xué)函數(shù)的例子, f(x) = x + 1, 其中 x + 1 就是函數(shù)體。
第五行:
?1 std::cout << "HelloWorld!" << std::endl;?
std?在C++語言中,std其實(shí)就是standard標(biāo)準(zhǔn)的意思。std是C++預(yù)置的一個命名空間,其中包含了許多必要的函數(shù),比如cout、cin、string,你可以在你的代碼之前加上
?1 using namespace std;?
這樣就可以直接使用cout、cin等函數(shù),而不需要std::cout、std::cin。
命名空間,也就是namespace的作用是劃定一塊區(qū)域,用來定義變量等等,然后這些變量只在這片區(qū)域有效,離開這片區(qū)域必須使用預(yù)作用符,比如std::cout,這樣就有效避免因?yàn)樽兞棵嗤瑢?dǎo)致代碼沖突的問題,因此并不建議使用using namesapce,因?yàn)榭赡軐?dǎo)致重復(fù)定義。
std::cout 的作用是在控制臺打印輸出后面所有被<<限定的內(nèi)容,直到本行結(jié)束。std::cout本身不換行,因此存在std::endl用來換行,而std::ends可以打出空格。
分號的作用是一行代碼的結(jié)束。
后面兩行的意思相差不大,因此不再贅述。
第八行:
?1 return 0;?
這一行的意義是函數(shù)最終返回了一個值,就像之前的f(1)最終等于2,這里返回一個0,意思是當(dāng)函數(shù)結(jié)束,就返回一個0。猶豫在這個例子中,和main函數(shù)對接的是控制臺,因此返回的0會在控制臺出現(xiàn)。
如果你return設(shè)置為1,那么返回的就是1,只要你設(shè)定的返回值符合返回類型,都可以返回對應(yīng)類型的值。
return是十分重要的功能,不可忽視,因?yàn)楹竺孢\(yùn)用到函數(shù),都需要返回值來進(jìn)行相應(yīng)操作。
?
C++的第一課就這樣吧,希望大家能夠?qū)W到一些知識,如有錯誤,大佬請指正,謝謝。
轉(zhuǎn)載于:https://www.cnblogs.com/Liuary/p/10896255.html
總結(jié)
以上是生活随笔為你收集整理的C++自学教程第一课——你好世界,我是柠檬鲸。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 紫禁繁花服务器维护,紫禁繁花跨服活动内容
- 下一篇: 0基础 C++ 第一章(1)你好世界