第2章 C語言基礎知識


1 C語言發展和特點

C語言源於ALGOL60語言,於20世紀60年代初提出。

1963年,英國劍橋大學將ALGOL60語言發展成為組合程設計語言(CPL)。1970年英國劍橋大學的Martin Richards對CPL進行簡化,開發出基本組合程序設計語言(BCPL)。

1970年,美國貝爾實驗室的 Ken Thompson以BCPL語言為基礎,設計出很簡單且很接近硬件的B語言(取BCPL的首字母)。

1972年,美國貝爾實驗室的 D.M.Ritchie 在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,即C語言

1.1 C語言發展

1975年UNIX第六版發布后,C語言終於獲得了計算機專業人士的廣泛支持。

1978年,美國貝爾實驗室正式推出了C語言

1983年美國國家標准協會(ANSI)根據C語言問世以來的的各種版本,對C語言發展和擴充制定了第一個C語言標准草案,稱為83ANSIC。

1989年ANSI發布了一個完整的C語言標准ANSI X3.159-1989,稱為ANSIC或C89。

1990年,國際標准化組織(ISO)接受C89為ISO國際標准,也稱為C90。

1999 年 ,ISO 對 C 語 言 標 准 進 行 修 訂 , 發 布 了 新 的 C 語言國際標准 -ISO/IEC9899:1999,簡稱C99。

2 C語言基本詞法

2.1 字符集

字符是組成語言最基本的元素。C語言的字符集由字母、數字、空格、標點和特殊字符組成。C語言的字符集就是ASCII字符集,主要包括:

1、阿拉伯數字:0、1、2、…、9(共10個)

2、大小寫英文字母:A~Z、a~z(共52個)

3、非字母、非數字的可顯示字符(33個)

2.2 關鍵字

C語言中具有特殊含義的單詞稱為"關鍵字",又稱為"保留字",主要用於構成語句。

C語言共有32個關鍵字,所有的關鍵字均由小寫字母組成。

2.3 標識符

標識符是字符的序列,除了庫函數的函數名等由系統定義外,其余均由用戶自行定義。用戶根據需要對C程序中用到的變量、符號常量、自定義函數等進行命名,形成用戶標識符。

C語言規定,用戶標識符僅由大小寫英文字母、數字和下划線組成,且第一個字符不能是數字。

用戶自定義的標識符既不能是C語言的關鍵字,也不能與用戶已編寫的函數或C語言的庫函數重名。

標識符

定義:標識變量名、符號常量名、函數名、數組名、文件名的字符串序列——名字。

命名規則:

只能由字母、數字、下划線組成,且第一個字符必須是不能是數字

大小寫字母含義不同,一般用小寫

不能使用關鍵字

使用:先定義、后使用 標識符應該"見名知意",如 total , max

標識符應該"不宜混淆",如 l與1 , o與0

下面給出一些正確和錯誤的標識符實例:

2.4 C語言的特點

(1)結構化語言

(2)運算能力強大

(3)數據類型豐富

(4)具有預處理能力

(5)可移植性好

(6)程序執行效率高

(7)程序設計自由度

2.5 詞匯分類

C語言的詞匯分為六類,即常量、標識符、關鍵字、運算符、注釋符和分隔符,

其中:

2.5.1 注釋符

C語言的注釋符有兩種,一種是以"/*"開頭,並以"*/"結尾的多行注釋。

另一種是以"//"開頭的單行注釋。兩者的區別在於,第一種注釋可以跨行,第二種注釋不可以跨行。

2.5.2 分隔符

C語言的分隔符包括逗號和空格兩種。逗號主要用在類型說明和函數參數表中,分隔各個變量;空格多用於語句各單詞之間,作為間隔符。

2.5.3 常量

符號常量:用標識符代表常量 ◆一般用大寫字母: PRICE 、 PI

◆定義格式: #define 符號常量 常量

◆其值在作用域內不能改變和再賦值。

3 C語言基本語句分類

按照語句功能或構成的不同,可將C語言的語句分為數據定義語句、賦值語句、函數調用語句、表達式語句、流程控制語句、復合語句和空語句等等,C語言的每個語句都以分號";"結束。

4 C程序基本組成

C程序是由語句組成的,通常包括一個或多個函數,其中有且只有一個函數稱為主函數,其函數名為main。

4.1 C程序的組成特點

1、每個C程序由一個或多個函數組成。每個C程序有且僅有一個主函數,除主函數外,可以沒有其他函數,也可以有一個或多個其他函數。

2、函數是C程序的基本單位。每個函數是由函數首部和函數體兩部分組成。

3、C程序中每一語句后面都以分號";"作為語句的結束,但預處理命令、函數首部和右花括號"}"之間不能加 分號。

4、C語言本身沒有輸入/輸出語句,而是通過調用庫函數scanf()、printf()、getchar()和putchar()實現的。

5、C程序的任意位置都可以加注釋/*......*/,注釋可以多行,但不可嵌套。

6、C程序的書寫格式靈活,一行內可書寫多條語句,一條語句也可以寫在多行上,可以任意插入空格和回車。

7、C程序的執行總是從主函數開始,並在主函數結束。主函數和其他函數的位置是任意的,其他函數總是通過函數調用語句被執行。

8、C程序中可以有預處理命令,通常預處理命令應放在程序的最前面。

9、主函數可以調用任何其他函數,任何其他函數之間可以互相調用,但不能調用主函數。

4.2 C語言結構特點

 

4.3 C語言格式特點

習慣用小寫字母,大小寫敏感

不使用行號,無程序行概念

可使用空行和空格

常用鋸齒形書寫格式

程序員代碼格式要求:

使用TAB縮進

{}對齊

有足夠的注釋

有合適的空行

5 C程序開發環境

5.1 VC6.0下載與安裝

http://c.biancheng.net/view/463.html

5.2 C程序的運行步驟

1、編輯:進入C語言編譯系統,建立源程序文件,擴展名為"c"或"cpp",編輯並修改、保存源程序。

2、編譯:計算機不能識別和執行高級語言編寫的源程序,必須經過編譯程序對源程序進行編譯。

3、連接:經過編譯生成的目標程序還無法在計算機上直接運行,因為源程序中輸入、輸出以及常用的函數運算是直接調用函數庫中的庫函數,因此必須把庫函數的處理過程鏈接到經編譯生成的目標程序中,生成可執行文件,其擴展名為"exe"。

4、運行:一個C源程序經過編譯、鏈接后生成可執行文件,可在編譯系統或操作中運行。

5.3 C程序的運行

(1) 啟動Microsoft Visual C++ 6.0;雙擊Microsoft Visual C++ 6.0的圖標,啟動Microsoft Visual C++ 6.0。

(2)新建項目

1、在主窗口的主菜單欄中選擇"File"菜單項,在彈出的子菜單中選擇"New"命令。

2、彈出的"New"對話框中,切換到"Projects"選項卡,在左側列表框中選擇"Wine 32 Console Application"項,然后在右側的"Project name"文本框中輸入新建工程的名稱,如HelloWorld,在"Location"文本框中輸入工程的存儲路徑。

3、在彈出的"Wine 32 Console Application"對話框中選中"An empty project"單選按鈕,單擊"Finish"按鈕。

4、在彈出的"New Project Information"對話框中單擊"OK"按鈕,項目工作區中顯示新建的空工程"Hello World"。

(3)新建源程序

1、在主窗口的主菜單欄中選擇"File"菜單項,在彈出的子菜單中選擇"New"命令。

2、在彈出的"New"對話框中,切換到"Files"選項卡,在左側的列表框中選擇"C++ Source File"項,表示新建一個C/C++源程序文件,勾選右側的"Add to project"復選框,並選擇剛剛創建的空工程"Hello World",在"File"文本框中輸入新建源程序文件的名稱,如"hello.c"。

3、單擊"OK"按鈕,可以看到程序編輯窗格即可編輯程序。

(4)編譯源程序

在主菜單欄中選擇"Build"菜單項,在彈出的子菜單中選擇"Compile hello.c"命令,或者單擊工具欄中的"Compile"按鈕。在編譯過程中,主窗口下方會彈出調試信息窗格,此窗格會輸出編譯的信息。如無錯誤,輸出"0 error(s),0 warning(s)";如果有錯誤,則輸出相關的錯誤信息。

(5)鏈接源程序

編譯成功之后進行連接操作。在主菜單欄中選擇"Build"菜單項,在彈出的子菜單中選擇"Build HelloWorld.exe"命令,或者單擊工具欄中的"Build"按鈕。

(6)運行程序

連接成功之后即可運行程序。在主菜單欄中選擇"Build"菜單項,在彈出的子菜單中選擇"Execute Hello World.exe"命令,或者單擊工具欄中的"Execute Program"按鈕。

5.4 C程序的調試

(1)設置斷點

調試C程序時,首先需要判斷程序可能從哪條語句開始出現錯誤,將光標移動到該語句所在行,然后單擊"Insert/Remove Breakpoint"按鈕或<F9>按鈕,此時若在語句行左側出現一個紅點,則表示斷點設置成功。通過設置斷點,檢查運行到斷點處某些表達式的值,以確定錯誤的大致位置;通過核對某些表達式的值,以確定錯誤的原因。

#include <stdio.h>

void main()

{

  int max(int x,int y);

  int a,b,c;

  scanf("%d,%d",&a,&b);

  c=max(a,b);

  printf("max=%d\n",c);

}

int max(int x,int y)

{

  int z;

  if(x>y) z=x;

    else z=y;

  return(z);

}

(2) 調試界面 斷點設置成功后,單擊"Go"按鈕,程序開始運行。運行到斷點所在語句時,程序將自動暫停執行,進入調試狀態,代碼行左側的黃色箭頭指示程序當前的執行位置。界面下方出現兩個窗格,左側窗格為自動變量框,可以看到各變量的當前值,右側窗格為觀察框,在"Name"列輸入變量名,"Value"列顯示該變量的當前值。

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM