第1章-導言-1.1~1.5知識點

來源:互聯網
上載者:User

標籤:

  第1章是導言部分,內容相對簡單,可以快速閱讀一遍,並適當做一些練習,等學完後面章節再回頭做剩餘的練習。下面將簡單記錄幾個重要的知識點:

1.1-1.3

(1)【P2】C語言程式都是由函數和變數組成的,函數中包含一些語句statement,用以執行一些操作;變數則是用於儲存操作過程中需要使用的值;

(2)【P5】提到了程式的規範性寫法,需要注意的是

①Tab對應的是四個空格(而不是我以為的三個);

②操作符兩邊加空格與運算元隔離開來(我一直不加空格);

(3)【P6】printf的格式化輸出用法可詳見P135,這裡知道%6.1f是按照浮點數列印,至少6個字元寬,小數點後面有1位小數就可以;

1.4-1.5

(1)【P9】一般在程式內部中不直接使用300、20等數字,因為會導致閱讀困難,另外一個閱讀者可能並不理解數位含義,可以通過#define宏定義來聲明,這樣也方便修改。注意宏定義時的變數需要大寫,並且不帶分號。

(2)【P9】這裡瞭解一下文本模型:文字資料流是由多行字元構成的字元序列,而每行字元則由0個或多個字元組成,行末是一個分行符號,標準庫負責使每個輸入/輸出流都遵守這一模型。

字元在機器內部是以位元模式儲存的,一般用char類型,但是為了存放檔案結束符EOF,一般將接受字元的變數聲明為int類型。下面簡單說明一下EOF:

EOF是end of file的縮寫,表示"文字流"(stream)的結尾,它不是特殊字元,而是一個定義在標頭檔stdio.h的常量,#define EOF (-1),一般等於-1。以EOF作為檔案結束標誌的檔案,必須是文字檔,由於資料在文本中都是以字元的ASCII代碼值(範圍是0~127)的形式存放,不可能出現-1,因此可以用EOF作為檔案結束標誌。

注意這裡所說的"文字流",可以是檔案(file),也可以是標準輸入(stdin)。標準輸入與檔案不一樣,無法事Crowdsourced Security Testing道輸入的長度,必須手動輸入一個字元,表示到達EOF。在windows系統中,按下Ctrl+Z和斷行符號鍵來類比EOF條件,UNIX和Linux使用者應按Ctrl+D來類比。

EOF雖然是檔案結束符,但並不是在任何情況下輸入Ctrl+Z都能夠實現檔案結束的功能,只有在下列的條件下,才作為檔案結束符。

①遇到getcahr函數執行時,要輸入第一個字元時就直接輸入Ctrl+Z,就可以跳出getchar(),去執行程式的其他部分;

②在前面輸入的字元為分行符號時,接著輸入Ctrl+Z;

③在前面有字元輸入且不為分行符號時,要連著輸入兩次Ctrl+Z,這時第二次輸入的Ctrl+Z起到檔案結束符的功能。

(3)【P12】若是int類型範圍太小的話,可以使用long類型(最少是32位,由機器本身決定,有時會和int大小相同,若使用printf的話需要修改轉換說明為%ld),也可以使用更大的double;

(4)【P13】注意字元常量(用單引號)與字串常量(用雙引號)的區別。字元常量的值等於該字元在機器字元集中對應的數值,在運算式中只是一個整型數(跟所選用的機器字元集有關,不要以為只有ASCII字元集);

(5)【P14】1.5.4節的常式感覺相當精彩,亮點是使用state來判斷讀出的字元是否在單詞裡面,開始初始化state為OUT,然後c=getchar()讀入一個字元,不是空格/定位字元/分行符號之類字元的話就執行else if(state==OUT)將state設定為IN,一直到下一個空格/定位字元/分行符號(說明該單詞結束)為止;

還要注意nl=nw=nc=0;指派陳述式是從右至左執行的,而if(c==’ ’||c==’\n’||c==’\t’)是從左至右,只要有一個條件滿足就不會執行後面的語句判斷。

 

第1章-導言-1.1~1.5知識點

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.