21天学通C语言-学习笔记(2)
第二章 C語言編程準備
第一章介紹了C語言的歷史和程序設計的一些知識,本章將介紹C語言的特點。C程序由許許多多的標識符、關鍵字和操作符等組成。C語言規定了簡單有效的語法規則并將它們組合在一起,串成一個個有豐富功能的程序。
2.1 C程序簡介
本節將通過兩個簡單的C程序的講解,使大家對C語言的特點有一個初步的印象。
2.1.1 簡單C程序示例
【范例2-1】輸出一個正方形,實現方法如示例代碼2-1所示。
示例代碼2-1
#include <stdio.h> /*包含文件*//*空行*/ int main(void) { /*main函數的聲明,下面都為main函數的函數體*//*使用printf語句逐行輸出正方形*/printf("* * * * *\n"); /*輸出第1行*/printf("* *\n"); /*輸出第2行*/printf("* *\n"); /*輸出第3行*/printf("* *\n"); /*輸出第4行*/printf("* * * * *\n"); /*輸出第5行*//*空行*/return 0; /*返回語句*/ }【運行結果】程序運行后,得到一個由*號組成的正方形框,可在Visual Studio上驗證。
【代碼解析】
- 第5~9行是函數體的內容,是程序功能的實現主體。每一行都是一個函數調用語句,調用了printf函數,其功能為打印子串。第5行打印的子串內容為“* * * * * *\n”,這個子串輸出到屏幕時會將其中的\n處理為換行,其余字符按原樣輸出。
- 第10行與第2行一樣,也是一個空行。同樣也是為了隔開功能不同的兩個程序段而設置的。
- C99標準規定無形參的main函數的聲明要寫為“int main(void)”,且要有“return 0;”語句。
【范例代碼2-2】本范例簡單地展示了C語言中一些操作符、變量和數據類型,實現方法如示例代碼2-2所示。
示例代碼2-2
#include <stdio.h> /*包含文件*//*包含空行*/ int main(void){ /*main函數聲明*//*定義兩個整型變量*/int a = 3; /*定義并初始化a*/int b = 7; /*定義并初始化b*//*定義兩個浮點型變量*/double c = 2.4; /*定義并初始化c*/double d = 7.4; /*定義并初始化d*//*使用操作符進行計算*/b = b + a; /*對b賦值*/d = c * d; /*對d賦值*//*定義兩個整型變量*/printf("a = %d\n", a); /*輸出a的值*/printf("b = %d\n", b); /*輸出b的值*/printf("c = %d\n", c); /*輸出c的值*/printf("d = %d\n", d); /*輸出d的值*/return 0; }【代碼說明】%d 的作用是將輸出的數據轉換為指定的格式輸出。在這里,printf函數用字符串外的數值替換字符串中的內容后輸出。
2.1.2 C程序的特點
-
C程序開頭一般都有一些以#include開頭的預處理語句,它的作用是用來包含一些外部文件;
-
都有一個main函數,它是程序的執行入口;
-
main函數都有以下聲明:
int main(void)
-
程序的執行主體都放在main函數的函數體中;
-
變量必須定義后才能使用;
-
可以使用一系列的操作符對變量進行操作;
-
可以調用函數來執行一些功能;
-
都含有如下返回函數值的return語句:
return 0;
-
程序執行過程中,從main函數開始,到它的return語句結束;
-
一般有適當的注釋語句,以輔助說明語句功能;
-
在不同程序段之間要適當地加空行,使程序結構清晰;
-
程序語句要有良好的縮進風格,以提高代碼可讀性。
2.1.3 標識符和關鍵字
標識符是在C語言中用來標識唯一的對象的符號。具體地說,就是各種名稱,如變量的名稱、常量的名稱、函數的名稱、數據類型的名稱、命令的名稱等。例如,在范例2-1中,include是標識符、main是標識符、int是標識符、void是標識符、printf是標識符,return是標識符。
標識符的第一個字符必須是字母或下劃線,后跟字母、下劃線或數字。標識符中區別大小寫字母。
關鍵字也是標識符。在范例2-1和范例2-2中接觸到了幾個C語言的關鍵字,如int、double、void、return等。關鍵字是C語言定義的一些有特殊意義的字符串,是為C編譯器專門保留的,因此,也稱為保留字。由于關鍵字有特殊的含義,因此,程序員不能使用這些字符串作為變量名和函數名。
| restrict | Unsigned |
| break | Bool |
| extern | return |
| Void | case |
| float | continue |
| short | Volatile |
| char | for |
| signed | If |
| While | const |
| goto | sizeof |
| static | default |
| inline | struct |
| do | int |
| switch | double |
| long | typedef |
| else | register |
| union | _Complex |
| _Imaginary | auto |
| enum |
2.1.4 C程序的執行步驟
1.編譯:編譯過程就是把C程序翻譯成機器認可的機器碼的過程。這個過程又分為預編譯、編譯階段、優化階段和匯編階段四個部分。
-
預編譯也叫預處理,就是在正式編譯前所做的工作。C程序中的預處理命令都在這個階段完成,預編譯完成的基本上是對源程序的“替代”工作,如“#include<studio.h>”,就是使用文件“studio.h”的內容替換該命令。
-
編譯階段負責對預編譯后的C程序進行詞法和語法分析,C程序中的詞法錯誤和語法錯誤會在這里被發現。
2.鏈接: 經過編譯后得到的目標文件中的機器碼是相互獨立的,需要鏈接器將它們組合在一起,并解析它們之間的交叉引用。C程序如果調用了函數庫,這個過程就會將調用命令與被調用的函數鏈接在一起。
3.運行:完成鏈接后,就會得到一個可執行文件,可以直接運行。運行后,就可以得到程序結果。如果程序中有屏幕輸出的命令,便可以在屏幕上看到打印內容。
2.2 C程序開發環境
Turbo C、Visual C++ 2005、GCC3.2.2
2.3 小結
本章先介紹了C語言的一些基本特點,再介紹了標識符和關鍵字的概念,然后介紹了編譯、鏈接和運行等在程序開發過程中的角色,最后介紹了開發環境,這是學習C語言最基本的技能。
總結
以上是生活随笔為你收集整理的21天学通C语言-学习笔记(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python Tricks(十九)——
- 下一篇: ajaxSubmit异步提交