第三章順序結構

2021-06-01 10:26:44 字數 2772 閱讀 9553

c++的程式採用了結構化程式設計.結構化程式設計要求的順序、選擇、迴圈的控制結構,使編寫的程式結構清晰。

順序結構就是按照語句的先後順序來執行的方式。

第一節賦值語句

賦值語句的一般形式: <變數名> = <表示式>

變數名必須在變數說明部分已經定義過。

「=」與「==」(兩個等號連線在一起)的區別:「=」賦值號是將其右邊的表示式的值賦給左邊的變數。例如:

x=x+1 是將x的當前值加上1,再賦給x。而「==」雙等號是兩邊值比較的結果。

賦值號左邊不能是表示式、常量,只能是變數名。

表示式是由常量、變數、函式、運算子和圓括號組成的式子。

應用舉例:

在c++中對於賦值語句提供了縮寫的形式,即當一變數既出現在賦值符號的左邊又出現在右邊時,可以縮寫:

x=x*y; 縮寫為: x*=y;

x=x+y; 縮寫為: x+=y;

其他的算術運算都可依照同樣的規則在賦值中縮寫。縮寫格式通常更為有效,可讀性也比較強。

根據每個表示式所得的值的型別,表示式可分為數值表示式(值是實型或整型)、字元表示式(值是字元型)、和布林表示式(值是布林型),單獨乙個常量、乙個變數或乙個函式都可看作是簡單的表示式。

賦值語句的功能:首先計算表示式的值,再賦給賦值號左邊的變數。對任意乙個變數必須先賦值,然後才能引用,否則未賦值的變數將以乙個隨機值參與運算。

另外需要強調一點的是賦值構成了乙個表示式,因而它是有值的,賦值表示式的值為賦值符左邊表示式的值。例如:

cout<<(i=1)< 將輸出1,與此同時i也將被賦值為1。

[例3.1] 關於變數賦值的應用。交換兩個變數的值。

程式如下:

#include

using namespace std;

int main ()

只要將l3_1的處理交換的部分:a=a+b;b=a-b;a=a-b;換成:c=a;a=b;b=c;

並在程式的說明部分加上變數c的型別定義,即可.

如有a、b、c、d四個變數,其值如下表:

若將它們的值按從左向右移動,使最右邊的值移動到最左邊。

請你程式設計序實現:

演算法:⒈開闢工作單元e。

演算法的執行過程:

#include

using namespace std;

int main ()

注意:賦值的順序.

[例3.2] 關於變數必須賦的值與相容賦值的例子.

#include

using namespace std;

int main ()

請讀者找出不妥之處.並請改正.

答案:因為c為整型變數,而5.0/2的值為實型數,故變數與表達型別不同.

結果將輸出c=2,只保留到了結果的整數部分。若要得到5.0/2的準確值,只要將c的型別改為實型即可。

強制轉換

為所指定的型別。強制轉換又分為顯式強制轉換和隱式強制轉換兩種。

1.顯式強制轉換

顯式強制轉換是通過強制轉換運算子來實現的。強制轉換是指將表示式的型別強制轉換

格式ⅰ:

《強制轉換的型別》(《表示式》) c++專用

如:double d=21.83;

int a;

a=int(d);

格式ⅱ:

(強制轉換型別) 《表示式》c和c++都可以

如:double d=21.83;

int a;

a=(int)d;

強制轉換的作用是將被作用的表示式的型別強制轉換為所指定的型別。強制轉換可能出現低型別向高型別轉換,也可能出現高型別向低型別轉換。當出現由高型別向低型別轉換時,資料精度一般將受損失,這是非保值轉換,編寫程式時應盡量避免這種轉換。

2.隱式強制轉換

兩種常見的隱式強制型別轉換:

①賦值表示式中,右值表示式的型別隱式轉換為左值的型別。

int a:

double d=1.75;

a=d;

在將d賦值給a的表示式中,左值是int型,右值表示式是double型,按規定將double轉換為int型,再將int型值賦給變數a。這裡資料精度要受損失,因為這是由高型別向低型別轉換。a獲取的值為12。

②在被呼叫函式帶有返回值時,將return後面的表示式型別轉換為國數的型別。

當由高型別轉換成低型別時,資料精度也會受損失。

第二節輸入/輸出流控制

輸入/輸出流是輸入輸出的一系列位元組,平時所用到「cout」「cin」是標準輸入/輸出流預定義的兩個流類物件,我們主要需要掌握的是「cout」「cin」的用法。

當需要在螢幕上顯示輸出時,可以使用插入操作符「<<」向cout輸出流中插入字元。

例如:cout<<"hello";

這條語句的執行結果是把 hello 輸出到螢幕上。

輸出語句的作用主要是在程式完成資料處理後,將計算結果以適當形式輸出到螢幕上。我們需要主要掌握的是「cout」的使用方法:

需要注意的是在使用「cout」、「cin」前,要用編譯預處理命令將所使用的標頭檔案包含到原程式中,同時宣告命名空間:

#include

using namespace std;

非格式化輸出:

cout《表示式1《表示式2<<…《表示式n;

其中「<<「是預定義的插入運算子,作用在」cout「上,實現螢幕輸出。輸出結果依次為各個表示式的值,若表示式為字串,則將雙引號中間的部分按原樣輸出螢幕;若表示式為我們之前接觸過的endl,則輸出「回車」;若表示式為算術運算,則計算出結果後輸出螢幕;若為變數,則直接輸出變數的值;當然,如果想輸出空格,最簡單的辦法就是將其視為字串輸出:cout<<」 □□」;。

第三章順序結構

一 c語句概述 1 c程式的結構 2 c語句的型別 1 控制語句 用於控制程式的流程,以實現程式的各種結構方式,可分成以下三類 1 條件判斷語句 if else語句 switch語句 2 迴圈執行語句 do while語句 while語句 for語句 3 轉向語句 break語句 goto語句 co...

第三章順序結構

3.1 與輸入 輸出有關的控制項 乙個程式,如果沒有輸出操作則沒有什麼實用價值,而如果沒有輸入操作,則必然缺乏靈活性。因此,輸入與輸出是應用程式最基本的功能。在標準 standard 元件板中,delphi 提供了最為基本的輸入 輸出控制項 標籤 label 控制項 編輯框 edit 控制項 進行多...

第三章順序結構程式設計

一 選擇題 1.c語言中呼叫printf進行輸出時需要注意,在格式控制串中,格式說明與輸出項的個數必須相同。如果格式說明的個數小於輸出項的個數,多餘的輸出項將如果格式說明的個數多於輸出項的個數,則對於多餘的格式將輸出不定值 或0 0級 a 不予輸出 b 輸出空格 c 照樣輸出 d 輸出不定值或0 2...