C語(yǔ)言基礎(chǔ)知識(shí)

簡(jiǎn)介
C 語(yǔ)言是一種通用的、面向過程式的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。1972 年,為了移植與開發(fā) UNIX 操作系統(tǒng),丹尼斯·里奇在貝爾電話實(shí)驗(yàn)室設(shè)計(jì)開發(fā)了 C 語(yǔ)言。C 語(yǔ)言是一種廣泛使用的計(jì)算機(jī)語(yǔ)言,它與 Java 編程語(yǔ)言一樣普及,二者在現(xiàn)代軟件程序員之間都得到廣泛使用。當(dāng)前最新的 C 語(yǔ)言標(biāo)準(zhǔn)為 C18 ,在它之前的 C 語(yǔ)言標(biāo)準(zhǔn)有 C17、C11…C99 等。
編譯/執(zhí)行 C 程序
實(shí)例解析:
1.所有的 C 語(yǔ)言程序都需要包含 main() 函數(shù)。 代碼從 main() 函數(shù)開始執(zhí)行。
2./* … */ 用于注釋說(shuō)明。
3.printf() 用于格式化輸出到屏幕。printf() 函數(shù)在 “stdio.h” 頭文件中聲明。
4.stdio.h 是一個(gè)頭文件 (標(biāo)準(zhǔn)輸入輸出頭文件) , #include 是一個(gè)預(yù)處理命令,用來(lái)引入頭文件。 當(dāng)編譯器遇到 printf() 函數(shù)時(shí),如果沒有找到 stdio.h 頭文件,會(huì)發(fā)生編譯錯(cuò)誤。
5.return 0; 語(yǔ)句用于表示退出程序。
C 簡(jiǎn)介
C 語(yǔ)言是一種通用的高級(jí)語(yǔ)言,最初是由丹尼斯·里奇在貝爾實(shí)驗(yàn)室為開發(fā) UNIX 操作系統(tǒng)而設(shè)計(jì)的。C 語(yǔ)言最開始是于 1972 年在 DEC PDP-11 計(jì)算機(jī)上被首次實(shí)現(xiàn)。
在 1978 年,布萊恩·柯林漢(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)制作了 C 的第一個(gè)公開可用的描述,現(xiàn)在被稱為 K&R 標(biāo)準(zhǔn)。
UNIX 操作系統(tǒng),C編譯器,和幾乎所有的 UNIX 應(yīng)用程序都是用 C 語(yǔ)言編寫的。由于各種原因,C 語(yǔ)言現(xiàn)在已經(jīng)成為一種廣泛使用的專業(yè)語(yǔ)言。
易于學(xué)習(xí)。
結(jié)構(gòu)化語(yǔ)言。
它產(chǎn)生高效率的程序。
它可以處理底層的活動(dòng)。
它可以在多種計(jì)算機(jī)平臺(tái)上編譯。
關(guān)于 C
C 語(yǔ)言是為了編寫 UNIX 操作系統(tǒng)而被發(fā)明的。
C 語(yǔ)言是以 B 語(yǔ)言為基礎(chǔ)的,B 語(yǔ)言大概是在 1970 年被引進(jìn)的。
C 語(yǔ)言標(biāo)準(zhǔn)是于 1988 年由美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI,全稱 American National Standard Institute)制定的。
截至 1973 年,UNIX 操作系統(tǒng)完全使用 C 語(yǔ)言編寫。
目前,C 語(yǔ)言是最廣泛使用的系統(tǒng)程序設(shè)計(jì)語(yǔ)言。
大多數(shù)先進(jìn)的軟件都是使用 C 語(yǔ)言實(shí)現(xiàn)的。
當(dāng)今最流行的 Linux 操作系統(tǒng)和 RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) MySQL 都是使用 C 語(yǔ)言編寫的。
為什么要使用 C?
C 語(yǔ)言最初是用于系統(tǒng)開發(fā)工作,特別是組成操作系統(tǒng)的程序。由于 C 語(yǔ)言所產(chǎn)生的代碼運(yùn)行速度與匯編語(yǔ)言編寫的代碼運(yùn)行速度幾乎一樣,所以采用 C 語(yǔ)言作為系統(tǒng)開發(fā)語(yǔ)言。下面列舉幾個(gè)使用 C 的實(shí)例:
操作系統(tǒng)
語(yǔ)言編譯器
匯編器
文本編輯器
打印機(jī)
網(wǎng)絡(luò)驅(qū)動(dòng)器
現(xiàn)代程序
數(shù)據(jù)庫(kù)
語(yǔ)言解釋器
實(shí)體工具
C 程序
一個(gè) C 語(yǔ)言程序,可以是 3 行,也可以是數(shù)百萬(wàn)行,它可以寫在一個(gè)或多個(gè)擴(kuò)展名為 “.c” 的文本文件中,例如,hello.c。您可以使用 “vi”、“vim” 或任何其他文本編輯器來(lái)編寫您的 C 語(yǔ)言程序。
本教程假定您已經(jīng)知道如何編輯一個(gè)文本文件,以及如何在程序文件中編寫源代碼。
C11
C11(也被稱為C1X)指ISO標(biāo)準(zhǔn)ISO/IEC 9899:2011。在它之前的C語(yǔ)言標(biāo)準(zhǔn)為C99。
新特性
對(duì)齊處理(Alignment)的標(biāo)準(zhǔn)化(包括_Alignas標(biāo)志符,alignof運(yùn)算符,aligned_alloc函數(shù)以及<stdalign.h>頭文件)。
_Noreturn 函數(shù)標(biāo)記,類似于 gcc 的 attribute((noreturn))。
_Generic 關(guān)鍵字。
多線程(Multithreading)支持,包括:
_Thread_local存儲(chǔ)類型標(biāo)識(shí)符,<threads.h>頭文件,里面包含了線程的創(chuàng)建和管理函數(shù)。
_Atomic類型修飾符和<stdatomic.h>頭文件。
增強(qiáng)的Unicode的支持。基于C Unicode技術(shù)報(bào)告ISO/IEC TR 19769:2004,增強(qiáng)了對(duì)Unicode的支持。包括為UTF-16/UTF-32編碼增加了char16_t和char32_t數(shù)據(jù)類型,提供了包含unicode字符串轉(zhuǎn)換函數(shù)的頭文件<uchar.h>。
刪除了 gets() 函數(shù),使用一個(gè)新的更安全的函數(shù)gets_s()替代。
增加了邊界檢查函數(shù)接口,定義了新的安全的函數(shù),例如 fopen_s(),strcat_s() 等等。
增加了更多浮點(diǎn)處理宏(宏)。
匿名結(jié)構(gòu)體/聯(lián)合體支持。這個(gè)在gcc早已存在,C11將其引入標(biāo)準(zhǔn)。
靜態(tài)斷言(Static assertions),_Static_assert(),在解釋 #if 和 #error 之后被處理。
新的 fopen() 模式,(“…x”)。類似 POSIX 中的 O_CREAT|O_EXCL,在文件鎖中比較常用。
新增 quick_exit() 函數(shù)作為第三種終止程序的方式。當(dāng) exit()失敗時(shí)可以做最少的清理工作。
————————————————
版權(quán)聲明:本文為CSDN博主「霜李維斯」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zaoyuxuan/article/details/129272683