程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++ Primer 第一章 快速入門筆記

C++ Primer 第一章 快速入門筆記

編輯:C++入門知識

 

   C++ Primer 第一章 快速入門

 

      看到很多人學習這本書都會寫下學習過程筆記!因為覺得這是不錯的做法,也可以鞏固自己學習的知識,還能在以後的學習這本時發現問題,到時也可以到回來修改和補充。

      自己在圖書館看完了第一章,小錢問我感覺會不會悶,我說我覺得很爽!我不打算很快地把它看完,我要把每個知識點都掌握,所以剛開始會看得很慢,我也不急,就像小錢說的穩扎穩打,一步一個腳印一樣。因為有C++基礎,所以看這本書並不困難,看過之後,發現這本書確實不適合新手去讀,最好要有點基礎才行,好了廢話不多說,開始寫這一章的筆記了。

本章呢,介紹C++大部分基本要素:內置類型、庫類型、類類型、變量、表達式、語句和函數。這一章主要是做一個緩沖,後面的章節才慢慢闡明本章的主題。

1.1節-編寫簡單的C++程序

一個C++程序都包含一個或多個函數,其中必須有一個命名為main。

函數由執行函數功能的語句序列組成。

main函數的返回值必須是int型,該類型表示整數。int類型是內置類型,即該類型是由C++語言定義的。

C++中多數語句以分號作為結束標記。(容易被忽略)

return語句帶上一個值時,這個值就是函數的返回值。

返回值類型必須和函數的返回類型相同。

——編譯與執行程序

這本書程序好像是調用GUN編譯器,我一直用的是Visual C++ 6.0,算是一個比較老的編譯器,最近開始用Visual Studio系列的編譯器,還不怎麼會用,有點悲催!

——程序源文件命名規范

源文件的名字由文件名和文件後綴兩部分組成。

visual Studio 編譯器後綴形式是(.cpp)

 

1.2節——初窺輸入/輸出

這種功能是由標准庫提供的(iostream庫)

istream和ostream,分別表示輸入流和輸出流

標准輸入與輸出對象分別是cin和cout,標准庫還定義了另外兩個ostream對象分別命名為cerr和clog;

課本代碼如下:

#include<iostream>

int main()

{

    std::cout<<"Enter two number:"<<std::endl;

int v1,v2;

std::cin>>v1>>v2;

std::cout<<"The sum of"<<v1<<"and"<<v2<<"is"<<v1+v2<<std::endl;

return 0;

}

程序的第一行是一個預處理指示,尖括號裡的名字是一個頭文件

1.寫入到流

形式:(std::cout);<<是輸出操作符

 

endl是一個特殊值,稱為操作符,具有換行的效果,並刷新與設備相關聯的緩沖區。

2.使用標准庫中的名字

命名空間(namespace)std,這本書的輸出形式跟譚伯伯那本《C++程序設計》輸出有點區別,譚伯伯那本在程序開頭是寫

(using namespace std;),然後輸出就直接有cout,而這本書是把命名空間std作為前綴,寫法使用了作用域操作符::.

 

3.讀入流

形式:(std::cin);>>是輸入操作符

 

4.完成程序

就是輸出結果;

注解:在寫C++程序時,大部分出現空格的地方可用換行符代替。但是有兩個例外:

1.字符串面值中的空格不能用換行符代替(" ")。

2.預處理指示中不允許出現空格符(#include" ")。

 

1.3——關於注釋

單行注釋以雙斜線(//)開頭,另一種定界符,注釋對(/**/),這種注釋以"/*"開頭,以"*/"結尾。

注釋對一般用於多行解釋,而雙斜線注釋則常用於半行或單行的標記。(注釋對不可嵌套)

 

1.4——控制結構

while語句

代碼:

//當val>10時跳出循環

while(val<=10){

sum+=val;

++val;

}

由以上代碼可知while通過測試條件(condition)和執行相關的表達式語句(while_body_statement)來重復執行,直到條件為假。

條件是一個可求值的表達式,可以測試其結果,如果結果值為非0,那麼條件為真,值為0,那麼條件為假。

for語句

代碼:

for(int val=1;val<=10;++val)     

 

sum+=val;

 

上述代碼包含for語句頭和for語句體兩部分

for語句頭由三部分組成:一個初始化語句,一個條件,一個表達式。for(循環變量賦初值;循環條件;循環變量增值)語句

執行順序:

1.初始化語句

2.循環條件

3.語句

4.循環變量增值

If語句

一般形式:

if(表達式)語句1

else 語句2

 

1.5類的簡介

使用類時需要清楚三個問題

1.類的名字是什麼?

2.它在哪裡定義?

3.它支持什麼操作?

 

Sales_item類

1.Sales_item對象上的操作

每個類定義一種類型,類型名與類名相同。

定義類類型的變量,當寫下Sales_item item;

就表示item是類型Sales_itemd的一個對象。

 

Sales_item是一種自定義類型。當使用自定義頭文件,我們采用雙引號,(" ")把頭文件名括起來。

初窺成員函數

什麼是成員函數?它屬於一個類的成員,出現在類體中,這是區別一般函數的,成員函數可以訪問本類任何成員,可以引用在本作用域中的有效數據。當調用成員函數,要指定函數要操作的對象,語法是使用點操作符(.): item1.same_isbn;

 

 

1.6——C++程序

之前所介紹的知識只是在做一些知識儲備,學完這章已經可以解決最初的書店問題了

 

<span style="font-family:KaiTi_GB2312;"></span><pre class="cpp" name="code">//C++程序 

#include<iostream> 

#include “Sales_item.h” 

 

int main() 

 

{   

 

     Sales_item total,trans;//定義兩個Sale_item類對象 

//讀入交易 

if(std::cin>>total){ 

 

while(std::cin>>trans) 

//ISBN相同 

if(total.same_isbn(trans)) 

//更新total 

total=total+trans; 

//ISBN不同 

else{ 

 

std::cout<<total<<std::endl; 

//使用剛讀入的交易重置total 

total=trans; 

 

 

std::cout<<total<<std::endl; 

 

}else{ 

 

std::cout<< “No data?!”<<std::endl; 

 

return -1; 

 

 

return 0; 

 

 

 

 

 

本章介紹了足夠多的知識點,我也很清楚地把這些知識點簡要的羅列了一遍,雖然寫這篇筆記花了我不是太多時間,但我還是覺得很浪費時間,進度很慢,基本計劃就是看完一章後馬上寫筆記,以後盡量只把重點難點給記錄下來,還有一些易錯知識點,還有一些經常犯的錯誤。第一篇筆記,有了一個很好的開頭,接下來的會更加努力去寫

摘自 wwj的夢想之路

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved