1.計(jì)算機(jī)和C++編程入門(計(jì)算機(jī)系統(tǒng)、算法优训、編程環(huán)境朵你、典型C++代碼、編碼規(guī)范)

1.計(jì)算機(jī)和C++入門

1.1計(jì)算機(jī)系統(tǒng)

計(jì)算機(jī)要遵循的一系列指令統(tǒng)稱為程序
計(jì)算機(jī)使用的各種程序稱為軟件
組裝一臺(tái)計(jì)算機(jī)所需的物理設(shè)備稱為硬件

硬件

輸入設(shè)備:使用戶將信息發(fā)送給計(jì)算機(jī)的設(shè)備揣非,主要是鍵盤和鼠標(biāo)
輸出設(shè)備:計(jì)算機(jī)將信息發(fā)送給用戶的設(shè)備抡医,常見的是顯示器,有時(shí)將鍵盤和顯示器統(tǒng)稱 終端
存儲(chǔ)器:程序儲(chǔ)存在儲(chǔ)存器中早敬,分為主存儲(chǔ)器和輔助存儲(chǔ)器忌傻,主存儲(chǔ)器相當(dāng)于一個(gè)很長的編號(hào)位置列表,這些位置列表就是儲(chǔ)存位置內(nèi)存位置
CPU:中央處理單元

軟件

操作系統(tǒng)為計(jì)算機(jī)必須完成的不同人物分配計(jì)算機(jī)資源搞监,操作系統(tǒng)實(shí)際是一個(gè)程序水孩,或者是多個(gè)相互協(xié)作的程序。程序是計(jì)算機(jī)需要遵照?qǐng)?zhí)行的一系列指令琐驴。 數(shù)據(jù)是向一個(gè)程序提供的輸入俘种。

字節(jié)和位

主內(nèi)存被劃分稱為字節(jié)的多個(gè)編號(hào)位置,一個(gè)字節(jié)的編號(hào)位置就是該字節(jié)的地址绝淡。每個(gè)字節(jié)都代表一個(gè)能容納8個(gè)二進(jìn)制位的內(nèi)存位置宙刘。

主存儲(chǔ)器

主存儲(chǔ)器簡稱內(nèi)存,也可以簡稱為RAM牢酵,也就是隨機(jī)存取存儲(chǔ)器

輔助存儲(chǔ)器

輔助存儲(chǔ)器能在計(jì)算機(jī)使用之后(和之前)持久性地保存數(shù)據(jù)悬包。

1.2編程和問題求解

算法

用于解決問題的一系列準(zhǔn)確的指令稱為算法,通常也可以稱為方法馍乙、指令布近、過程和例程等。

1.3C++入門

面向?qū)ο蟪绦蛟O(shè)計(jì)

C++完全支持面對(duì)對(duì)象的程序設(shè)計(jì)潘拨,包括面對(duì)對(duì)象開發(fā)的四大特性:封裝吊输、抽象、繼承铁追、多態(tài)

C++的起源

BCPLC語言->B語言->C語言->C++

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

標(biāo)準(zhǔn)的C++有三個(gè)重要部分組成:

  • 核心語言季蚂,提供了所有構(gòu)件塊,包括變量、數(shù)據(jù)類型和常量等等
  • C++標(biāo)準(zhǔn)庫扭屁,提供了大量的函數(shù)算谈,用于操作文件、字符串等等
  • 標(biāo)準(zhǔn)模板庫(STL)料滥,提供了大量的方法然眼,用于操作數(shù)據(jù)結(jié)構(gòu)等

C++的開發(fā)工具

記事本(Notepad++)+命令行
Visual C++ 6.0
VS2015
Code::Blocks
其他開發(fā)工具
DEV C++、CLion葵腹、C-Free高每、Xcode、C4droid

一個(gè)典型的C++代碼

#include <iostream>
using namespace std;

int main()
{
cout <<"hello World!"<<;
return 0;
}
  • 以#開頭的語句成為預(yù)處理命令践宴,告訴編譯器到哪里尋找與程序中使用的特定項(xiàng)目有關(guān)的信息鲸匿、#include語句不是必須的,但如果一旦程序中有該語句阻肩,就必須把它放到程序的開始處

  • 將iostream文件的內(nèi)容添加到程序中带欢,iostream中包含了有關(guān)輸入輸出語句的函數(shù)

  • using namespeace std為使用命名空間,std是standard(標(biāo)準(zhǔn)的意思)的縮寫烤惊,std::cout或std::endl代表從屬的關(guān)系

  • 所謂命名空間(namespeace)是一種將程序庫名稱封裝起來的方法乔煞。通過這種方法,可以避免和應(yīng)用程序發(fā)生命名沖突的問題(所謂命名沖突時(shí)指程序內(nèi)兩個(gè)不同的實(shí)體具有相同名稱柒室,導(dǎo)致程序無法區(qū)分兩者渡贾,命名沖突發(fā)生時(shí),程序必須等到命名沖突獲得決議之后才得以繼續(xù)執(zhí)行)伦泥。命名空間像是在沖多名稱的課件范圍之間暑期的一道圍墻剥啤。

  • <<符號(hào)表示把字符串"Hello World!"發(fā)送給cout打印锦溪。endl是控制符不脯,(end line的縮寫)表示重起一行(\n)。

  • 與其說是程序顯示了一條信息刻诊,不如說它s將一個(gè)字符插入到了輸出流中
    防楷。從概念上看,輸出是一個(gè)流则涯,可以理解成從程序流出的一系列字符复局。cout右邊<<符號(hào)是插入運(yùn)算符,可以將右側(cè)信息插入流中

  • 頭文件命名約定

頭文件類型 約定 示例 說明
C舊式風(fēng)格 以.h結(jié)尾 stdio.h/math.h C粟判、C++通用
C++舊式風(fēng)格 以.h結(jié)尾 iostream.h C++可以使用
C++新式風(fēng)格 沒有擴(kuò)展名 iostream C++使用亿昏,需要使用namespeace
轉(zhuǎn)換后的C 加上前綴c,沒有擴(kuò)展名 cmath/cytype等 C++使用
  • endl 和 \n的 區(qū)別
    1.\n為純粹的換行
    2.endl為換行和確保程序立刻輸出(清空緩沖區(qū))

  • cin:輸入語句档礁,讀作“see-in”,用于輸入

  • cout:輸出語句角钩,讀作“see-out”,用于輸出

編程提示

<<和>>表示數(shù)據(jù)移動(dòng)的方向

cin >> number;
cout << number;

C++編碼規(guī)范

1.每條語句占一行
2.每個(gè)函數(shù)都有一個(gè)開始和結(jié)束花括號(hào),花括號(hào)各占一行
3.函數(shù)中的語句相對(duì)于花括號(hào)進(jìn)行縮進(jìn)
4.與函數(shù)名稱相關(guān)的小括號(hào)周圍沒有空白

編譯和執(zhí)行過程

  1. 編譯(預(yù)處理->編譯->目標(biāo)文件)
    形成可執(zhí)行代碼/文件递礼〔蚁眨可執(zhí)行代碼是編譯器的輸出結(jié)果,文件擴(kuò)展名為“.o”或“.obj”
  2. 鏈接
    將目標(biāo)代碼跟C++函數(shù)庫相連接脊髓,并將源程序的庫代碼與目標(biāo)代碼合并辫愉,形成最終可執(zhí)行的二進(jìn)制代碼(可執(zhí)行程序)
  3. 執(zhí)行
    在特定的機(jī)器環(huán)境下運(yùn)行C++應(yīng)用程序

各種程序錯(cuò)誤

語法錯(cuò)誤:編譯器能夠捕捉特定類型的錯(cuò)誤,并在檢測到錯(cuò)誤后輸出一條錯(cuò)誤信息将硝,表示程序違反了編譯語言的語法規(guī)則恭朗,比如遺漏分號(hào)。
警告信息:表明代碼從技術(shù)上說沒有違反語法規(guī)則依疼,但出乎尋常冀墨,所以它可能是個(gè)錯(cuò)誤,編譯器相當(dāng)于在說:“你真的是這個(gè)意思嗎?”
邏輯錯(cuò)誤:基礎(chǔ)語法錯(cuò)誤或者將所發(fā)翻譯成C++語言的錯(cuò)誤涛贯,如將*錯(cuò)誤的寫成了+

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诽嘉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子弟翘,更是在濱河造成了極大的恐慌虫腋,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稀余,死亡現(xiàn)場離奇詭異悦冀,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)睛琳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門盒蟆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人师骗,你說我怎么就攤上這事历等。” “怎么了辟癌?”我有些...
    開封第一講書人閱讀 169,078評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵寒屯,是天一觀的道長。 經(jīng)常有香客問我黍少,道長寡夹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,979評(píng)論 1 299
  • 正文 為了忘掉前任厂置,我火速辦了婚禮菩掏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昵济。我一直安慰自己智绸,他們只是感情好或颊,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著传于,像睡著了一般囱挑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沼溜,一...
    開封第一講書人閱讀 52,584評(píng)論 1 312
  • 那天平挑,我揣著相機(jī)與錄音,去河邊找鬼系草。 笑死通熄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的找都。 我是一名探鬼主播唇辨,決...
    沈念sama閱讀 41,085評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼能耻!你這毒婦竟也來了赏枚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,023評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤晓猛,失蹤者是張志新(化名)和其女友劉穎饿幅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體戒职,經(jīng)...
    沈念sama閱讀 46,555評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡栗恩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洪燥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磕秤。...
    茶點(diǎn)故事閱讀 40,769評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖捧韵,靈堂內(nèi)的尸體忽然破棺而出市咆,到底是詐尸還是另有隱情,我是刑警寧澤纫版,帶...
    沈念sama閱讀 36,439評(píng)論 5 351
  • 正文 年R本政府宣布床绪,位于F島的核電站,受9級(jí)特大地震影響其弊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜膀斋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評(píng)論 3 335
  • 文/蒙蒙 一梭伐、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧仰担,春花似錦糊识、人聲如沸绩社。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愉耙。三九已至,卻和暖如春拌滋,著一層夾襖步出監(jiān)牢的瞬間朴沿,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評(píng)論 1 274
  • 我被黑心中介騙來泰國打工败砂, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赌渣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評(píng)論 3 378
  • 正文 我出身青樓昌犹,卻偏偏與公主長得像坚芜,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子斜姥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容