0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++學(xué)習(xí)筆記之c++的基本認(rèn)識

jf_78858299 ? 來源:QStack ? 作者:月下西樓 ? 2023-03-17 13:57 ? 次閱讀

由于工作與視頻編輯相關(guān),所以想補(bǔ)充一下OpenGL和C++相關(guān)的知識,之后可能會通過兩個系列來記錄下自己的學(xué)習(xí)內(nèi)容,如果能夠幫助到同樣有需要的人自然再好不過。

前言

自這篇文章我們即將開始C++的奇幻之旅,其內(nèi)容主要是讀C++ Primer的總結(jié)和筆記,有興趣可以找原版書看看,對于學(xué)習(xí)C++還是有很大幫助的。這篇文章將從一個經(jīng)典的程序開始介紹C++的類型、變量、表達(dá)式、語句、控制流和函數(shù)的相關(guān)內(nèi)容,由此可以建立起對于C++總體上的認(rèn)識。

一個簡單的程序

每一個C++程序都包含了一個或多個函數(shù),其中main函數(shù)是必須的,所以一個C++程序至少含有一個main函數(shù),操作系統(tǒng)通過調(diào)用main函數(shù)來執(zhí)行你寫的C++程序。下面就是一個簡單的C++程序,只包含了一main函數(shù)。如代碼所示,一個函數(shù)至少包含四個部分,返回類型、函數(shù)名、參數(shù)列表和函數(shù)體。這個main函數(shù)返回值是int,這是C++的內(nèi)置類型(是由語言本身定義的), main是函數(shù)名,()中是參數(shù)列表(可以為空), 最后{}中的是函數(shù)體,是函數(shù)執(zhí)行的具體過程。在例子中只包含了一個語句,return會終止函數(shù)執(zhí)行并返回一個值(0)給函數(shù)調(diào)用者,0是int類型,也就是整數(shù)。函數(shù)的返回值要與函數(shù)定義的返回類型相同,否則會產(chǎn)生錯誤,無法編譯通過。

int main()
{
    return 0;
}

?在大多數(shù)情況下main函數(shù)的返回值是一個標(biāo)志位,如果是0表示程序執(zhí)行成功,如果返回非0則表述程序執(zhí)行失敗

?

輸入輸出

在程序執(zhí)行過程中需要與外部進(jìn)行交互,但是C++并未為輸入輸出提供專門的語句,而是提供了擴(kuò)展庫iostream來實(shí)現(xiàn)輸入輸出。該庫提供了兩個基類,一個是ostream用于輸出流,istream用于輸入流,并且提供了四種IO對象,分別是cin,cout, cerr和clog,cin是用于處理標(biāo)準(zhǔn)輸入,其發(fā)音類似于see in,cout用于處理標(biāo)準(zhǔn)輸出,發(fā)音類似see out,cerr是用于輸出erro和warning,clog則是用于輸出程序執(zhí)行過程中的重要信息。以下就是一個簡單卻簡單的程序,會在屏幕上打印“hello w orld”。其中std::cout<<"hello world"<是一個表達(dá)式,表達(dá)式一般由一個或多個操作數(shù)和(通常)一個操作符組成,其中<<是輸出操作符,用于標(biāo)準(zhǔn)輸出,輸出操作符需要包含兩個操作數(shù),在輸出操作符的左側(cè)必須是ostream對象,右側(cè)則是需要輸出的值??梢钥吹竭B續(xù)使用了兩次輸出操作符,那是因?yàn)檩敵霾僮鞣姆祷刂禐閛stream對象。

`

# include
int main() {
    std::cout<<"hello world"<return 0;
}
;>

從下面例子可以看出cin和cout用法類似,需要用>>輸入標(biāo)識符。

?可以注意到,我們使用的是std::cout而不是cout,std是命名空間,命名空間是為了我們定義的函數(shù)與變量與庫中的函數(shù)與變量命名沖突,std是標(biāo)準(zhǔn)庫的命名空間。::是范圍操作符,``std::cout```代表著我們使用的cout是定義在std的命名空間中。

?

# include
int main() {
    std::cout<<"please enter two numbers:"<int v1, v2;
    std::cin>>v1>>v2;
    std::cout<<"The sum of v1 and v2 is "<return 0;
}
;>

運(yùn)行結(jié)果如下

please enter two numbers:
3 4
The sum of v1 and v2 is7

注釋

我們寫的例子都是極其簡單的程序,在實(shí)際的生產(chǎn)環(huán)境中,程序會十分的復(fù)雜,必】注釋是比不可少的,C++的注釋分為單行注釋和多行注釋。C++使用//進(jìn)行單行注釋,/**/實(shí)現(xiàn)多行注釋,注釋最好不要嵌套。

控制流

C++的控制流于C語言Java的控制流并沒有多大的差別,while和for循環(huán),if判斷語句。

while語句

當(dāng)while中的判斷條件為true是會循環(huán)執(zhí)行while內(nèi)的語句

# include
int main() {
    int sum = 0;
    while(i <= 10) {
        sum  = sum + i;
        i++;
    }
    std::cout<return 0;
}
<

for 循環(huán)

# include
int main() {
    int sum = 0;
     for(int i = 0; i <= 10; ++i) {
        sum = sum + i;
    }
    std::cout<return 0;
}
<

if語句

# include
int main() {
    int value;
    int curValue;
    int sum = 0;
    if(std::cin>>value){
        while (std::cin>>curValue)
        {
            if (value == curValue) {
                sum = sum + 1;
            } else {
                std::cout<return 0;
            }
        }
    }
    return 0;
}
<

最后

通過這篇文章,我們已經(jīng)對C++有了基本的認(rèn)識,初步了解了一個C++程序的基本組成,了解了輸入輸出,命名空間,注釋,控制流。更多文章可以關(guān)注微信公眾號QStack。

`
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62618
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2108

    瀏覽量

    73651
  • primer
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    10032
收藏 人收藏

    評論

    相關(guān)推薦

    C++STL算法(二)

    C++STL算法(二)
    的頭像 發(fā)表于 07-18 14:49 ?1052次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>STL算法(二)

    c++STL算法(三)

    c++STL算法(三)
    的頭像 發(fā)表于 07-18 15:00 ?1294次閱讀
    <b class='flag-5'>c++</b><b class='flag-5'>之</b>STL算法(三)

    C++文件操作

    C++文件操作
    的頭像 發(fā)表于 07-21 10:52 ?1115次閱讀
    <b class='flag-5'>C++</b><b class='flag-5'>之</b>文件操作

    如何學(xué)習(xí)C++,如何學(xué)好C++

    最近,很多學(xué)員都給我發(fā)郵件問我應(yīng)該如何學(xué)習(xí)C++,如何學(xué)好C++?那么作為一個從C語言小白摸爬滾打、入坑無數(shù)到成長為如今的高級C++游戲開發(fā)
    發(fā)表于 08-20 06:27

    學(xué)習(xí)C++的方法以及C++的就業(yè)方向

    學(xué)習(xí)方向:嵌入式+人工智能嵌入式是一門技術(shù)學(xué)習(xí)目標(biāo)1.嵌入式開發(fā)概述;(面向?qū)ο笤谇度胧介_發(fā)中角色)2.嵌入式Linux C++編程;(C++概述、
    發(fā)表于 12-24 07:32

    在main文件中怎樣去使用C++

    ESP32 ESP-IDF 學(xué)習(xí)筆記(五 - 2)【使用C++的工程】文章目錄ESP32 ESP-IDF
    發(fā)表于 01-07 07:44

    C++簡介 ppt

    C++簡介 目錄1.0  本科程在專業(yè)學(xué)習(xí)中的地位1.1  程序設(shè)計(jì)語言 1.2  C++前史 1.3  C++ 1.4 
    發(fā)表于 02-24 09:34 ?28次下載

    C++ 入門自學(xué)教程

    C++ 入門自學(xué)教程從入門知識開始講起,比較有利于初學(xué)者入門掌握,比較好懂,能夠?qū)?b class='flag-5'>C++有一個全面認(rèn)識
    發(fā)表于 11-17 10:36 ?0次下載

    C++語言學(xué)習(xí)提綱

    C++語言學(xué)習(xí)提綱
    發(fā)表于 12-30 14:50 ?0次下載

    C++“指針”學(xué)習(xí)建議

    C++“指針”學(xué)習(xí)建議
    發(fā)表于 03-31 15:53 ?3次下載

    C++入門教程之C++程序設(shè)計(jì)的課件資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++入門教程之C++程序設(shè)計(jì)的課件資料免費(fèi)下載主要內(nèi)容包括了:1. 認(rèn)識C++2. C++的現(xiàn)狀和發(fā)展3.
    發(fā)表于 12-07 08:00 ?33次下載
    <b class='flag-5'>C++</b>入門教程之<b class='flag-5'>C++</b>程序設(shè)計(jì)的課件資料免費(fèi)下載

    C++程序設(shè)計(jì)的基礎(chǔ)知識初步了解C++的資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是C++程序設(shè)計(jì)的基礎(chǔ)知識初步了解C++的資料免費(fèi)下載包括了:1 認(rèn)識C++,2 C++的現(xiàn)狀和發(fā)展,3
    發(fā)表于 06-10 08:00 ?25次下載
    <b class='flag-5'>C++</b>程序設(shè)計(jì)的基礎(chǔ)知識初步了解<b class='flag-5'>C++</b>的資料免費(fèi)下載

    Linux C/C++ 學(xué)習(xí)路線

    一、秋招 Linux C/C++ offer 情況二、Linux C/C++ 方向的一些思考三、計(jì)算機(jī)基礎(chǔ)知識的梳理四、C++ 方向的深入
    發(fā)表于 11-06 19:36 ?14次下載
    Linux <b class='flag-5'>C</b>/<b class='flag-5'>C++</b> <b class='flag-5'>學(xué)習(xí)</b>路線

    C++學(xué)習(xí)筆記順序容器

    C++中的順序容器是一種用于存儲和管理元素序列的數(shù)據(jù)結(jié)構(gòu)。它們提供了一組有序的元素,并支持在序列的任意位置插入和刪除元素。C++標(biāo)準(zhǔn)庫中提供了多種順序容器,包括vector、deque、list、forward_list和array。
    的頭像 發(fā)表于 05-11 17:05 ?597次閱讀

    C++之父新作帶你勾勒現(xiàn)代C++地圖

    為了幫助大家解決這些痛點(diǎn)問題,讓大家領(lǐng)略現(xiàn)代C++美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他親自操刀寫就了這本《
    的頭像 發(fā)表于 10-30 16:35 ?855次閱讀
    <b class='flag-5'>C++</b>之父新作帶你勾勒現(xiàn)代<b class='flag-5'>C++</b>地圖