最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

【C/C++編程筆記】從頭開始學(xué)習(xí)C ++:初學(xué)者完整指南

2020-08-30 23:48 作者:C語言編程__Plus  | 我要投稿



眾所周知,C ++的學(xué)習(xí)曲線陡峭,但是花時(shí)間學(xué)習(xí)這種語言將為您的職業(yè)帶來奇跡,并使您與其他開發(fā)人員區(qū)分開。您會(huì)更輕松地學(xué)習(xí)新語言,形成真正的解決問題的技能,并在編程的基礎(chǔ)上打下堅(jiān)實(shí)的基礎(chǔ)。

C ++將幫助您養(yǎng)成良好的編程習(xí)慣(即清晰一致的編碼風(fēng)格,在編寫代碼時(shí)注釋代碼,并限制類內(nèi)部的可見性),并且由于幾乎沒有任何抽象,因此您需要定義幾乎每個(gè)使代碼正常工作的屬性;這將迫使您真正了解自己在做什么以及程序?qū)⑷绾斡绊懴到y(tǒng)。

在這篇文章中,我們將帶您學(xué)習(xí)初學(xué)者的學(xué)習(xí)C ++的路線圖,這樣您就可以在開始旅程時(shí)感到自信。

這是我們今天要介紹的內(nèi)容:

C ++簡史

C ++工具和軟件概述

C ++語言和語法簡介

讓我們開始吧!

通過實(shí)踐練習(xí)學(xué)習(xí)C ++

了解世界上最流行的編程語言之一。

C ++簡史

入門C ++的一種好方法是了解其歷史。C ++是最古老的編程語言之一,因此有許多不同的版本。對這段歷史有一定的了解,這將使您處于C ++程序員社區(qū),并使您對其功能有所了解。

C ++編程語言是Bjarne Stroustrup于1979年在貝爾實(shí)驗(yàn)室(Bell Labs)從事博士學(xué)位論文時(shí)發(fā)明的。C ++被設(shè)計(jì)為編程語言C的擴(kuò)展,因此它的原始名稱為“帶有類的C”。Stroustrup的目標(biāo)是為C語言增加靈活性和OOP(面向?qū)ο缶幊蹋?。他包括諸如類,強(qiáng)類型檢查,默認(rèn)函數(shù)參數(shù)和基本繼承之類的功能。該名稱于1983年更改為C ++,該名稱源自++運(yùn)算符。


C ++于1985年發(fā)布用于商業(yè)用途,但尚未標(biāo)準(zhǔn)化。1990年,Borland的Turbo C ++編譯器發(fā)布,其中增加了許多新功能。1998年發(fā)布了第一個(gè)C ++國際標(biāo)準(zhǔn),稱為C ++ 98。

其中包括標(biāo)準(zhǔn)模板庫,提供了通用的編程功能和數(shù)據(jù)結(jié)構(gòu)。根據(jù)反饋,委員會(huì)于2003年修訂了這些標(biāo)準(zhǔn),并將更新語言重命名為C ++ 03。

當(dāng)C ++ 11完成時(shí),該語言在2011年進(jìn)行了另一次修訂。此版本包括正則表達(dá)式支持,新庫,新的循環(huán)語法,auto關(guān)鍵字和新的容器類等功能。從那時(shí)起,又發(fā)布了兩個(gè)修訂版本,即C ++ 14和C ++ 17。

C ++工具概述

為了正確制作C ++程序,您需要熟悉一些工具和軟件:文本編輯器,C ++編譯器,鏈接器和庫。

文字編輯器

為了編寫C ++程序,您需要一個(gè)文本編輯器。將此視為空白的Microsoft Word文檔;這是您實(shí)際編寫代碼的地方。任何文本編輯器都可以使用,甚至計(jì)算機(jī)中內(nèi)置了一些文本編輯器,但是我們建議使用專為編碼而設(shè)計(jì)的文本編輯器。有很多選擇,但是一些C ++開發(fā)人員最常用的文本編輯器是:

記事本++:開放式,輕便,簡單

Atom:免費(fèi),支持多種語言,有限的插件

Sublime Text:$ 80美元,獨(dú)特功能,簡單布局

Bluefish:輕巧,快速,多平臺(tái),支持多種語言


編譯器

編譯器遍歷您的源代碼以完成兩項(xiàng)重要任務(wù):首先,它檢查您的代碼是否符合C ++語言規(guī)則;其次,它將代碼轉(zhuǎn)換為目標(biāo)文件。一些著名的編譯器是GCC,Clang和Visual Studio C ++編譯器。我們不建議您使用Turbo C ++,因?yàn)樗呀?jīng)過時(shí)了。

連接器

編譯器完成工作后,目標(biāo)文件將發(fā)送到鏈接器程序,該程序?qū)⑼瓿扇齻€(gè)任務(wù):首先,它將所有目標(biāo)文件組合到一個(gè)程序中;其次,它將庫文件鏈接到您的程序;第三,它暴露了任何跨文件命名或參考問題。

標(biāo)準(zhǔn)庫

庫本質(zhì)上是預(yù)包裝的代碼束,可以重復(fù)使用。C ++庫稱為C ++標(biāo)準(zhǔn)庫,它與幾乎每個(gè)C ++程序都鏈接。如果您有C ++標(biāo)準(zhǔn)庫未滿足的需求,也可以將其他庫添加到程序中。

集成開發(fā)環(huán)境(IDE)

許多C ++程序員使用IDE代替文本編輯器和編譯器。IDE是一站式C ++編程商店。它包括文本編輯器,鏈接器,編譯器和庫。沒有正確或錯(cuò)誤的編譯器。這一切都取決于您的需求以及哪種布局最適合您。一些流行的IDE是:

代碼::塊:免費(fèi)的按需功能,用戶插件

Visual Studio代碼:開源,強(qiáng)大的功能,跨平臺(tái)

Eclipse:開源,簡單,跨平臺(tái),需要安裝C ++組件


C ++語言和語法簡介

C ++是一種面向?qū)ο蟮木幊陶Z言。這意味著C ++程序圍繞對象和類建模,您可以通過應(yīng)用函數(shù)來控制和操縱它們。OOP語言為程序提供了清晰的結(jié)構(gòu),并幫助開發(fā)人員對實(shí)際問題進(jìn)行建模。

該語言旨在為您提供很多自由和力量,無論好壞。您可以完全控制系統(tǒng)如何利用資源。沒有像Java中那樣的自動(dòng)內(nèi)存管理;您可以在內(nèi)存分配方式(即堆?;蚨眩┲g進(jìn)行選擇;C ++中沒有解釋程序可以阻止您編寫錯(cuò)誤的代碼。

為了開始使用C ++,您需要熟悉語法。這將為其余的C ++旅程鋪平道路,并幫助您創(chuàng)建安全且無錯(cuò)誤的優(yōu)化程序。

讓我們看一些C ++代碼!

查看下面的代碼,您可能想知道所有這些是什么以及它的含義。歡迎使用C ++語法。

什么是語法?語法就像編程語言的語法一樣。它是您將用C ++編寫的所有內(nèi)容的基本基礎(chǔ)。這些是定義如何編寫和理解C ++代碼的規(guī)則。讓我們看一些示例代碼,以熟悉語法。


語法說明

#include?是頭文件庫。頭文件將功能導(dǎo)入程序。我們基本上是在要求程序從名為的文件中復(fù)制內(nèi)容。這代表輸入和輸出流,它定義了我們代碼中對象的標(biāo)準(zhǔn)。

using namespace std表示我們正在使用標(biāo)準(zhǔn)庫(std)中的對象和變量名。該語句通常縮寫為關(guān)鍵字std和運(yùn)算符::。將int main ( )用于指定的主要功能。

這是C ++程序中非常重要的部分。函數(shù)本質(zhì)上為代碼定義了一個(gè)動(dòng)作。大括號(hào)內(nèi)的所有內(nèi)容{ }都會(huì)執(zhí)行。

cout是一個(gè)對象(讀為-發(fā)音)。在此示例中,它定義了我們的輸出:單詞字符串。我們cout在第二行使用編寫一個(gè)新對象。字符\n使文本在另一行執(zhí)行。

包括兩個(gè)將\n\n創(chuàng)建一個(gè)空格。通過編寫return 0,我們告訴程序什么都不會(huì)返回。我們僅輸出文本字符串。請注意,我們使用<<運(yùn)算符來命名對象。半冒號(hào)的;功能就像一個(gè)句點(diǎn)。

從一個(gè)簡單的hello world程序開始,并繼續(xù)涵蓋諸如C ++中的條件語句,循環(huán)和函數(shù)之類的核心概念,然后再討論諸如繼承,類和模板等更高級(jí)的主題,以及更多內(nèi)容。


C ++術(shù)語和詞匯

現(xiàn)在我們已經(jīng)了解了C ++代碼的樣子,讓我們定義一些我們提到的術(shù)語,并向您介紹更多術(shù)語。

關(guān)鍵詞

關(guān)鍵字是預(yù)先確定的名稱,可用于識(shí)別代碼中的內(nèi)容。關(guān)鍵字是特定對象,變量或動(dòng)作的標(biāo)識(shí)符。您也可以創(chuàng)建自己的關(guān)鍵字。以下是一些關(guān)鍵字示例:

goto

float

public

class(1)

int

變數(shù)

變量就像存儲(chǔ)值的容器。要聲明變量,必須type使用正確的關(guān)鍵字為其賦予一個(gè)值和一個(gè)。C ++中的所有變量都需要一個(gè)名稱或標(biāo)識(shí)符。制作標(biāo)識(shí)符時(shí),需要遵循一些基本的語法規(guī)則。

(1)名稱區(qū)分大小寫

(2)名稱可以包含字母,數(shù)字和下劃線

(3)名稱必須以字母或下劃線開頭

(4)名稱不能包含空格或特殊字符(!,#,@等)

(5)名稱不能使用保留關(guān)鍵字

有六種不同類型的變量:

int?myNum?=?5;???????????????//?Stores?integers?(whole?numbers)

float?myFloatNum?=?5.99;?????//?Stores?decimals?loating?point?number

double?myDoubleNum?=?9.98;???//?Floating?point?number

char?myLetter?=?'D';?????????//?Stores?single?characters

bool?myBoolean?=?true;???????//?Stores?Boolean,?values?with?a?true?or?false?state

string?myText?=?"Hello";?????//?Stores?strings?of?text

數(shù)據(jù)類型

數(shù)據(jù)類型是您可以在程序中使用的各種數(shù)據(jù)的分類。數(shù)據(jù)類型告訴我們的變量它們可以存儲(chǔ)什么數(shù)據(jù)。C ++中有三種數(shù)據(jù)類型:

原始數(shù)據(jù)類型:這些是可用于聲明變量的內(nèi)置數(shù)據(jù)。它們包括integer,character,boolean,floating point,double floating point,void,和wide character。

派生數(shù)據(jù)類型:這些派生自原始數(shù)據(jù)類型。它們包括function,reference,array,和pointer。

用戶定義的數(shù)據(jù)類型:這些由您(程序員)定義。

字符串

字符串是C ++中的對象。它們是” “引號(hào)內(nèi)的一組字符,例如我們的”Hello World”字符串。由于它們是對象,因此我們可以對它們執(zhí)行功能,例如length ( )確定字符串長度的功能。

運(yùn)算符

運(yùn)算符是操縱我們的數(shù)據(jù)并執(zhí)行操作的符號(hào)。在C ++中,我們可以重載運(yùn)算符以使它們適用于程序員定義的類。重載操作員基本上意味著一個(gè)操作員一次可以具有多個(gè)功能。C ++語言中有四種運(yùn)算符:

算術(shù)運(yùn)算符用于數(shù)學(xué)運(yùn)算。這些工作就像代數(shù)符號(hào)一樣。

賦值運(yùn)算符用于為我們的變量賦值

比較運(yùn)算符比較兩個(gè)值。

邏輯運(yùn)算符確定值之間的邏輯

cout?<<?x?+?y?//?This?adds?x?to?y

int?x?=?10?//?This?defines?x?as?10

x?<=?y?//?Determines?x?is?greater?than?or?equal?to?y

x?<?4?&&?x?<9?//?Will?return?true?if?both?statements?are?true?about?x

對象

對象是我們可以操作的數(shù)據(jù)的集合。C ++中的對象具有屬性(其特征)和方法(其能力)。您使用類構(gòu)造對象。可以將其視為對象的藍(lán)圖。

您使用class關(guān)鍵字創(chuàng)建一個(gè)類。你必須定義一個(gè)訪問說明符,如public,private或protected。該public關(guān)鍵字指出類是從該類外部訪問。一旦定義了類,就可以定義屬性和對象。下面看一看類和對象的示例。

#include <iostream>

using namespace std;

class Dog //this is the name of our class

{

public:

? ? string name = "rover"; //this is an attribute

? ? string gender? = "male";

? ? int age = 5;

};

int main() {

? Dog dogObj;? ? //here we are making an object of Dog class

? cout << "Dog name is: "<<dogObj.name<<endl;? ? //by using . operator we can access the member of class

? cout << "Dog gender is: "<<dogObj.gender<<endl;? ? //accessing the public members of class Dog in main()

? cout << "Dog age is: "<<dogObj.age<<endl;

}

功能

函數(shù)是被調(diào)用時(shí)運(yùn)行的代碼塊。它們是程序的主力軍,用于對代碼執(zhí)行操作和操縱。

它們對于代碼的可重用性非常重要,有助于更好地模塊化代碼??紤]一下您啟動(dòng)的這些動(dòng)作。在C ++中,有一些預(yù)定的功能,例如main ( )我們最初的示例。

要?jiǎng)?chuàng)建一個(gè)函數(shù),必須給它起一個(gè)名字(稱為聲明)和括號(hào)( )。然后,您可以使用that隨時(shí)調(diào)用此函數(shù)name ( )。

有很多使用函數(shù)的方法。您還可以將返回值附加到函數(shù),以確定函數(shù)是否應(yīng)該輸出任何信息。該void關(guān)鍵字狀態(tài)會(huì)有不歸路。的return關(guān)鍵字,在另一方面,將要求數(shù)據(jù)類型的輸出。


條件語句

這些使您可以檢查是否應(yīng)執(zhí)行代碼塊。C ++中有四個(gè)條件語句:

if:如果滿足特定條件,將執(zhí)行特定操作

else:如果不滿足該條件,則將執(zhí)行特定操作

else if:如果不滿足第一個(gè)條件,將測試新條件

switch:針對值列表測試變量

循環(huán)

循環(huán)類似于條件語句。只要達(dá)到一定條件,它們就會(huì)執(zhí)行代碼塊。C ++中有兩種循環(huán)類型:

while循環(huán):條件返回時(shí),此循環(huán)將繼續(xù)遍歷您的代碼true。

for?循環(huán):當(dāng)您知道要循環(huán)代碼的確切次數(shù)時(shí)使用

現(xiàn)在,您已經(jīng)對C ++語法有了基本的了解,下面讓我們看一些常見問題解答和資源,以使您開始C ++的旅程。

恭喜!您已經(jīng)了解了C ++的基礎(chǔ)知識(shí)!您正逐漸成為一名可聘用的C ++程序員。

自學(xué)C/C++編程難度很大,如果你想更快提升自己的編程能力和編寫項(xiàng)目的水平,歡迎一起共同成長!

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

UP在主頁上傳了一些學(xué)習(xí)C/C++編程的視頻教程,有興趣或者正在學(xué)習(xí)的小伙伴一定要去看一看哦!會(huì)對你有幫助的~


【C/C++編程筆記】從頭開始學(xué)習(xí)C ++:初學(xué)者完整指南的評(píng)論 (共 條)

分享到微博請遵守國家法律
望谟县| 思南县| 化隆| 胶南市| 嘉义县| 大兴区| 尚义县| 潼南县| 秭归县| 江北区| 永平县| 甘孜县| 东安县| 琼海市| 平塘县| 瓦房店市| 邯郸县| 永善县| 石屏县| 伽师县| 浠水县| 临沭县| 东山县| 齐齐哈尔市| 梧州市| 修武县| 吴江市| 齐齐哈尔市| 舒兰市| 沙河市| 五原县| 乌鲁木齐县| 新竹县| 南昌县| 乌审旗| 宜良县| 龙海市| 柏乡县| 错那县| 大竹县| 长兴县|