1. 程式人生 > >C語言發展史,第一個C語言程式,多語言對比

C語言發展史,第一個C語言程式,多語言對比

第一個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可執行檔案


2.main函式其它寫法

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可執行檔案


多語言對比

本小節知識點:

  1. C語言

  2. OC語言

  3. C++語言

  4. Java

  5. 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帶你飛")