《C和指標》第2章習題

2021-08-30 11:00:05 字數 1167 閱讀 8091

4 \40 的值是多少?\100、\x40、\x100、\0123、\x0123的值又分別是多少?

知識點:

轉義符含義

\a警告字元。他將奏響終端鈴聲或者產生其他一些可聽見或者可看見的符號

\b退格符

\f進紙符號

\n換行符號

\r回車符

\t水平製表符

\v垂直製表符

\ddd

ddd表示1~3個八進位制數字。這個轉義符表示的字元就是給定的八進位制數值所代表的字元。

\xddd

與上例相同,只是八進位制換成十六進製制

答: 假定使用的是ascii字符集,存在下面相等關係。

\40 = 32 = 空格字元

\100 = 64 = 『@』

\x40 = 64 = 『@』

\x100 佔據12位(儘管前三位為零)。在絕大多數機器上,這個值過於龐大,無法儲存於乙個字元內,所以它的結果因編譯器而異。

\0123 由兩個字元組成,『\012』和『3』。其結果因編譯器而異。

\x0123 過於龐大,無法儲存於乙個字元內,其結果因編譯器而異。

7 是非題:因為c(除了預處理指令外)是一種自由形式的語言,唯一規定程式應如何編寫的規則就是語法規則,所以程式實際看上去的樣子無關緊要。

答:有對有錯。對:除了預處理指令之外,語言並沒有對程式應該出現的外觀施加任何規則。錯:風格惡劣的程式難以維護或無法維護,所以除了極為簡單的程式之外,絕大多數程式的編寫風格是非常重要的。

2 編寫乙個程式,它從標準輸入讀取c源**,並驗證所有花括號都正確地成對出現。注意:你不必擔心注釋內部、字串常量內部和字元常量形式的花括號。

思路:簡單的設定乙個變數,初始化為0,出現左括號加一,出現右括號減一,最後判斷如果為0表示成對出現,非零則是不成對出現。對於注釋,如果出現「/」,「/」不對中間出現的進行計數。

#include #include int main()

else if(flag == 0 && ch == '/')

//左花括號始終是合法的。

if(flag == 1 && ch == 'else if(flag == 1 && ch == '}')else}}

if(count == 0)else

return exit_success;

}

牛客第2章習題

n int input line input strip nums list map int line.split 這就是這道題的知識點 python3中map後要list一下 nums.sort nn sum nums 2 yy sum nums 1 2 print abs nn yy n m m...

第2章 練習題

2.9 a 不合法,變數要在輸入前定義 b 不合法,存在丟失資訊的風險 c 不合法,wage未定義 d 會被轉換為整型 2.10 global str 空字串 global int 0 local int 垃圾值 local str 垃圾值 2.11 a 宣告 定義 b 宣告 定義 c 宣告 2.1...

C和指標 第8章 陣列

1.2 2 arry arry 2 arry 2 1.3下標絕不會比指標更有效率,但指標有時會比下標有效。結論 1.當根據某個決定數目的增量在乙個陣列中移動的時候,使用指標比使用下標產生效率更高的 當這個增量是1並且機器具有位址自動增量模型時,這點表現更突出。2.宣告為暫存器變數的指標通常比位於靜態...