前面幾節介紹了常量和變量、運算符、表達式和語句的概念,對它們的使用有了一個大概的了解。也許剛學程序的人會覺得有些枯燥,下面我們就來編寫第一個C語言程序。
#define PI 3.1416
main()
{
float Radius,Area;
scanf(%f,&Radius); /*輸入半徑的值*/
Area=PI*Radius*Radius;
printf(%f\n,Area); /*輸出圓的面積*/
}
1.一個C語言程序,通常由帶有#號的編譯預處理語句開始。關於預處理我們在以後介紹,這裡的#define PI 3.1415926相當於PI代表3.1416,下面在程序中遇到PI,我們就用3.1416替代一下。在以後的程序中,在學習預處理之前,我們都將不使用預處理語句。
2.main() 任何一個完整的程序都需要main(),這是一個函數,具體什麼是函數,以後再講,這兒你就要記住就行。後面有一對{}把所有的語句都括在裡面,表明那些語句都屬於main()裡面。程序運行時從這個左大括號開始。
3.{}裡面的4行語句大家應該都能明白,先定義兩個變量,一個代表半徑,一個代表面積,然後輸入半徑的值,然後求面積,最後在屏幕上輸出面積。程序到main()的那對{}的右大括號結束。求面積的語句Area=PI*Radius*Radius;相當於Area=3.1416*Radius*Radius;(完全用3.1416替代PI)。
具體程序從編寫到運行得到結果的步驟為:
1.雙擊tc.exe,進入Turbo C 2.0編譯界面
2.ALT+E 進入編輯模式
3.書寫程序
4.F2 存儲程序(也可進入File菜單,選擇save),第一次存儲需要寫上程序名稱(*.C),回車
5.ALT+F9 編譯,如果有錯誤和警告,光標停留在錯誤行,回車進行修改,修改後,回到4;沒有錯,下一步
6.CTRL+F9 連接和運行程序
7.用ALT+F5查看程序運行結果,任意鍵返回程序
如何打開一個已有的C文件:
1.雙擊tc.exe,進入Turbo C 2.0編譯界面
2.F3 進入load狀態,找到所要打開文件的目錄,找到文件,回車;後面都一樣。
具體的有哪些快捷鍵及其它們的作用,請查看第一節概述。
說明:
1.必須在程序的最開始部分定義所有用到的變量,例如這裡的Area,Radius。
2.變量的命名要盡量有意義,如用代表該意思的英文單詞、或者是漢語拼音,例如這裡的Radius,Area,絕對禁止用毫無干系的字母,如a,b,c。例如下面的程序,雖然意思和上面的一樣,但是看上去意思不明朗,時間長了,很可能忘記程序本身的意思。對於僅僅是控制程序運行,不代表實際意思時,可以用一些簡單字母。
main()
{
float a,b;
scanf(%f,&a);
b=3.1416*a*a;
printf(%f\n,b);
}
3.采用層次書寫程序的格式,要有合理的縮進,必要的時候要有空行,一行只書寫一個語句。所有語句盡量不分行,除非太長(分行時變量、運算符,格式字符等等不能拆開),例如下面兩個程序看起來就不好看了,雖然它們的功能和前面是一樣的。
main()
{float Radius,Area;scanf(%f,&Radius);
Area=3.1416*Radius*Radius;printf(%f\n,Area);}
main()
{
float Radius,Area;
scanf(%f,
%Radius);
Area=3.1416*Radius
*Radius;
printf(%f\n,
Area);
}
4.程序在適當的地方要用/*……*/注釋,它的意思表示在/* */裡面的所有字符都不參加編譯。因為一個較大的程序,經過一段時間,有些地方可能連編程者都忘記了,增加注釋可以幫助恢復記憶,調試程序時,也容易找出錯誤。注釋也可以分行寫。
5.在書寫{}時要對齊。雖然不對應也不影響程序運行,但對齊後方便以後檢查程序,也是為了美觀,特別是後面學到流程控制時,{}一定要對齊。
程序設計方法:
1.從問題的全局出發,寫出一個概括性的抽象的描述。
2.定義變量,選取函數,確定算法。算法這個東西不好說,遇到的問題多了,自然就會形成自己一整套的算法。
3.按照解決問題的順序把語句和函數在main()裡面堆砌起來。
一個好的C程序員應該做到:
1.在運行程序之前存盤
2.所有在程序中用到的常量都用預處理語句在程序開頭定義
3.所有在程序中用到的函數都在程序開頭聲明
4.頭文件的#ifndef
5.變量名和函數名使用有意思的英文單詞或漢語拼音
6.盡量少用全局變量或不用全局變量
7.采用層次的書寫程序格式,對for,while,if_else,do_while,switch_case等控制語句或他們的多重嵌套,采用縮格結構
8.所有對應的{}都對齊
9.盡量用for,而不用while做記數循環
10.盡量不用goto語句
11.一個函數不宜處理太多的功能,保持函數的小型化,功能單一化
12.一個函數要保持自己的獨立性,如同黑匣子一樣,單進單出
13.函數的返回類型不要省略
14.用malloc()分配內存空間時,以後一定要用free()釋放
15.打開文件後,記住在退出程序前要關閉
16.出錯情況的處理
17.寫上必要的注釋
這裡說的是一些基本的,經常遇到的情況,還有其他很多要注意的地方,在實際編程中都會遇到.