久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C++ Primer Plus學(xué)習(xí)筆記之開始學(xué)習(xí)(雙斜杠打頭注釋一行注釋可以單獨一行也可以和代碼同行在符號/*和*/之間是注釋可以跨行)

 山峰云繞 2022-10-14 發(fā)布于貴州

    (啟動代碼是由編譯器添加都程序中的是程序和操作系統(tǒng)之間的橋梁如果未定義main()函數(shù)程序?qū)⒉煌暾?/span>)通過重載,,同一個運算符可以擁有不同的含義,。編譯器通過上下文來確定運算符的含義,。


前言

https://www.toutiao.com/article/7154363803013497359/?log_from=6880bcd60f8c3_1665760065259


(雙斜杠打頭注釋一行注釋可以單獨一行也可以和代碼同行在符號/*和*/之間是注釋可以跨行)


個人覺得學(xué)習(xí)編程最有效的方法是閱讀專業(yè)的書籍,,通過閱讀專業(yè)書籍可以構(gòu)建更加系統(tǒng)化的知識體系,。

一直以來都很想深入學(xué)習(xí)一下C++,將其作為自己的主力開發(fā)語言?,F(xiàn)在為了完成自己這一直以來的心愿,,準(zhǔn)備認真學(xué)習(xí)《C++ Primer Plus》。

為了提高學(xué)習(xí)效率,,在學(xué)習(xí)的過程中將通過發(fā)布學(xué)習(xí)筆記的方式,,持續(xù)記錄自己學(xué)習(xí)C++的過程。

本篇前言

學(xué)習(xí)計算機語言,,應(yīng)從程序的基本結(jié)構(gòu)開始學(xué)起,。這就猶如建房屋,首先需要打地基,、搭框架,。

一,、進入C++

首先使用C++工具cout生成字符輸出,寫一個顯示消息的簡單C++程序,。通過//可以對代碼提供注釋,,編譯器會忽略它們。

C++對大小寫敏感,。

程序清單2.1 myfirst.cpp

//myfirst.cpp -- 顯示消息
#include <iostream> //預(yù)處理器指令
int main() //函數(shù)頭
{ //函數(shù)體開始
    using namespace std; //使定義可見
    cout<<"一起來學(xué)習(xí)C++吧,。"; //消息
    cout<<endl; //開始新的一行
    cout<<"我想你不會拒絕的!"<<endl;       //更多的輸出
    return 0; //終止main()
} //函數(shù)體結(jié)束

通過之前《CMake學(xué)習(xí)筆記(一)》文章,,可以得到以上代碼的運行結(jié)果:

一起來學(xué)習(xí)C++吧,。
我想你不會拒絕的!

1,、mai()函數(shù)

將程序清單2.1進行簡化,,就得到如下代碼結(jié)構(gòu):

在C++中,每條完整的指令都稱為語句,,所有語句都以分號結(jié)束,。

main()中最后一條語句叫作返回語句(return statement),它的作用是結(jié)束當(dāng)前函數(shù),。編譯器到達mian()函數(shù)末尾沒有遇到返回語句,,則默認返回語句為return 0;(默認返回語句僅適用mian()函數(shù))。

通常情況下在運行C++程序時,,main()函數(shù)將被啟動代碼調(diào)用,,而啟動代碼是由編譯器添加都程序中的,是程序和操作系統(tǒng)之間的橋梁,。如果未定義main()函數(shù),,程序?qū)⒉煌暾?/p>

2、C++注釋

C++有兩種注釋:

  • 雙斜杠(//)打頭,,注釋一行,。注釋可以單獨一行,也可以和代碼同行,。

  • 在符號/**/之間,,注釋可以跨行。

注釋不僅有助于他人理解這些代碼,,更有助于開發(fā)者自己理解(有開發(fā)經(jīng)驗的小伙伴對這一點一定有很深刻的認識),。

3、C++預(yù)處理器和iostream文件

程序清單2.1 使用了#include編譯指令:

#include <iostream> //預(yù)處理器指令

該編譯器指令導(dǎo)致預(yù)處理器將iostream文件的內(nèi)容添加到程序中,。這是一種典型的預(yù)處理器操作:在源代碼被編譯之前,,替換或添加文本。

4,、頭文件名

頭文件(被包含在文件起始處)也稱包含文件,,因為它們被包含在其他文件中。C++編譯器自帶很多頭文件,,每個頭文件都提供了一組特定的工具,。

頭文件命名約定:

頭文件類型

約定

示例

說明

C++舊式風(fēng)格

以.h結(jié)尾

iostream.h

C++程序可以使用

C舊式風(fēng)格

以.h結(jié)尾

math.h

C、C++程序可以使用

C++新式風(fēng)格

沒有擴展名

iostream

C++程序可以使用,,使用namespace std

轉(zhuǎn)換后的C

加上前綴c,,沒有擴展名

cmath

C++程序可以使用,可以使用不是C的特性,,如namespace std

5,、名稱空間

名稱空間支持是一項C++特性,旨在讓編寫大型程序以及將多個廠商現(xiàn)有的代碼組合起來的程序時更容易,,同時它也有助于組織程序,。

為了解決名稱空間引入后的代碼轉(zhuǎn)換問題,using編譯指令應(yīng)運而生,。

通過以下代碼可以將iostream中的std命名空間中的所有名稱引入當(dāng)前程序代碼文件中:

using namespace std;

如果不引入名稱空間,,則需要將名稱空間用兩個:與工具名相連,來使用工具:

std::cout<<"Hello World."<<std::endl;

6,、使用cout進行C++輸出

程序清單2.1 中使用了cout進行C++輸出:

cout<<"一起來學(xué)習(xí)C++吧,。"; //消息

cout的對象屬性包括一個插入運算符(<<),它可以將其右側(cè)的信息插入到流中,。

運算符重載:插入運算符(<<)與按位左移運算符(<<)看上一去一樣,,這就是運算符重載。通過重載,,同一個運算符可以擁有不同的含義,。編譯器通過上下文來確定運算符的含義。

(1)控制符endl

endl是一個特殊的C++符號,,表示一個重要的概念:重起一行,。諸如endl等對于cout來說有特殊含義的特殊符號被稱為控制符(manipulator)。

cout一樣,,endl也在頭文件iostream中定義的,,切同位于名稱空間std中。

(2)換行符

以下兩行代碼都有換行的作用:

cout<<"\n";
cout<<endl;

endl可以確保程序繼續(xù)運行前刷新輸出,,而\n不能提供這樣的保證,。

換行符是一種被稱為“轉(zhuǎn)義序列”的按鍵組合。

7,、C++源代碼的格式化

在C++中,,分號標(biāo)示了語句的結(jié)尾,不能把空格,、制表符或回車放在元素(比如名稱)中間,。

二,、C++語句

C++程序是一組函數(shù),而每個函數(shù)又是一組語句,。程序清單2.2提供了兩種新的語句,,分別是聲明語句創(chuàng)建變量,賦值語句給變量提供值,。

程序清單2.2 carrots.cpp

// carrots.cpp -- 食品加工項目
//使用并顯示一個變量
#include <iostream>
int main()
{
    using namespace std;
    int carrots; //聲明一個整型變量
    carrots = 25; //給變量賦值
    cout << "我有";
    cout << carrots;//顯示變量的值
    cout << "個胡蘿卜,。";
    cout << endl;
    carrots = carrots - 1;//修改變量的值
    cout << "現(xiàn)在我有" << carrots << "個胡蘿卜。" << endl;
    return 0;
}

1,、聲明語句和變量

在程序清單2.2中包含了這樣一條聲明語句:

int carrots;

這條語句提供了兩項信息:需要的內(nèi)存以及該內(nèi)存單元的名稱,。具體地說,這條語句指出程序需要足夠的空間來存儲一個整數(shù),,在C++中用int表示整數(shù),。編譯器負責(zé)分配和標(biāo)記內(nèi)存的細節(jié)。

該聲明語句指出,,此后程序?qū)⑹褂妹Qcarrots來標(biāo)識存儲在該內(nèi)存單元中的值,。carrots被稱為變量,因為它的值可以修改,。在C++中,,所有變量都必須在首次使用前聲明它。

在C++中,,所有變量都必須聲明,。

2、賦值語句

在程序清單2.2中包含了下面這條賦值語句,,表示將整數(shù)25賦值給變量carrots表示的內(nèi)存單元:

carrot = 25;

符號=叫作賦值運算符,。

3、cout的新花樣

程序清單2.2中使用cout來打印變量,,該變量是一個整數(shù):

cout << carrots;

cout使用C++面向?qū)ο蟮奶匦?,實現(xiàn)能夠自動識別類型。

三,、其他C++語句

程序清單2.3在程序清單2.2的基礎(chǔ)上進行了擴展,,使用cin在程序運行時輸入一個值:

// getinfo -- 輸入和輸出
#include <iostream>
int main()
{
    using namespace std;
    int carrots;
    cout << "你有幾個胡蘿卜?" << endl;
    cin >> carrots; // C++輸入
    cout << "這兒還有兩個,。";
    carrots = carrots + 2;
    //在下一行連接輸出
    cout << "現(xiàn)在你有" << carrots << "個胡蘿卜,。" << endl;
    return 0;
}

該程序的運行結(jié)果:

你有幾個胡蘿卜?
100
這兒還有兩個?,F(xiàn)在你有102個胡蘿卜,。

該程序包含兩項特性:用cin來讀取鍵盤輸入以及通過cout進行輸出拼接。

(1)使用cin

通過使用cin可以將鍵盤輸入的值賦值給變量。

cout一樣,,cin也是一個智能對象,。可以將鍵盤輸入的一系列字符轉(zhuǎn)換為接收變量能夠接受的形式,。

(2)使用cout進行拼接

iostream文件定義了<<運算符,,以便可以像下面這樣拼接輸出:

cout << "現(xiàn)在你有" << carrots << "個胡蘿卜。" << endl;

(3)類簡介

類是用戶定義的一種數(shù)據(jù)類型,。要定義類,需要描述它能夠表示什么信息和可對數(shù)據(jù)執(zhí)行那些操作,。類之于對象就像類型之于變量,。也就是說,類定義描述的是數(shù)據(jù)格式及其用法,,而對象則是根據(jù)數(shù)據(jù)格式規(guī)范創(chuàng)建的實體,。換句話說,如果說類就好比所有著名演員,,則對象就好比某個著名的演員,。

coutostream類對象。

四,、函數(shù)

C++函數(shù)分兩種:有返回值和沒有返回值的,。

1、使用有返回值的函數(shù)

有返回值的函數(shù)生成一個值,,而這個值可賦給變量或在其他表達式中使用,。

在標(biāo)準(zhǔn)C/C++庫中有一個名為sqrt()的函數(shù),它返回平方根,。

x = sqrt(9); // 返回值3并賦值給x

以上語句中的表達式sqrt(9)將調(diào)用sqrt()函數(shù),,表達式sqrt(9)被稱為函數(shù)調(diào)用,被調(diào)用的函數(shù)叫作被調(diào)用函數(shù)(called function),,包含函數(shù)調(diào)用的函數(shù)叫作調(diào)用函數(shù)(calling function),。

我們將以上語句稍微拓展完善一下:

//引入了一個新的cmath頭文件和double類型,這些都先忽略
#include <cmath> // 或者 math.h
int main()
{
    double x = sqrt(9); // 返回值3并賦值給x
}

以上程序中main()就是調(diào)用函數(shù),,sqrt()就是被調(diào)用函數(shù),。圓括號中的值9就是函數(shù)sqrt()的參數(shù),函數(shù)sqrt()的返回值就是賦值給變量x的值,。

在使用函數(shù)之前,,C++編譯器必須知道函數(shù)的參數(shù)類型和返回值類型。C++提供這種信息的方式就是使用函數(shù)原型語句(通常做法是把原型放置到main()函數(shù)定義的前面),。函數(shù)原型之于函數(shù)就像比變量聲明之于變量——指出涉及的類型,。sqrt()函數(shù)原型就像這樣:

double sqrt (double x);

在程序中使用sqrt()函數(shù)時,有兩種方法提供原型:

  • 在源代碼文件中輸入函數(shù)原型;

  • 包含頭文件cmath(老系統(tǒng)為math.h),,其中定義了原型,。

函數(shù)原型和函數(shù)定義的區(qū)別: 原型只描述函數(shù)接口(發(fā)送給函數(shù)的信息和返回的信息),而定義包含了函數(shù)的代碼,。C和C++將庫函數(shù)的這兩項特性分開了,,庫文件包含函數(shù)的編譯代碼,頭文件則包含原型,。

C++庫函數(shù)存儲在庫文件中,。編譯器編譯程序時,它必須在庫文件搜索到使用的函數(shù),。至于搜索哪些庫文件,,將因編譯器而異。

2,、函數(shù)變體

  • 有些函數(shù)需要多項信息,。這些函數(shù)使用多個參數(shù),參數(shù)間用逗號分開,。

  • 另外有一些函數(shù)不接受任何參數(shù),。在C++中,函數(shù)調(diào)用必須包括括號,,即使沒有參數(shù),。

  • 有些函數(shù)有返回值。

  • 還有一些函數(shù)沒有返回值,。

3,、用戶定義的函數(shù)

通過以下代碼,可以實現(xiàn)通過函數(shù)名來調(diào)用用戶定義的函數(shù):

程序清單2.5 ourfunc.cpp

//ourfunc.cpp -- 定義自己的函數(shù)
#include <iostream>
void simon(int); // simon()函數(shù)原型
int main()
{
    using namespace std;
    simon(10); //調(diào)用simon()函數(shù)
    cout << "選擇一個整數(shù):";
    int count;
    cin >> count;
    simon(count); //再次調(diào)用
    cout << "完成,!" << endl;
     return 0;
}
void simon(int n) //定義simon()函數(shù)
{
    using namespace std;
    cout << "西蒙說他有" << n << "個胡蘿卜" << endl;
} //沒有返回值得函數(shù)不需要返回語句

通過main()函數(shù)兩次調(diào)用simon()函數(shù),,一次的參數(shù)為100,另一次的參數(shù)為變量count,。運行情況如下:

西蒙說他有100個胡蘿卜
選擇一個整數(shù)130
西蒙說他有130個胡蘿卜
完成,!

(1)函數(shù)格式

首先由一個函數(shù)頭,然后是花括號中的函數(shù)體:

類型 函數(shù)名(參數(shù)列表)
{
    語句
}

C++不允許將函數(shù)定義嵌套在另一個函數(shù)定義中,。

(2)函數(shù)頭

在程序清單2.2中,,simon()函數(shù)的函數(shù)頭如下:

void simon(int n)

開頭的void表示沒有返回值,括號中的int n表明,,使用simon()時,,應(yīng)提供一個int參數(shù)。

關(guān)鍵字是計算機語言中的詞匯,。本章使用了int,、voidreturndouble等關(guān)鍵字,。由于這些關(guān)鍵字都是C++專用的,,因此不能用作他用。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多