1. 程式人生 > >《C++ Primer Plus》學習筆記——第五章 迴圈和關係表示式(一)

《C++ Primer Plus》學習筆記——第五章 迴圈和關係表示式(一)

本章內容:

  • for迴圈和while迴圈
  • 表示式和語句
  • 運算子組合
  • 複合語句
  • 逗號運算子以及關係運算符
  • typedef工具
  • 字元輸入方法get()
  • 檔案尾條件
  • 巢狀迴圈和二維陣列

計算機除了儲存資料外,還可以做很多其他工作。可以對資料進行分析、合併、重組、抽取、修改、推斷、合成以及其他操作。

for迴圈

組成部分完成以下步驟:

  1. 設定初始值。
  2. 執行測試、看看迴圈是否應當繼續進行。
  3. 執行迴圈操作。
  4. 更新用於測試的值。

結構:

for (initialization;test-expression;update-expression)
{
    body;
}

//initialization用於設定初始值;可以在裡面宣告變數,但變數只能在迴圈中使用。
//test-expression用於判斷迴圈體是否需要被執行。當值為0或false時迴圈結束。
//update-expression用於更新判斷迴圈體中被測試的值。
//body 迴圈的內容

C++程式在需要整數值的地方將true和false分別轉換成1和0,而在需要bool值的地方講把0轉換成false,將1轉換成true。

cout.setf(ios::boolalpha)函式呼叫設定了一個標記,該標記命令cout顯示true和false,而不是0和1。

遞增遞減運算子(++)和(--)

int c=1;
int y;
y=c++;
c=1;
y=++c;
c=1;
y=c--;
c=1;
y=c++;
//第一個y的值為1,但c變成了2;
//第二個y的值為2,同樣c變成了2;
//第三個y的值為1,但c變成了0;
//第四個y的值為0,c同樣為0;

遞增(減)運算子與指標:

double arr[5]={0,1,2,3,4}
double *p=arr;
*p++;
p++;
//p++為地址的變化,*p++為該地址值的變化

組合賦值運算子:

i=i+b; = i+=b;
i=i-b; = i-=b;
i=i*b; = i*=b;
i=i/b; = i/=b;

可以使用兩個花括號{}來構造複合語句。

逗號運算子:

允許將兩個表示式放到C++語句只允許放一個表示式的地方。如i++,--y;

但逗號表示式的值為第二部分的值。

比較和賦值容易混淆。如 music==4(比較)與music=4(賦值)。

比較字串時,應使用cstring中的strcmp()函式。

比較string類字串時,可以使用關係運算符,如果左邊是string類,右邊是C-風格字串也可以使用關係運算符。