第6章 分支結構和邏輯操作符

2021-05-28 16:12:47 字數 3163 閱讀 8104

l         if語句

l         邏輯表示式

並不是所有的鍵盤都提供了邏輯操作符的符號,因此c++提供了另一種表示方式:

n         && 替換代表and

n         ||替換代表or

n         !替換代表not

識別符號and,or和not都是c++保留字,但並不是c語言的關鍵字。在c語言中使用以上替換需要包含標頭檔案iso646.h

l         字元函式庫cctype

c++從c語言繼承了乙個與字元相關的、非常方便的函式軟體包,它可以簡化諸如確定字元是否為大寫字母、數字、標點符號等工作,這些函式的原型是在標頭檔案cctype中定義。

函式名稱

返回值isalnum()

引數是字母或數字,返回true

isalpha()

引數是字母,返回true

isblank()

引數是空格或水平製表符,返回true

iscntrl()

引數是控制字元,返回true

isdigit()

引數是數字,返回true

isgraph()

引數是除空格之外的列印字元,返回true

islower()

引數是小寫字母,返回true

isprint()

引數是列印字元,包括空格,返回true

ispunct()

引數是標點符號,返回true

isspace()

引數是標準空白字元,如空格、進紙、換行符、回車、水平製表符或者垂直製表符,返回true

isupper()

引數是大寫字母,返回true

isxdigit()

引數是十六進製制的數字,返回true

tolower()

引數是大寫字元,則返回其小寫,否則返回該引數

toupper()

引數是小寫字元,則返回其大寫,否則返回該引數

l         switch語句

通常cin無法識別列舉型別。當switch語句將int值和列舉量標籤進行比較時,將列舉量提公升為int.另外,在while迴圈測試條件中,也會將列舉量提公升為int型別。

l         break和continue語句

l         讀取數字的迴圈

cin在接收輸入時,如果發生型別不匹配,如

int n;cin>>n;

這時將發生如下情況

n         n 的值保持不變

n         不匹配的輸入被保留在輸入佇列中

n         cin物件的乙個錯誤標記被設定

n         對cin方法的呼叫將返回false.

方法返回false意味著可以用非數字輸入來結束讀取數字的迴圈。非數字輸入設定錯誤標記意味著必須重置該標記,程式才能繼續讀取輸入。clear()方法重置錯誤輸入標記。

當程式發現使用者輸入了錯誤內容,採取3個步驟:

n         重置cin以接受新的輸入

n         刪除錯誤輸入

n         提示使用者再輸入

如while(!(cin>>golf[i])){

cin.clear();

while(cin.get()!=』\n』)

continue;

cout<

l         簡單檔案輸入/輸出

n         寫入到文字檔案中

1.       包含標頭檔案fstream

2.       建立ofstream物件

3.       將該ofstream物件同乙個檔案關聯起來

4.       像使用cout一樣使用該ofstream物件

eg:#include

#include //第一步

int main()

using namespace std;

char automobile[50];

ofstream outfile;//第二步

outfile.open(「mytext.txt」);//第三步

cout<

cin.getline(automobile,50);

outfile<

return 0;

close()不需要使用檔名作為引數,因為outfile已經同特定檔案關聯起來了。在執行程式前,如果沒有mytext.txt檔案,程式會以此名建立乙個檔案;如果已經有了這個檔案,則該檔案內容會被程式覆蓋。

n         讀取文字檔案

1.       包含標頭檔案fstream

2.       建立ifstream物件

3.       將該ifstream物件同乙個檔案關聯起來

4.       使用ifstream物件和get()方法來讀取乙個字元,使用ifstream物件和getline()來讀取一行字元

5.       結合使用ifstream和eof()、fail()等方法來判斷輸入是否成功

ifstream物件本身被用作測試條件時,如果最後乙個讀取操作成功,它將被轉換為布林值。

eg:#include

#include

#include //支援exit()函式

int main()

using namespace std;

ifstream infile;

infile.open(「mytext2.txt」);

if(!infile.is_open())

cout<

double value;

int count=0;

infile>>value;

while(infile.good())

++count;

infile >> value;

if(infile.eof())

cout<

elseif(infile.fail())

cout<

else

cout<

infile.close();

return 0;

程式說明:

將該ifstream物件同乙個檔案關聯起來後要檢查檔案是否開啟。隨後分別在讀取檔案的第乙個值和最後乙個值,這樣可以確保讀取成功。若是出現問題,則使用以下方法:檢查是否讀到檔案尾(eof)。在呼叫eof()方法後呼叫fail()可確認是否發生了不匹配的錯誤。

cplus6 第6章 分支和邏輯運算子

int num while cin num 當輸入的是非數字時,cin返回false 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img ujdehp5n 1615986515259 使用檔案輸出的主要步驟 雖然標頭檔案iostream提供了乙個預先定義好的名為cout的ostrea...

關係操作符和邏輯操作符

關係操作符和邏輯操作符使用算術或指標型別的運算元,並返回bool 型別的值。操作符功能用法 logical not 邏輯非 expr less than 小於 expr expr less than or equal 小於等於 expr expr greater than 大於 expr expr ...

C plus6th 第6章 分支和邏輯運算子

int num while cin num 當輸入的是非數字時,cin返回false 字元函式 使用檔案輸出的主要步驟 雖然標頭檔案iostream提供了乙個預先定義好的名為cout的ostream物件,但我們在操作檔案時必須宣告自己的ofstream物件,並為其命名,將其同檔案關聯起來。此後便可以...