第二章 2 4 4節練習 2 5 2節練習

2021-06-26 08:09:11 字數 1049 閱讀 6837

練習2.32

下面的**是否合法?如果非法,請設法將其修改正確。

int null = 0, *p = null;

解答:不合法,這裡將乙個整型物件賦值給乙個整型指標是錯誤的。

修改如下

int null = 0, *p = nullptr;

練習2.33

利用本節定義的變數,判斷下列語句的執行結果。

a = 42; b = 42; c = 42;

d = 42; e = 42; g = 42;

解答:a,b.c是整型,所以賦值後都為42.

d是整型指標,所以賦值42是非法的

e是指向整型常量的指標,所以賦值42也是非法的

g是整型常量引用,所以賦值42是非法耳朵

練習2.34

給予上乙個練習中的變數和語句編寫一段程式,輸出賦值前後變數的內容,你剛才判斷正確嗎?如果不對,請反覆研讀本節的示例直到你明白錯在何處為止。

解答:

#include int main()
可以看一下編譯器的錯誤提示。

練習2.35

判斷下列定義推斷出的型別時什麼,然後寫程式進行驗證。

const int i = 42;

auto j = i;

const auto &k = i;

auto *p = &i;

const auto j2 = i, &k2 = i;

解答:j 是整型

k是整型常量引用

p是整型常量指標

j2是整型常量

k2是整型常量引用

這裡可以用到19章節的內容來幫助我們判斷各個變數的型別。

#include #include using namespace std;

int main()

vs2013的結果

int

intint const *

intint

其中,引用也會被顯示成原型別。

linux上輸出的結果會不同,可以參考19章的內容。

第二章 2 2 1節練習

練習2.9 解釋下列定義的含義。對於非法的定義,請說明錯再何處並將其改正。a std cin int input value b int i c double salary wage 9999.99 d int i 3.14 解答 a 非法,這裡不能對變數進行宣告。必須在輸入語句之前對變數定義或者宣...

第二節練習

a b 2 鏈式賦值 print a print b c id a 位址print c c type a 型別 print c a,b 2,3 系列解包賦值 a,b b,a print a print b 基本運算 print 3 2 print 30 5 print 30 5 print 30 5...

第二章 2 2節

2.2 1 用 記號表示函式n 3 1000 100n 2 100n 3 解答 這個就很簡單了,這裡我們真正感興趣的執行時間是增長率,也就是直接控制函式影象斜率的因素。這裡就是 n 3 2.2 2 考慮排序儲存在陣列a中的n個數 首先找出a中的最小元素並將a 1 中的元素進行交換。接著,找出a中的次...