1. 程式人生 > >c++ primer第五版(中文)習題答案 第二章第二節-變數

c++ primer第五版(中文)習題答案 第二章第二節-變數

本部落格知識記錄自己學習中的筆記或者記錄,如果有錯誤歡迎大家糾正。

列表初始化,在c++11中 使用花括號來初始化變數得到全應用,
int units_sold =0;
int units_sold = {0};
int units_sold(0);
int units_sold{0};
初始化每一個內建型別的變數

練習2.9 解釋下列定義,對於非法的定義,請說明錯在何處並將其改正。
a。 std::cin>>int input_value; //錯誤 輸出變數宣告
b. int i ={3.14}; // 錯誤,列表初始化不能存在數值丟失
c. double salsry =wage =9999.99;//錯誤 wage 沒有宣告型別
d.int i = 3.14; // 正確 雖然資料丟失,但能正常編譯執行。

練習 2.10下列變數的初值分別是多少?

std::string global_str;   //為空
int global_int;           //在函式外呼叫 為0
int main(){
int local_int;           //在函式類呼叫 不被初始化 編譯不通過
std::string local_str;   //空
}

c++ 語言將宣告和定義區分開來,宣告(declaration)使得名字為程式所知,一個檔案如果想使用別處定義的名字則必須包含對那個名字的宣告,而定義(definition)負責建立與名字關聯的實體。定義申請儲存空間,並初始化,宣告可以多次,定義只能一個

練習2.11 指出下面的語句是宣告還是定義

a. extern int ix = 1024;//定義
b int iy;   //宣告
c. extern int iz; //宣告

練習2.12 請指出下面的名字中那些是非法的?
a. int double = 3.14; //錯誤 double為關鍵字 不能做變數
b. int _; //正確變數以字母或下劃線開始
c.int catch =22; //錯誤 catch為關鍵字
d.int 1_or_2 =1;//作為 變數以字母或下劃線開頭
e double Double =3.14; //正確 關鍵字區分大小寫Double 不為關鍵字

練習2.13 下面程式中j的值是多少?
int i = 42;
int main(){
int i=100;
int j = i ;
}
j的值為100;內部相同變數覆蓋外部變數

練習2.14 下面程式合法嗎,如果合法,它將輸出什麼?
int i =100,sum =0;
for (int i=0;i!=10;i++){
sum +=i;
}
std::cout<