最近一直在繼續閱讀本書,因為一直在準備期末而沒怎麼看部落格,現在期末結束了,可以繼續寫了。就目前的進度而言這本書寫的很詳細,細節有很多,一些地方也會在全書中多次強調。
全書共分17章,這是關于本書第2章内容的部落格。本章很多内容會在後面章節中詳細介紹,在本文中會略寫。部落格的目錄和書上目錄是相似的。此系列部落格的代碼都在Visual Studio 2022環境下編譯運作。
我目前大一剛剛結束,水準有限,部落格中若有錯誤或者總結不到位的地方也請見諒。
目錄
2.1 簡單的C程式示例及其解釋
2.1.1 簡單的C程式示例
2.1.2 #include指令和頭檔案
2.1.3 main()函數
2.1.4 注釋
2.1.5 花括号、函數體和塊
2.1.6 聲明
2.1.7 指派
2.1.8 printf()函數
2.1.9 return語句
2.2 簡單程式的結構
2.3 提高程式可讀性的技巧
2.4 多個函數
2.5 調試程式
2.5.1 文法錯誤
2.5.2 語義錯誤
2.5.3 程式狀态
2.6 關鍵字和保留辨別符
2.1 簡單的C程式示例及其解釋
2.1.1 簡單的C程式示例
#include<stdio.h>
int main(void)
{
int num;
num = 1;
printf("I am a simple ");
printf("computer.\n");
printf("My favorite number is %d because it is first.\n", num);
return 0;
}
該程式的功能是在螢幕上列印一些内容。編譯運作後列印的内容如下:
I am a simple computer.
My favorite number is 1 because it is first.
如果程式的輸出在螢幕上一閃而過,可以在程式中添加下面的語句:
getchar();
此語句讓程式等待按鍵,視窗在使用者按鍵後關閉。
2.1.2 #include指令和頭檔案
#include<stdio.h>的作用相當于把stdio.h檔案的内容輸入該行所在位置。
#include這行代碼是一條預處理指令。通常C編譯器在編譯前會對源代碼做一些準備工作,即預處理。
stdio.h頭檔案包含了輸入和輸出函數,檔案名含義是标準輸入和輸出頭檔案。頭檔案包含了編譯器建立最終可執行程式的需要資訊,如函數的定義。頭檔案幫助編譯器把程式正确組合在一起。
使用庫函數需要包含必要的頭檔案。
2.1.3 main()函數
int main(void),此語句表明函數名為main,傳回類型為int(整數),void表明不接受參數。
在一般情況下,C程式一定從main()函數開始執行。圓括号表明這是一個函數。函數是C程式的基本子產品。圓括号内包含接受參數,沒有則為void。
2.1.4 注釋
被括起來的部分是注釋,注釋能讓人更容易明白程式。C語言的注釋可以放在任意地方,也可以放一行或者多行。編譯器會忽略所有注釋。
以//開頭的一行文字也是注釋,這種隻能是一行,如果要注釋多行則需要在每行的開頭都增加//。
2.1.5 花括号、函數體和塊
花括号{}将函數的内容括起來。C語言使用花括号标記函數的開始和結束,或者将多條語句合并為一個單元。
2.1.6 聲明
聲明是C語言最重要的特性之一。int num;就是聲明,聲明變量類型為int,辨別符(即名稱)為num。
int表示整數,是一種資料類型。int是C語言的一個關鍵字,關鍵字被語言定義,不能用于其他用途。
聲明将特定辨別符和和計算機記憶體的特定位置聯系起來,同時确定資訊類型或資料類型。
C語言中所有變量必須先聲明才能使用。聲明可以放在代碼中的任意位置,但是必須在使用前聲明。
給變量命名時要使用有意義的變量名或辨別符,如果變量名無法清楚地表達自身用途,可以在注釋中聲明。可以使用小寫字母、大寫字母、數字和下劃線命名,但是名稱的第一個字元必須是字母或者下劃線。變量命名區分大小寫。
2.1.7 指派
num = 1;這個語句把1賦給num。指派将值存儲在之前為變量預留的位置。
2.1.8 printf()函數
C語言的庫函數printf()檢視雙引号的内容,并列印在螢幕上。
2.1.9 return語句
return語句的結構是return 傳回值; 。如果遺漏main函數的return語句,程式在右花括号處會自動結束,但最好不要省略。
2.2 簡單程式的結構
C語言程式由一個或多個函數組成,一般必須有main()函數。
函數由函數頭和函數體組成。函數頭包括函數名,傳入該函數的資訊類型和函數的傳回類型。函數體由花括号括起來,由一系列語句、聲明組成。
一個簡單的C程式格式如下:
#include <stdio.h>
int main(void)
{
語句
return 0;
}
2.3 提高程式可讀性的技巧
編寫可讀性高的程式是良好的程式設計習慣。可讀性高的程式更容易了解,也更容易修改和更正,還有助于幫助了解程式設計思路。
幾個提高可讀性的技巧:選擇有意義的函數名和變量名;寫注釋;用空行分隔概念上的多個部分;每條語句各占一行。
C語言不強制必須用空行,也不要求語句必須占一行。
每條語句最後都有分号,分号告訴編譯器這條語句在哪裡結束。
2.4 多個函數
C語言中可以使用自己的函數。自定義函數通常出現三次:函數原型(也叫函數聲明)、函數調用和函數定義。
2.5 調試程式
程式的錯誤通常叫做bug,找出bug并修正的過程叫做調試(debug)。
2.5.1 文法錯誤
不遵循C語言文法規則會導緻文法錯誤。在編譯時,編譯器發現文法錯誤會指出錯誤,并報告資訊,此時不能執行程式。
2.5.2 語義錯誤
語義錯誤指意思的錯誤。不違反C語言文法規則,但是結果與預期不符,就是語義錯誤。編譯器不會檢查語義錯誤,隻能自己找。
2.5.3 程式狀态
一些編譯器中提供有設定,可以一步一步運作程式,并檢查變量的值。
2.6 關鍵字和保留辨別符
關鍵字對C語言而言比較特殊,不能用于作為辨別符。使用關鍵詞不當會導緻報錯。
保留辨別符已經被指定用途或保留使用權,如果使用可能導緻問題,不要随便使用。