1.概述
C語言能以簡易的方式編譯、處理低級存儲器。
C語言是僅產(chǎn)生少量的機器語言以及不需要任何運行環(huán)境支持便能運行的高效率程序設(shè)計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業(yè)平臺的許多計算機平臺上進(jìn)行編譯。
馮·諾依曼在1945年提出了現(xiàn)代計算機的若干思想,被后人稱為馮·諾依曼思想,這是計算機發(fā)展史上的里程碑。自1945 年至今大多采用其結(jié)構(gòu),因此馮.諾依曼被稱為計算機之父。他的體系結(jié)構(gòu)計算機由運算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備五大部件構(gòu)成。C語言擁有一套完整的理論體系經(jīng)過了漫長的發(fā)展歷史,在編程語言中具有舉足輕重的地位。
C語言誕生于美國的貝爾實驗室,由 D.M.Ritchie 以B語言為基礎(chǔ)發(fā)展而來,在它的主體設(shè)計完成后,Thompson 和 Ritchie 用它完全重寫了UNIX,且隨著UNIX的發(fā)展,C語言也得到了不斷的完善。為了利于C語言的全面推廣,許多專家學(xué)者和硬件廠商聯(lián)合組成了C語言標(biāo)準(zhǔn)委員會,并在之后的 1989 年,誕生了第一個完備的C標(biāo)準(zhǔn),簡稱“ C89”,也就是“ ANSI C”。
到目前為止,C語言標(biāo)準(zhǔn)委員會修訂發(fā)布了3個標(biāo)準(zhǔn): C89(C90)、 C99、 C11、C17。
C17 是 ISO/IEC 9899:2018 標(biāo)準(zhǔn),于 2018 年發(fā)布。
C17 標(biāo)準(zhǔn)在 C11 基礎(chǔ)上進(jìn)行了一些小的修訂和更新,主要是對標(biāo)準(zhǔn)庫進(jìn)行了一些改進(jìn)和擴展。C17 標(biāo)準(zhǔn)對于C語言本身的特性并沒有做出太大的改變,主要是對于一些庫函數(shù)進(jìn)行了更新和擴展。C17 標(biāo)準(zhǔn)目前還比較新,尚未得到廣泛的應(yīng)用。
2.C語言現(xiàn)狀
(1).C語言是操作系統(tǒng)內(nèi)核開發(fā)領(lǐng)域幾乎是唯一開發(fā)工具, 大部分操作系統(tǒng)是由C加上少量匯編語言開發(fā)的;比如:Linux、Windows、Vxworks、Unix。
(2).在嵌入式領(lǐng)域占有絕對優(yōu)勢。
(3).在網(wǎng)絡(luò)服務(wù)器類相當(dāng)大優(yōu)勢 Apache、 Oracle。
(4).GUI 應(yīng)用領(lǐng)域、大型商用程序采用 C 的較多 。 比如: Offices, SPSS, AutoCAD。
(5).大規(guī)模、高性能計算、游戲開發(fā)以及一些傳統(tǒng)的客戶端軟件和構(gòu)件。
總之,C語言有這自身獨特的優(yōu)勢,盡管現(xiàn)今開發(fā)語言眾多,但C語言的高效性還是有著自身的獨特性。在AI人工智能中對C語言現(xiàn)狀的查詢的查詢?nèi)缦拢?/p>
3.C語言數(shù)據(jù)類型
在C語言中,數(shù)據(jù)類型指的是用于聲明不同類型的變量或函數(shù)的一個約束。變量的類型決定了變量存儲占用的空間。
序號 |
類型與描述 |
1 |
基本類型:算數(shù)類型,包括整數(shù)類型和浮點類型 |
2 |
枚舉類型:算數(shù)類型,用來定義固定的整數(shù)值變量 |
3 |
void類型:類型說明符void表示沒有可用的值。 |
4 |
派生類型:包括指針類型、數(shù)組類型、結(jié)構(gòu)體類型、共用體類型和函數(shù)類型。 |
4.基本類型
C語言中基本數(shù)據(jù)類型有:字符符型(char)、短整型(short)、整型(int)、長整型(long)、浮點型(float)、雙精度浮點型(double)。使用sizeof計算數(shù)據(jù)類型占用空間大小。
數(shù)量類型 |
占用空間 |
定義和輸出方式 |
取值范圍 |
字符型(char) |
1個字節(jié) |
%c或者%hhd |
CHAR_MIN、CHAR_MAX |
短整型(short) |
2個字節(jié) |
%hd |
SHRT_MIN、SHRT_MAX |
整型(int) |
4個字節(jié) |
%d |
INT_MIN、INT_MAX |
長整型(long) |
8個字節(jié) |
%ld |
LONG_MIN、LONG_MAX |
浮點型(float) |
4個字節(jié) |
%f |
FLT_MIN、FLT_MAX |
雙精度浮點型(double) |
8個字節(jié) |
%lf |
DBL_MIN、DBL_MAX |
注意:再輸出取值范圍時,上述宏在limits.h和float.h中定義。
FLT_MIN、DBL_MIN表示的是正數(shù)最小值;FLT_MAX、DBL_MAX表示正數(shù)最大值。
5.進(jìn)制輸出
C語言中有二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。其中八進(jìn)制、十進(jìn)制、十六進(jìn)制可以直接出。
進(jìn)制 | 定義及輸出格式 |
二進(jìn)制 | int a=0b1011;無直接輸出方式 |
八進(jìn)制 | int a=012; “%#o”輸出 |
十進(jìn)制 | int a=12; “%d”輸出 |
十六進(jìn)制 | int a=0x12; “%#x”輸出 |
%#x --格式化打印自動添加格式前綴。
示例1:
#include
int main()
{
int a=10;//10進(jìn)制
printf("八進(jìn)制:%#on",a);//八進(jìn)制輸出
printf("十進(jìn)制:%dn",a);//十進(jìn)制輸出
printf("十六進(jìn)制:%#xn",a);//十六進(jìn)制輸出
int b=0b1011;//二進(jìn)制,十進(jìn)制為11
int c=023;//八進(jìn)制,十進(jìn)制為19
int d=0x12;//十六進(jìn)制,十進(jìn)制為18
printf("b=%d,c=%d,d=%dn",b,c,d);
}
[wbyq@wbyq 1227]$ gcc main.c
[wbyq@wbyq 1227]$ ./a.out
八進(jìn)制:012
十進(jìn)制:10
十六進(jìn)制:0xa
b=11,c=19,d=18
-
計算機
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87848 -
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136683 -
UNIX
+關(guān)注
關(guān)注
0文章
296瀏覽量
41478 -
編程語言
+關(guān)注
關(guān)注
10文章
1942瀏覽量
34707
發(fā)布評論請先 登錄
相關(guān)推薦
評論