日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++学习第一天

發(fā)布時間:2024/9/5 c/c++ 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++学习第一天 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

用來記錄菜鳥的學(xué)習(xí)過程

編譯環(huán)境:linux下g++

1 初窺輸入、輸出

1.1 標準輸入與輸出對象

cin?? cout?? cerr? clog? (可以和C中的標準輸入輸出對比一下)

默認情況下,讀cin會刷新cout;當程序正常結(jié)束時,cout也會被刷新。

先熟悉一下程序模型:

#include<iostream>
? int main()
{
?? std::cout<<"enter two numbers:"<<std::endl;
??? int v1,v2;
??? std::cin>>v1>>v2;
??? std::cout<<"the sum of "<<v1<<" and "<<v2<<" is "<<v1+v2<<std::endl;
??? return 0;????????????????????????????????????????????????????????????????????????
?? }
輸入、輸出格式明顯和c不同,值得注意的是輸出部分,endl是個操縱符,將他寫入輸出流時具有輸出換行的效果,并且刷新與設(shè)備相關(guān)聯(lián)的緩沖區(qū)(buffer)。通過刷新緩沖區(qū)用戶可以立即看到輸入到流中的輸出。

2 注釋

單行注釋://

多行注釋:/* */

3 構(gòu)造函數(shù):每個類都可能會定義一個或幾個特殊的成員函數(shù)來告訴我們?nèi)绾纬跏蓟愵愋偷淖兞?#xff0c;定義如何進行初始化的成員函數(shù)就叫構(gòu)造函數(shù)。

每個構(gòu)造函數(shù)必須能個接受不同數(shù)目或者不同類型的參數(shù)。

4 變量的直接初始化和復(fù)制初始化區(qū)別

直接初始化:int i(2);

復(fù)制初始化:int i=2;

可以混合使用:比如:double salary = 999.99,wage(salary + 0.01);

5 變量初始化規(guī)則

5.1 內(nèi)置類型變量的初始化

內(nèi)置類型變量是否自動初始化取決于變量定義的位置,在函數(shù)體外定義的變量都初始化為0,在函數(shù)體內(nèi)定義的變量不進行自動初始化。

建議:每個內(nèi)置類型變量都要進行初始化,為了程序的安全性。

5.2 類類型變量的初始化

一般每個類都已幾個成員函數(shù)即構(gòu)造函數(shù)來初始化類變量,如果沒有構(gòu)造函數(shù),有默認的特殊的構(gòu)造函數(shù):默認構(gòu)造函數(shù)。

在C++中變量必須且僅能定義一次,而且在使用變量之前必須聲明或定義變量。

6 名字的作用域

全局作用域、局部作用域、語句作用域

在一個函數(shù)體內(nèi)的局部變量如果和全局變量同名時,在使用中可以屏蔽全局變量

7 通常把一個變量定義在它首次使用的地方是個比較好的建議。提高代碼的可讀性

8 const限定符

把一個對象轉(zhuǎn)換成常量。例如:const int bufsize = 512;

定義了bufsize是一個常量,在任何地方它的值都是不可改變的。

常量定義后不能再修改,所以定義時必須進行初始化

?

9 引用:就是對象的另一個名字。引用是一種復(fù)合類型,通過在變量名前加“&”來定義。

當引用初始化后,只要該引用存在,他就保持綁定在初始化時指向的對象,不可能將引用綁定到另外一個對象。

引用就是對象的另一個別名,都是同一個人。就好比人的大名和小名。對任何一個名字的操作都是一樣的。

可以定義多個別名。定義別名時需要注意要保持類型的一致性。

10 typedef名字??? 用來定義類型的同義詞:typedef int exam_score

??????????????????????????????????????????????????????? exam_score test_result; <==> int test_result;

11 枚舉

12 類類型

13 設(shè)計自己的頭文件

頭文件為相關(guān)聲明提供了一個集中放置的位置,頭文件中一般包含類的定義、extern變量的聲明和函數(shù)的聲明。

****************************************************************************

****************************************************************************

第三章:標準庫類型

主要講述:命名空間的using聲明、標準庫string類型、標準庫vector類型、迭代器、標準庫bitset類型

1。命名空間的using聲明

形式:???? using namespace::name

一旦使用了using聲明,我們就可以直接引用名字了,而不需要再加引用該名字的命名空間。

2. 標準庫string類型

string類型支持長度可變的字符串,

2.1? string對象的讀寫

測試程序代碼:

編譯后運行:

注意:a 讀取我們輸入的字符串時,忽略了開頭所有的空白字符(如空格,換行符,制表符)

???????? b? 讀取字符直到再次遇到空白字符,讀取終止。我們輸入的是:“???????????????? love you? ”前后都有空格,但是當輸出時只顯示love,明顯前面的空格忽略了,再次遇到空格時讀終止了。

2.2? 讀入未知數(shù)目的string對象

小程序:

輸出結(jié)果為:

我們發(fā)現(xiàn)上次總結(jié)的兩點再此體現(xiàn)了,并且這個while循環(huán)一直有效,等著你輸入。。。。。。

2.3 用getline讀 取正行文本

1 #include<iostream>
2 #include<string>
3 using namespace std;
4 int main()
5 {
6?? string line;
7?? cout<<"請輸入字符:";
8?? while(getline(cin,line))
9?????? cout<<"字符數(shù)出:"<<line<<endl;
10????? // cout<<"請輸入字符:";
11?? return 0;
12 }

編譯運行:

注解:由于getline函數(shù)返回時將會丟棄換行符,換行符將不會存在string對象中

2.4 string對象的操作

對size()的驗證

編譯運行結(jié)果:

注意:換行符“\n”在size統(tǒng)計時占一個字符。

2.5 string對象的賦值

2.6 string中對字符的操作

3 標準庫vetcor類型

3.1 vector對象的定義和初始化

3.2 vector對象的操作

4 迭代器

迭代器是一種檢查容器內(nèi)元素并遍歷元素的數(shù)據(jù)類型

5? 標準庫bitset類型

定義形式:bitset<32> bitvec; //32bits,all zero

和vector區(qū)別:需在尖括號內(nèi)指出長度值

轉(zhuǎn)載于:https://www.cnblogs.com/songfeixiang/p/3340159.html

總結(jié)

以上是生活随笔為你收集整理的C++学习第一天的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。