目錄:
- 計算機語言
- C語言的發展歷史
- C語言的特點
- 最簡單的C程序
C語言(The C Programming Language)
C語言是一種用途廣泛,功能強大,使用靈活的過程性編程語言,既可用於編寫應用軟件,又可用於編寫系統軟件。
一、計算機語言
計算機語言分類
- 機器語言:0 和 1
- 彙編語言(符號語言):英文字母和數字
- 高級語言:字母、數字、符號和空格……
高級語言發展的三個階段
1
非結構化語言
編程風格隨意,語法要求不嚴格,程序中流程可隨意跳轉,人們往往爲了效率採用許多“小技巧”,程序難讀、難維護。
非結構化語言:BASIC , FORTRAN 和 ALGOL……
世界上第一個計算機高級語言:
FORTRAN(20世紀50年代)
2
結構化語言
C語言(面向過程的語言)具有良好特性的基本結構(順序結構、選擇結構、循環結構)
其他結構化語言:
FORTRAN77,QBASIC……
3
面向對象的語言
用於處理規模較大的問題面嚮對象語言:C++、C#、Visual Basic、Java、Python、PHP、Go……
計算機語言的幾種分類
1.高級語言 和 非高級語言
2.面向對象 和 面向過程
-
面嚮對象語言:以對象作爲基本程序結構單位的程序設計語言,大部分屬於高級語言。
-
面向過程語言:語言代碼按算法過程一步一步編寫的語言,既有低級語言(彙編語言),也有高級語言(C語言)。
(3)其它分類……
二、C語言的發展歷史
1972年,美國貝爾實驗室的D.M.Ritchie在B語言的基礎上設計出了C語言。最初的C語言只是爲描述和實現UNIX操作系統提供一種工作語言而設計的。
1973年,Ken Thompson和D.M.Ritchie合作把UNIX的90%以上用C語言改寫,即UNIX第5版。
1978年以後,C語言先後移植到大、中、小和微型計算機上;C語言很快風靡全球,成爲世界上最廣泛的程序設計高級語言。
1978,以UNIX第7版中的C語言編譯程序爲基礎,Brian W.Kernighan和Dennis M.Ritchie和著了影響深遠的名著 The C Programming Language,這本書中介紹的C語言成爲後來廣泛使用的C語言版本的基礎,它是實際上第一個C語言標準。
1983年,美國國家標準協會(ANSI),根據C語言問世以來各種版本對C語言的發展和擴充,制定了第一個C語言標準草案(’83 ANSIC)。
1989年,ANSI公佈了一個完整的C語言標準——ANSI C 或C 89
1990年,國際標準化組織ISO接受C89作爲國家標準ISO/IEC 9899:1990,它和ANSI的C 89基本上是相同的。
1999年,ISO又對C語言標準進行了修訂,在基本保留原來的C語言特徵的基礎上,針對應用的需要,增加了一些功能,尤其是C++中的一些功能。並在2001年和2004年先後進行了兩次技術修正,它被稱爲C 99。 ——————內容來自《C程序設計》
C語言之所以命名爲C,是因爲 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言(BCPL的第二個字母)。
三、C語言的特點
- 語言簡潔、緊湊,使用方便、靈活。
- 運算符豐富(34種)
- 數據類型豐富(整型、浮點型、字符型……)
- 具有結構化的控制語句(9種)
- 語法限制不太嚴謹,程序設計自由度大。
- C語言允許直接訪問物理地址,能進行位(bit)操作,直接對硬件操作。
- C語言編寫的程序可移植性好
- 生成目標代碼質量高,程序執行效率高。
C語言即具有高級語言的功能,也具有低級語言的許多功能。C語言原來是專門爲編寫系統軟件而設計的,許多大的應用軟件也都用C語言編寫,這因爲C語言的可移植性好,硬件控制能力高,表達和運算能力強。
目前。C語言主要用途之一是編寫嵌入式系統程序。
C語言是許多高級計算機語言的基礎,C語言與其它語言基本都是相通的,先學好C語言,再去學習其它語言,上手會很快(當然,這是對大部分人而言)。
四、最簡單的C程序
最簡單的C程序 Hello world!
程序…………………………………………
#include<stdio.h> //編譯預處理命令
int main() //定義主函數,主函數類型爲整型(int)
{ //函數開始的標誌
printf("Hello world!"); //輸出內容
return 0; //函數執行完畢時返回一個整數值 0
} //函數結束的標誌
運行結果…………………………………………
(1)預處理指令 : #include<stdio.h>
1.作用把 stdio.h 頭文件的內容讀進來
2.其它預處理命令:#define
(2)頭文件 : stdio.h
stdio.h 文件中具有輸入(scanf),輸出(printf)等函數的原型聲明。
- std表示標準:standard
- i 表示輸入: input
- o 表示輸出:output
- .h 表示頭文件 head (文件後綴名)
(3)主函數 : main
每一個C語言程序都必須有一個main,且主函數有且僅有1個。
(4)函數的返回值 :return 0
主函數main的返回值爲 0 時表示程序正常退出
返回值爲非零時,表示程序異常退出
(5)註釋
C語言允許兩種註釋
第二種:以 /*
開始,以 */
結束的多行註釋(塊式註釋)
第一種:以 //
開始的單行註釋
老師說對於新手,不會的、不太懂的 和 重要的,一定要多註釋。
因爲,多註釋有許多好處,一是方便自己以後複習時,快速弄懂要點、難點;
二是以後你工作的時候能夠讓別人在夠短時間內看懂你寫的代碼……
(5)轉義字符
通過 \n 換行符,\t 橫向空格等等一些轉義字符的結合和設計,可以讓你寫的程序,輸出內容更加美觀和有吸引力。
程序…………………………………………
#include<stdio.h>
int main()
{
printf("\n\t***********************\n");
printf("\t* *\n");
printf("\t* 歡迎來到C語言的世界 *\n");
printf("\t* *\n");
printf("\t***********************\n");
return 0;
}
運行結果…………………………………………
❤下面是一個C語言心形代碼❤
送個小心給你 !!
#include<stdio.h>
#include<math.h>
int main()
{
float y,x,z,f;
for(y=1.5f;y>-1.5f;y-=0.1f)
{
for(x=-1.5f;x<1.5f;x+=0.05f)
{
z=x*x+y*y-1;
f=z*z*z-x*x*y*y*y;
putchar(f<=0.0f?"*********"[(int)(f*-8.0f)]:' ');
}
printf("\n");
}
getchar();
return 0;
}
我目前在學譚浩強寫的《C程序設計》,以上文章中有部分內容是來自《C程序設計》,大部分內容是我經過書和視頻的學習所總結的知識。
如有錯誤……請指正……謝謝!!