標籤:UI 結構體 聲明 reading 代碼 解譯器 程式設計語言 資料類型 驅動
C 語言是一種通用的、面向過程式的電腦程式設計語言。
C 語言是一種通用的進階語言,最初是由丹尼斯·裡奇在貝爾實驗室為開發 UNIX 作業系統而設計的。C 語言最開始是於 1972 年在 DEC PDP-11 電腦上被首次實現。
在 1978 年,布萊恩·柯林漢(Brian Kernighan)和丹尼斯·裡奇(Dennis Ritchie)製作了 C 的第一個公開可用的描述,現在被稱為 K&R 標準。
UNIX 作業系統,C編譯器,和幾乎所有的 UNIX 應用程式都是用 C 語言編寫的。由於各種原因,C 語言現在已經成為一種廣泛使用的專業語言。
C 語言是一種廣泛使用的電腦語言,它與 Java 程式設計語言一樣普及,二者在現代軟體程式員之間都得到廣泛使用。
當前最新的C語言標準為 C11 ,在它之前的C語言標準為 C99。
電腦等級考試中通常使用C語言考核。
eg:“Hello World”
1 #include <stdio.h>2 3 int main()4 {5 /* 我的第一個 C 程式 */6 printf("Hello, World! \n");7 8 return 0;9 }
執行個體解析:
- 所有的 C 語言程式都需要包含 main() 函數。 代碼從 main() 函數開始執行。
- /* ... */ 用於多行注釋說明,//用於單行注釋。
- printf() 用于格式化輸出到螢幕。printf() 函數在 "stdio.h" 標頭檔中聲明。
- stdio.h 是一個標頭檔 (標準輸入輸出標頭檔) , #include 是一個預先處理命令,用來引入標頭檔。 當編譯器遇到 printf() 函數時,如果沒有找到 stdio.h 標頭檔,會發生編譯錯誤。
- return 0; 語句用於表示退出程式。
C語言的優點:
- 易於學習。
- 結構化語言。
- 它產生高效率的程式。
- 它可以處理底層的活動。
- 它可以在多種電腦平台上編譯。
關於C
- C 語言是為了編寫 UNIX 作業系統而被發明的。
- C 語言是以 B 語言為基礎的,B 語言大概是在 1970 年被引進的。
- C 語言標準是於 1988 年由美國國家標準協會(ANSI,全稱 American National Standard Institute)制定的。
- 截至 1973 年,UNIX 作業系統完全使用 C 語言編寫。
- 目前,C 語言是最廣泛使用的系統程式設計語言。
- 大多數先進的軟體都是使用 C 語言實現的。
- 當今最流行的 Linux 作業系統和 RDBMS(Relational Database Management System:關聯式資料庫管理系統) MySQL 都是使用 C 語言編寫的。
為什麼要使用 C?
C 語言最初是用於系統開發工作,特別是組成作業系統的程式。由於 C 語言所產生的代碼運行速度與組合語言編寫的代碼運行速度幾乎一樣,所以採用 C 語言作為系統開發語言。下面列舉幾個使用 C 的執行個體:
- 作業系統
- 語言編譯器
- 彙編器
- 文字編輯器
- 印表機
- 網路磁碟機
- 現代程式
- 資料庫
- 語言解譯器
- 實體工具
C 程式
一個 C 語言程式,可以是 3 行,也可以是數百萬行,它可以寫在一個或多個副檔名為 ".c" 的文字檔中,例如,hello.c。您可以使用 "vi"、"vim" 或任何其他文字編輯器來編寫您的 C 語言程式。
C11
C11(也被稱為C1X)指ISO標準ISO/IEC 9899:2011,是當前最新的C語言標準。在它之前的C語言標準為C99。
新特性
對齊處理(Alignment)的標準化(包括_Alignas標誌符,alignof運算子,aligned_alloc函數以及<stdalign.h>標頭檔)。
_Noreturn 函數標記,類似於 gcc 的 __attribute__((noreturn))。
_Generic 關鍵字。
多線程(Multithreading)支援,包括:
_Thread_local儲存類型標識符,<threads.h>標頭檔,裡麵包含了線程的建立和管理函數。
_Atomic類型修飾符和<stdatomic.h>標頭檔。
增強Unicode的支援。基於C Unicode技術報告ISO/IEC TR 19769:2004,增強了對Unicode的支援。包括為UTF-16/UTF-32編碼增加了char16_t和char32_t資料類型,提供了包含unicode字串轉換函式的標頭檔<uchar.h>。
刪除了 gets() 函數,使用一個新的更安全的函數gets_s()替代。
增加了邊界檢查函數介面,定義了新的安全的函數,例如 fopen_s(),strcat_s() 等等。
增加了更多浮點處理宏(宏)。
匿名結構體/聯合體支援。這個在gcc早已存在,C11將其引入標準。
靜態斷言(Static assertions),_Static_assert(),在解釋 #if 和 #error 之後被處理。
新的 fopen() 模式,("…x")。類似 POSIX 中的 O_CREAT|O_EXCL,在檔案鎖中比較常用。
新增 quick_exit() 函數作為第三種終止程式的方式。當 exit()失敗時可以做最少的清理工作。
c語言簡介