?? 1.txt
字號:
1 C語言概述 2
1.1 C語言的發展過程 2
1.2 當代最優秀的程序設計語言 2
1.3 C語言版本 2
1.4 C語言的特點 3
1.5 面向對象的程序設計語言 3
1.6 C和C++ 3
1.7 簡單的C程序介紹 4
1.8 輸入和輸出函數 5
1.9 C源程序的結構特點 6
1.10 書寫程序時應遵循的規則 6
1.11 C語言的字符集 6
1.12 C語言詞匯 7
1.13 Turbo C 2.0集成開發環境的使用 8
1.13.1 Turbo C 2.0簡介和啟動 8
1.13.2 Turbo C 2.0集成開發環境 8
1.13.3 File菜單 9
1.13.4 Edit菜單 10
1.13.5 Run菜單 11
1.13.6 Compile菜單 12
1.13.7 Project菜單 13
1.13.8 Options菜單 14
1.13.9 Debug菜單 18
1.13.10 Break/watch菜單 19
1.13.11 Turbo C 2.0的配置文件 20
C語言教程
1 C語言概述
1.1 C語言的發展過程
C語言是在 70 年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標準。但是,在《K&R》中并沒有定義一個完整的標準C 語言,后來由美國國家標準協會(American National Standards Institute)在此基礎上制定了一個C 語言標準,于一九八三年發表。通常稱之為ANSI C。
1.2 當代最優秀的程序設計語言
早期的C 語言主要是用于UNIX系統。由于C語言的強大功能和各方面的優點逐漸為人們認識,到了八十年代,C開始進入其它操作系統,并很快在各類大、中、小和微型計算機上得到了廣泛的使用,成為當代最優秀的程序設計語言之一。
1.3 C語言版本
目前最流行的C語言有以下幾種:
?Microsoft C 或稱 MS C
?Borland Turbo C 或稱 Turbo C
?AT&T C
這些C語言版本不僅實現了ANSI C標準,而且在此基礎上各自作了一些擴充,使之更加方便、完美。
1.4 C語言的特點
1?C語言簡潔、緊湊,使用方便、靈活。ANSI C一共只有32個關鍵字:
auto break case char const continue default
do double else enum extern float for
goto if int long register return short
signed static sizof struct switch typedef union
unsigned void volatile while
9種控制語句,程序書寫自由,主要用小寫字母表示,壓縮了一切不必要的成分。
Turbo C擴充了11個關鍵字:
asm _cs _ds _es _ss cdecl far
huge interrupt near pascal
注意:在C語言中,關鍵字都是小寫的。
2?運算符豐富。共有34種。C把括號、賦值、逗號等都作為運算符處理。從而使C的運算類型極為豐富,可以實現其他高級語言難以實現的運算。
3?數據結構類型豐富。
4?具有結構化的控制語句。
5?語法限制不太嚴格,程序設計自由度大。
6?C語言允許直接訪問物理地址,能進行位(bit)操作,能實現匯編語言的大部分功能,可以直接對硬件進行操作。因此有人把它稱為中級語言。
7?生成目標代碼質量高,程序執行效率高。
8?與匯編語言相比,用C語言寫的程序可移植性好。
但是,C語言對程序員要求也高,程序員用C寫程序會感到限制少、靈活性大,功能強,但較其他高級語言在學習上要困難一些。
1.5 面向對象的程序設計語言
在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了C語言,成為一種面向對象的程序設計語言。C++目前流行的最新版本是Borland C++, Symantec C++和Microsoft VisualC++。
C++提出了一些更為深入的概念,它所支持的這些面向對象的概念容易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,掌握起來有一定難度。
1.6 C和C++
但是,C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。
1.7 簡單的C程序介紹
為了說明C語言源程序結構的特點,先看以下幾個程序。這幾個程序由簡到難,表現了C語言源程序在組成結構上的特點。雖然有關內容還未介紹,但可從這些例子中了解到組成一個C源程序的基本部分和書寫格式。
【例1.1】
main()
{
printf("世界,您好!\n");
}
? main是主函數的函數名,表示這是一個主函數。
? 每一個C源程序都必須有,且只能有一個主函數(main函數)。
? 函數調用語句,printf函數的功能是把要輸出的內容送到顯示器去顯示。
? printf函數是一個由系統定義的標準函數,可在程序中直接調用。
【例1.2】
#include<math.h>
#include<stdio.h>
main()
{
double x,s;
printf("input number:\n");
scanf("%lf",&x);
s=sin(x);
printf("sine of %lf is %lf\n",x,s);
}
? include稱為文件包含命令
? 擴展名為.h的文件稱為頭文件
? 定義兩個實數變量,以被后面程序使用
? 顯示提示信息
? 從鍵盤獲得一個實數x
? 求x的正弦,并把它賦給變量s
? 顯示程序運算結果
? main函數結束
程序的功能是從鍵盤輸入一個數x,求x的正弦值,然后輸出結果。在main()之前的兩行稱為預處理命令(詳見后面)。預處理命令還有其它幾種,這里的include 稱為文件包含命令,其意義是把尖括號<>或引號""內指定的文件包含到本程序來,成為本程序的一部分。被包含的文件通常是由系統提供的,其擴展名為.h。因此也稱為頭文件或首部文件。C語言的頭文件中包括了各個標準庫函數的函數原型。因此,凡是在程序中調用一個庫函數時,都必須包含該函數原型所在的頭文件。在本例中,使用了三個庫函數:輸入函數scanf,正弦函數sin,輸出函數printf。sin函數是數學函數,其頭文件為math.h文件,因此在程序的主函數前用include命令包含了math.h。scanf和printf是標準輸入輸出函數,其頭文件為stdio.h,在主函數前也用include命令包含了stdio.h文件。
需要說明的是,C語言規定對scanf和printf這兩個函數可以省去對其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include<stdio.h>。
同樣,在例1.1中使用了printf函數,也省略了包含命令。
在例題中的主函數體中又分為兩部分,一部分為說明部分,另一部為分執行部分。說明是指變量的類型說明。例題1.1中未使用任何變量,因此無說明部分。C語言規定,源程序中所有用到的變量都必須先說明,后使用,否則將會出錯。這一點是編譯型高級程序設計語言的一個特點,與解釋型的BASIC語言是不同的。說明部分是C源程序結構中很重要的組成部分。本例中使用了兩個變量x,s,用來表示輸入的自變量和sin函數值。由于sin函數要求這兩個量必須是雙精度浮點型,故用類型說明符double來說明這兩個變量。說明部分后的四行為執行部分或稱為執行語句部分,用以完成程序的功能。執行部分的第一行是輸出語句,調用printf函數在顯示器上輸出提示字符串,請操作人員輸入自變量x的值。第二行為輸入語句,調用scanf函數,接受鍵盤上輸入的數并存入變量x中。第三行是調用sin函數并把函數值送到變量s中。第四行是用printf 函數輸出變量s的值,即x的正弦值。程序結束。
運行本程序時,首先在顯示器屏幕上給出提示串input number,這是由執行部分的第一行完成的。用戶在提示下從鍵盤上鍵入某一數,如5,按下回車鍵,接著在屏幕上給出計算結果。
1.8 輸入和輸出函數
在前兩個例子中用到了輸入和輸出函數scanf和 printf,在以后要詳細介紹。這里我們先簡單介紹一下它們的格式,以便下面使用。
scanf和 printf這兩個函數分別稱為格式輸入函數和格式輸出函數。其意義是按指定的格式輸入輸出值。因此,這兩個函數在括號中的參數表都由以下兩部分組成:
“格式控制串”,參數表
格式控制串是一個字符串,必須用雙引號括起來,它表示了輸入輸出量的數據類型。各種類型的格式表示法可參閱第三章。在printf函數中還可以在格式控制串內出現非格式控制字符,這時在顯示屏幕上將原文照印。參數表中給出了輸入或輸出的量。當有多個量時,用
逗號間隔。例如:
printf("sine of %lf is %lf\n",x,s);
其中%lf為格式字符,表示按雙精度浮點數處理。它在格式串中兩次現,對應了x和s兩個變量。其余字符為非格式字符則照原樣輸出在屏幕上。
【例1.3】
int max(int a,int b); /*函數說明*/
main() /*主函數*/
{
int x,y,z; /*變量說明*/
int max(int a,int b); /*函數說明*/
printf("input two numbers:\n");
scanf("%d%d",&x,&y); /*輸入x,y值*/
z=max(x,y); /*調用max函數*/
printf("maxmum=%d",z); /*輸出*/
}
int max(int a,int b) /*定義max函數*/
{
if(a>b)return a;else return b; /*把結果返回主調函數*/
}
上面例中程序的功能是由用戶輸入兩個整數,程序執行后輸出其中較大的數。本程序由兩個函數組成,主函數和max 函數。函數之間是并列關系。可從主函數中調用其它函數。max 函數的功能是比較兩個數,然后把較大的數返回給主函數。max 函數是一個用戶自定義函數。因此在主函數中要給出說明(程序第三行)。可見,在程序的說明部分中,不僅可以有變量說明,還可以有函數說明。關于函數的詳細內容將在以后第五章介紹。在程序的每行后用/*和*/括起來的內容為注釋部分,程序不執行注釋部分。
上例中程序的執行過程是,首先在屏幕上顯示提示串,請用戶輸入兩個數,回車后由scanf函數語句接收這兩個數送入變量x,y中,然后調用max函數,并把x,y 的值傳送給max函數的參數a,b。在max函數中比較a,b的大小,把大者返回給主函數的變量z,最后在屏幕上輸出z的值。
1.9 C源程序的結構特點
1.一個C語言源程序可以由一個或多個源文件組成。
2.每個源文件可由一個或多個函數組成。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -