概況
main()
{int a,b,s;
printf("Enter two number a,b=?/n);
scanf("%d%d",&a,&b);
s=a+b;
printf(s=%d/n,s);
}
語言是在70年代初問世的。一九七八年由
美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標準。但是,在《K&R》中並沒有定義一個完整的標準C語言,後來由
美國國家標準學會在此基礎上制定了一個C 語言標準,於一九八三年發表。通常稱之為ANSI C。
早期的C語言主要是用於
UNIX系統。由於C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它作業系統,並很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的
程式設計語言之一。
功能
·GNU Compiler Collection 或稱
GCC·Microsoft C 或稱 MS C
·Borland Turbo C 或稱 Turbo C
這些C語言版本不僅實現了ANSI C標準,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
選擇
關於C語言編譯器的選擇(Tc2.0,Tc3.0,Vc6.0等)
我們在學習C語言時通常會面臨C語言編譯器的選擇,事實上C語言編譯器可以分為C和C++兩大類,其中C++是C的超集,均向下支持C。主要的C語言編譯器及特點分別如下:
(1)TC 2.0DOS平台軟體。最經典的C語言編譯器,系統體積小,簡單易學,容易上手,而且很多前人或書籍的程式均基於該編譯器,是學習C語言的首選。不過它不支持滑鼠,但讀者如果掌握幾個快捷鍵,操作時對滑鼠可能就不怎么需要了,如:
F2 存檔 F3 打開程式 Alt+F3在最近打開的檔案之間切換 Alt+F5觀察運行結果
F9 編譯製作EXE Ctrl+F9編譯並運行
Ctrl+Y 刪除當前行 Ctrl+KB定義塊首 Ctrl+KK 定義塊尾 Ctrl+KC複製塊 Ctrl+KY刪除塊
Ctrl+KV 移動塊
(2)Tc3.0DOS平台軟體。目前比較不錯的C/C++語言編譯器,支持滑鼠,語法著色,多文檔,錯誤跟蹤也很好,操作與TC2.0有很多類似,TC2.0會用那么TC3.0也很快會用,缺點是以前很多代碼是用TC2.0設計的,而由於TC3.0語法要求的嚴格性,如要求函式必須定義類型,所以向下存在一定的兼容性問題,所以對於初學者選擇起來很矛盾,建議先學會使用TC2.0,而把TC3.0作為能力的補充和平時工具之用。
目前有的教材已經選用該編譯器,不過需要一個較長的調整期,因為很多原始碼需要過渡過來才行,雖然性能上比TC2.0有所提高,但對於初學者沒有質的變化,選擇時需要注意。
(3)VC++ 6.0Windows平台。目前主流的C/C++語言編譯器,包含強大的類和內嵌WinAPI的MFC,具有可視化的編程界面。對於TC等的作品也具有向下兼容的特點,建議讀者選用作為C語言過渡到Windows平台編程的首選工具。當然,作為學習,該系統顯得有點龐大,不過通過入門的學習,調試舊的Tc程式也可以。還有其他的編譯器,例如Win tc、gcc、lcc、BC 3.1等等,事實上,編譯器的選擇不是最重要的,他們都可以完成基本的C語言編譯,不過面向考試的時候,還是根據考試的要求,因為編譯器的編譯結果存在著一定的差別,特別在一些複雜語法的語句編譯上。從目前的形勢看,對於從未學習過電腦程式設計的讀者來說,學習C語言時,建議開始選擇Tc2.0,雖然不能使用滑鼠,但幾個快捷鍵的熟練運用基本上可以解決操作的問題,當然有時間的時候了解使用TC3.0就更好了;對於學習過TC2.0的讀者來說,平時完全可以在TC3.0或VC 6.0下調試程式,但考試的時候如果要求必須在TC2.0下,那最好上機練習時在TC2.0下。當然,使用如記事本等文本編輯器編輯程式,然後用TC來調試也不失為一種好方法。另外,DOS平台的Tc2.0或Tc3.0都存在某些機器運行時鍵盤回響遲緩或停頓的問題,Tc3.0可能這種現象要多一點,這主要是由DOS基本記憶體的不足造成的。可以安裝水平考試課題組提供的DOS模擬器來解決問題,該模擬器重新劃分更多的記憶體,效果不錯。
新的類似軟體平台也需要讀者關注,那就是Java和Viusal C#,因為從發展的眼光來看,目前軟體設計平台有一定的趨同趨勢。例如:java和C#,都來自於C和C++,都作了不錯的擴展和最佳化。對於深入學習C語言的同學,未來幾年請務必學習VisualStudio.Net或者Java,因為這二者代表了現在的軟體設計主流。他們的主要特點是:優秀的IDE設計環境,強大的WEB服務設計功能,對C++的最佳化和擴充,基於虛擬機的運行模式,優秀的面向系統開發,可視化的較為成熟的面向對象的程式設計機制等等.