C語言發展史,第一個C語言程式,多語言對比
1.什麼是C語言?
-
C語言屬於一門高階語言
-
既然是語言就是用來溝通的, 例如中國人與中國人溝通用漢語, 美國人和美國人溝通用英語
-
-
iOS程式的主要開發語言就是C語言和Objective-C,而Objective-C是在C語言的基礎上衍生出來的,因此在學習Objective-C之前,最好先學習C語言
-
C語言是所有程式語言中的經典,很多高階語言都是從C語言中衍生出來的,比如C++、C#、Objective-C等
2.為什麼要先學C語言?
3.C語言歷史
-
最早的高階語言:FORTRAN-->ALGOL-->CPL-->BCPL-->C-->C++等
-
“初,世間無語言,僅電路與連線。及大牛出,天地開,始有 FORTRAN, LISP。ALGOL 隨之, 乃有萬種語”
-
-
1963年英國劍橋大學推出了CPL(Combined Programming Langurage)語言。 CPL語言在ALGOL 60的基礎上接近硬體一些,但規模比較大,難以實現。
-
1967年英國劍橋大學的 Matin Richards(理查茲)對CPL語言做了簡化,推出了 BCPL (Base Combined Programming Langurage)語言。
-
1970年美國貝爾實驗室的 Ken Thompson(肯·湯普遜) 以 BCPL 語言為基礎,又作了進一步的簡化,設計出了很簡單的而且很接近硬體的 B 語言(取BCPL的第一個字母),並用B語言寫出了第一個 UNIX 作業系統。但B語言過於簡單,功能有限。
-
1972年至1973年間,貝爾實驗室的 Dennis.Ritchie(丹尼斯·裡奇) 在 B語言的基礎上設計出了C語言(取BCPL的第二個字母)。C語言即保持 BCPL 語言和B語言的優點(精練、接近硬體),又克服了他們的缺點(過於簡單,資料無型別等)。
4.C語言標準
-
1983年美國國家標準局(American National Standards Institute,簡稱ANSI)成立了一個委員會,開始制定C語言標準的工作
-
1989年C語言標準被批准,這個版本的C語言標準通常被稱為ANSI C
-
1999年,國際標準化組織ISO又對C語言標準進行修訂,在基本保留原C語言特徵的基礎上,針對應該的需要,增加了一些功能,命名為C99
-
2011年12月8日,ISO正式公佈C語言新的國際標準草案:C11
5.C語言特點
-
豐富的運算子
-
豐富的資料型別
-
可以直接操作硬體
-
高效的目的碼
-
可移植性好
C語言“Hello World”
-
C語言源程式組成
-
C語言中,程式由"函式"構成,每個函式有自己的功能
-
一個程式有且只有一個主函式
-
如果一個程式沒有主函式,則這個程式不具備執行能力
-
函式都是隻有在呼叫的時候才會去執行的,主函式由系統呼叫
-
主函式的格式必須按照規範寫
-
-
程式程式碼
#include <stdio.h> int main(int argc, const char * argv[]) { // insert code here... printf("Hello, World!\n"); return 0; }
3.源程式分析
-
1.
#include <stdio.h>
+ 告訴系統printf函式在哪
-
2.
int main() { printf("Hello, World!\n"); return 0; }
+ main 函式的名稱 * 一個程式只能有一個main函式/主函式 * C程式的入口是main函式 + (int argc, const char * argv[]) 函式接受的引數 * int argc, const char * argv[] 可以沒有 + return 0; 函式返回值 * 可以理解為人買東西, 例如: 希希(main)我給你10快錢(int argc, const char * argv[])你給我一張光碟(int) + printf("Hello, World!\n"); 呼叫系統的輸出函式, 接受一個引數"Hello, World!\n" * 可以理解為光碟的內容
-
-
-
原始碼:程式設計師自己寫程式碼,.c是C語言的原始碼檔案
-
編譯:把原始碼翻譯成0、1,生成一個.o目標檔案
-
連結:把目標檔案和庫函式進行整合生成一個.out可執行檔案
-
int main() { printf("Hello, World!\n"); return 0; }
int main() { printf("Hello, World!\n"); }
main() { printf("Hello, World!\n"); }
-
-
原始碼:程式設計師自己寫程式碼,.c是C語言的原始碼檔案
-
編譯:把原始碼翻譯成0、1,生成一個.o目標檔案
-
連結:把目標檔案和庫函式進行整合生成一個.out可執行檔案
-
本小節知識點:
-
C語言
-
OC語言
-
C++語言
-
Java
-
Swift語言
1.C語言
#include<stdio.h> int main() { printf("徵哥帶你裝B帶你飛"); return 0; }
2.OC語言
#import <Foundation/Foundation.h> int main() { NSLog(@"徵哥帶你裝B帶你飛"); return 0; }
3.C++語言
#include<iostream> int main() { std::cout << "lnj" << std::endl; return 0; }
4.Java
class Test { public static viod main() { system.out.println("徵哥帶你裝B帶你飛"); } }
5.Swift語言
println("南哥帶你裝B帶你飛")