C PRIMER第5版第二章自做

2021-08-09 00:16:42 字數 2175 閱讀 4587

2.1.範圍不一樣;範圍不一樣,乙個可以存負數,乙個不可以;精度不同

2.2.double,需要小數需要精度,運算也快

2.3u2-u=32

u-u2=4294967264

i2-i=32

i-i2=-32

i-u=0

u-i=0

2.5a)字元a,寬字元a,字串a,寬字串a

b)整型10,無符號整型10,長整型10,無符號長整型10,八進位制12,十六進製制c

c)double ,float,long double

d)int,unsigned int,double,double

2.6有區別,10進製和8進製的區別(09貌似非法)

2.7a)  輸出who goes with fergus?\n

b)long double,3.14

c)float

d)3.14 long double

2.8cout << "\62\115\12";

cout << "\62\11\115\12";

2.9a)非法,應該先定義再賦值

int  input_value;

std::cin>>input_value;

b)非法,列表初始化存在丟失資訊的風險

int i=3.14或者int i(3.14)

c)非法,wage未定義

double salary,wage;

salary=wage=9999.99;

d)正確,定義i,並將其值初始化為3

2.10

兩個string初始化為空串;

global_int初始值為0,loval_int初始值未定義,不確定

2.11

a)定義

b)宣告並定義

c)宣告

2.12

a)非法,double為關鍵字

b)合法

c)非法,不能包含'-'

d)非法,識別符號必須以字母或下劃線開頭

e)合法

2.13

j=100

2.14

合法,100 45

2.15

a)合法

b)非法,型別不匹配且初始值必須是乙個物件不能是值

c)合法

d)不合法,引用必須初始化

2.16

全都合法

2.17

10 10

2.19

指標是個物件,可以改變指向的物件,無須在定義時賦值

2.21

a)非法,型別不匹配

b)非法,不是位址

c)合法

2.22

假如是空指標

假如指向的資料為0

2.23

不能,這個需要自己處理

2.24

void*指標可以儲存任何型別物件的位址,long*指標只能儲存指向long物件的位址

2.25

a)ip是乙個未初始化的int*指標,i是int,r是指向i的引用

b)i是int,ip是指向int的空指標

c)ip是指標,ip2是整型變數

2.26

a)非法,需要初始化

b)合法

c)合法

d)合法,非法,const變數不能修改

2.27

a)i合法,r非法,不能將非常量引用繫結乙個常量

b)合法

c)合法

d)合法

e)合法

f)非法,沒初始化

g)合法,ps:不能通過r修改i

2.28

a)i整型變數,cp不合法,常量指標必須初始化

b)p1為int指標,p2不合法,常量指標必須初始化

c)ic不合法,const變數必須初始化

d)不合法,指向常量的常量指標必須初始化

e)合法,指向常量的指標

2.32不合法

int null=0,*p=&null;

2.35

j是int,k是繫結i的常量引用,p指向常量i的指標,

j2是值為42的常量,k2是繫結i的常量引用

2.36

a,b,c是int變數,d是繫結到a的引用

a=b=c=d=4

2.37

a,b,c是int變數,d是繫結到a的引用

a=c=d=3,b=4

2.38處理頂層const和引用不同

c primer第二章習題

習題2.1 int,long和short型別之間有什麼差別?答 short,int和long型別都表示整型值,儲存空間的大小不同.一般,short型別為半個機器字長,int型別為乙個機器字長,而long型別為乙個或兩個機器字長 在32位機器中int型別和long型別通常字長是相同的 用sizeof可...

C primer 第二章習題

習題 2.1 int long 和 short 型別之間有什麼差別?解答 它們的最小儲存空間不同,分別為 16 位 32 位和 16 位 對於16位機 一般而言,short 類 型為半個機器字 word 長,int 型別為乙個機器字長,而 long 型別為乙個或 兩個機器字長 在 32 位機器中,i...

C Primer學習 第二章

c 是一門靜態型別語言,在編譯時會作型別檢查。c 中初始化不是賦值。宣告和定義 extern關鍵字可以用來宣告變數名而不定義 extern宣告不是定義,也不分配儲存空間。extern int i int i extern double pi 3.1416 只有當extern宣告位於函式外部時,才可以...