第1章C語言程序設計基本知識_第1頁
第1章C語言程序設計基本知識_第2頁
第1章C語言程序設計基本知識_第3頁
第1章C語言程序設計基本知識_第4頁
第1章C語言程序設計基本知識_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

教學目的: 通過本章的學習,要求能理解C程序的基本結構,能熟練使用基本輸入和輸出函數(shù)進行數(shù)據(jù)操作,掌握C程序的上機步驟和C程序的運行環(huán)境,為后面章節(jié)的學習奠定基礎。第1章

C程序設計基本知識2/26/2024第1章

C程序設計基本知識

本章內容

C程序介紹C程序的基本結構C程序的上機步驟基本輸入和輸出方法字符輸入和輸出格式輸入和輸出C程序的運行環(huán)境VisualC++6.0TurboC2.02/26/2024第1章

C程序設計基本知識重點和難點重點:

(1)C程序的基本結構;

(2)數(shù)據(jù)的輸入輸出方法;

(3)VisualC++6.0IDE的使用 難點數(shù)據(jù)的輸入輸出方法2/26/20241.1C程序介紹

程序設計也可稱為一門工程設計,它是根據(jù)要解決的問題,使用某種程序設計語言,設計出能夠完成這一任務的計算機指令序列。程序設計語言是人與計算機進行交流的一種形式語言,是人利用計算機分析問題、解決問題的一個基本工具。就如同人類社會中,自然語言是人與人之間用來表達意思、交流思想的工具一樣。自然語言是由字、詞、句法和語法等構成的一個系統(tǒng);而計算機程序設計語言是由字、詞和語法等構成的指令系統(tǒng)。最初程序員使用的程序設計語言是原始的計算機指令,即能夠被計算機直接識別的一系列二進制數(shù),稱為機器語言。在機器語言的基礎上,人們設計出了匯編語言,它可以將機器語言用便于人們記憶和閱讀的助記符來表示,如ADD、SUB、MOV等。計算機運行匯編程序時,首先將用助記符寫成的源程序轉換成機器能夠識別的指令,然后再運行機器指令程序,得到所要的結果。

1.1.1程序設計和程序設計語言

2/26/2024隨著計算機應用的發(fā)展,人們開發(fā)出了高級程序設計語言,1972年至1973年間,貝爾實驗室的D.M.Ritchie在B語言的基礎上設計出了C語言,后來C語言又做了多次改進。

C語言是國際上廣泛流行的、很有發(fā)展前途的計算機高級語言。它適合作為系統(tǒng)描述語言,既用來寫系統(tǒng)軟件,同時也可用來寫應用軟件。在使用計算機程序設計語言設計程序時,要達到的目標是:在保證程序正確的前提下,力求程序可讀性強、容易維護、移植性好。程序的可讀性是指程序要有良好的書寫風格,用簡單易懂的語句編寫程序,書寫風格包括語句的對齊、規(guī)范的注釋等。容易維護是指當業(yè)務規(guī)則發(fā)生變化時,要求以最小的開銷對程序功能進行更改或增加。移植性好是指編好的程序可以在不同的計算機和操作系統(tǒng)上運行,并且運行的結果一樣。程序語言的發(fā)展,總是從低級到高級,從具體到抽象,直到可以用自然語言來描述。1.1C程序介紹1.1.1程序設計和程序設計語言

2/26/2024【例1.1】一個簡單的C程序

/*

源文件名:Li1_1.c

功能:在屏幕輸出一串字符串*/#include<stdio.h>voidmain(){

printf("Thisisacprogram.\n"); /*打印輸出一行信息*/}

程序運行后,屏幕顯示:

Thisisacprogram.

分析

1.1.2簡單的C程序

2/26/2024(1)“/*……*/”是程序的注釋部分,注釋內容是為了增加程序的可讀性,系統(tǒng)不編譯注釋內容,自動忽略從“/*”到“*/”之間的內容。VisualC++6.0中以“//”開頭直到本行結束的部分也是注釋。與“/*……*/”的區(qū)別在于“//”只能注釋一行,不能跨行,這種注釋也稱為行注釋,而“/*……*/”注釋可以跨行,稱為塊注釋。在Turboc2.0中沒有所謂的行注釋“//”,只能用“/*……*/”來注釋。(2)#include<stdio.h>是一條編譯預處理命令,聲明該程序要使用stdio.h文件中的內容,stdio.h文件中包含了輸入函數(shù)scanf()和輸出函數(shù)printf()的定義。編譯時系統(tǒng)將頭文件stdio.h中的內容嵌入到程序中該命令位置。C中編譯預處理命令都以“#”開頭。C提供了3類編譯預處理命令:宏定義命令、文件包含命令和條件編譯命令。例1.1中出現(xiàn)的#include<stdio.h>是文件包含命令,其中尖括號內是被包含的文件名。1.1.2簡單的C程序

2/26/2024(3)程序中定義了一個主函數(shù)main(),其中main是函數(shù)名,void表示該函數(shù)的返回值類型。程序執(zhí)行從主函數(shù)開始。一個C的程序可以包含多個文件,每個文件又可以包含多個函數(shù)。函數(shù)之間是相互平行、相互獨立的。一個C程序,必須有一個且只能有一個主函數(shù)main()。執(zhí)行程序時,系統(tǒng)先從主函數(shù)開始運行,其他函數(shù)只能被主函數(shù)調用或通過主函數(shù)調用的函數(shù)所調用,函數(shù)可以嵌套調用,即在一個函數(shù)中調用另外一個函數(shù)。主函數(shù)可以帶參數(shù),也可以不帶參數(shù)。函數(shù)在調用之前,必須先定義好,定義函數(shù)要按照系統(tǒng)規(guī)定的格式進行,后面再詳細介紹。(4)由“{}”括起來的內容是主函數(shù)main()的函數(shù)體,期中左大括號“{”表示函數(shù)的開始,右大括號“}”表示函數(shù)的結束。函數(shù)體部分由許多C語句組成,這些語句描述了函數(shù)的功能實現(xiàn)。(5)該程序是由函數(shù)組成的,程序中只包含一個主函數(shù),而且主函數(shù)的函數(shù)體中只有一條語句,用于完成字符串的打印輸出,printf()為屏幕打印輸出函數(shù),指定顯示器為標準輸出設備,雙引號中的內容要原樣輸出,\n表示回車換行,“;”表示語句結束。C規(guī)定語句必須要以分號“;”結尾。

1.1.2簡單的C程序

2/26/2024【例1.1】小結:

由以上分析可以看出,一個C程序的基本結構包括:以“#”開頭的若干個編譯預處理命令,將程序所需要的頭文件包含進來;然后是定義主函數(shù)和其他函數(shù),當然函數(shù)也可以在程序的起始部分先利用函數(shù)原型進行聲明,以后再進行定義;用大括號“{}”括起來的部分是函數(shù)體部分,函數(shù)體部分主要包括各種各樣的語句和注釋信息,這部分是程序的主體部分,占的比重也最大。

1.1.2簡單的C程序

2/26/2024/*

源文件名:Li1_2.c

功能:求兩個數(shù)a和b之和sum*/#include<stdio.h>voidmain(){

inta,b,sum; /*定義三個整型變量*/ a=123; /*給變量a賦值為123*/ b=456; /*給變量b賦值為456*/ sum=a+b; /*變量a的值加上變量b的值,然后將兩數(shù)的和 賦給變量sum*/

printf("sumis%d\n",sum); /*輸出變量sum的值*/}【例1.2】求兩數(shù)之和2/26/2024【例1.3】求兩數(shù)中較大者。/* 源文件名:Li1_3.c

功能:從鍵盤輸入兩個數(shù),通過比較求得兩個數(shù)的較大者,并打印輸出*/#include<stdio.h>intmax(int,int); /*聲明函數(shù)max*/voidmain(){

int

a,b,c; /*聲明部分,定義變量*/

printf("請輸入a和b的值:"); /*提示輸入a和b的值*/

scanf("%d%d",&a,&b); /*從鍵盤輸入變量a和b的值*/

c=max(a,b); /*調用max函數(shù),將得到的值賦給c*/

printf("max=

%d\n",c); /*輸出c的值*/}/*定義max函數(shù),函數(shù)值為整型,形式參數(shù)x,y為整型*/intmax(intx,inty){ intz; /*max函數(shù)中的聲明部分,定義本函數(shù)中用到的變量z為整型*/ if(x>y) z=x

; else z=y

; return(z)

; /*將z的值返回,通過max帶回調用處*/}2/26/2024下面來分析【例1.3】的程序結構: 該程序包括兩個函數(shù),一個是程序的入口函數(shù)主函數(shù)main(),另一個是求兩數(shù)之較大者的普通函數(shù)max(),它代表某一種功能。在主函數(shù)main()中調用了普通函數(shù)max(),如果把做菜比做main()函數(shù),那么在做菜過程中用了醬油就好比調用了max()函數(shù),實現(xiàn)調味功能。在程序的第二行聲明了max()函數(shù),就好比在做菜之前要先把醬油準備好。2/26/2024由上面幾個簡單的C程序可知,在編寫C程序時,要注意書寫格式,盡量遵循以下基本原則:

(1)一般情況下一行只寫一條語句。短語句可以一行寫多條,長語句可以分成多行來寫。分行原則是不能將一個單詞分開,用雙引號括起來的字符串最好也不要分開,如果一定要分開,有的編譯系統(tǒng)要求在行尾加上續(xù)行符“\”。

(2)C程序書寫時要盡量提高可讀性。為此,用適當?shù)目s進格式書寫程序是非常必要的,表示同一類內容或同一層次的語句要對齊。例如,一個循環(huán)的循環(huán)體中的各語句要對齊,同一個if語句中的if體內的若干條語句或else體內的若干條語句要對齊。

(3)C程序中大括號“{}”使用較多,其書寫方法也較多,建議用戶要養(yǎng)成使用大括號的固定風格。例如,每個大括號占一行,并與使用大括號的語句對齊,大括號內的語句采用縮進4個字符的格式書寫,如例1.1所示。

1.1.2簡單的C程序

2/26/20241.2

C程序的基本結構函數(shù)是C程序的基本結構,一個C程序由一個或多個函數(shù)組成,一個C函數(shù)由若干條C語句構成,一條C語句由若干基本單詞組成。C函數(shù)是完成某個整體功能的最小單位,是相對獨立的模塊。簡單的C程序可能只有一個主函數(shù),而復雜的C程序則可能包含一個主函數(shù)和任意多個其他函數(shù)。所有C函數(shù)的結構都包括三部分:函數(shù)名、形式參數(shù)和函數(shù)體。2/26/2024下面給出C程序的一般格式。其中的main為主函數(shù)名,sub1()到subn()為子函數(shù)名。在C程序中,主函數(shù)名是固定的,其他的函數(shù)名則可以根據(jù)標識符的命名方法任意取名。形式參數(shù)是函數(shù)調用時進行數(shù)據(jù)傳遞的主要途徑,當形式參數(shù)表中有多個參數(shù)時,相互之間用逗號隔開,有的函數(shù)可以沒有形式參數(shù)。大括號“{}”括起來的部分為函數(shù)體,用來描述函數(shù)的功能,一般函數(shù)體由局部變量定義和完成本函數(shù)功能的語句序列組成。程序在執(zhí)行時,無論各個函數(shù)的書寫位置如何,總是先執(zhí)行main()函數(shù),再由main()函數(shù)調用其他函數(shù),最后終止于main()函數(shù)。2/26/2024包含文件子函數(shù)類型說明全局變量定義類型main(){局部變量定義語句序列}類型sub1(形式參數(shù)表){局部變量定義語句序列}……類型subn(形式參數(shù)表){局部變量定義語句序列}2/26/20241.3

基本輸入和輸出方法輸入是將原始數(shù)據(jù)通過輸入設備送入計算機,輸出是將保存在內存中的計算結果送到輸出設備上。

C語言本身并不提供輸入輸出語句,有關輸入輸出操作都是由函數(shù)的調用來實現(xiàn)的。為完成此操作,C語言編譯系統(tǒng)提供了輸入輸出函數(shù)。如字符輸入函數(shù)getchar(),字符輸出函數(shù)putchar(),格式輸出函數(shù)printf()和格式輸入函數(shù)scanf(),這些函數(shù)都是針對系統(tǒng)特定的輸入輸出函數(shù)(如鍵盤、顯示器等)而言的。2/26/2024格式:getchar()功能:從鍵盤接收輸入的一個字符。說明:getchar()的值可以送給字符型變量,也可以送給整型變量。1.3.1字符輸入函數(shù)getchar()

2/26/2024【例1.4】從鍵盤輸入字符。/*

源文件名:Li1_4.c

功能:從鍵盤輸入一個字符,并將其存入字符型變量c中*/#include<stdio.h>voidmain(){ charc;

c=getchar(); /*從鍵盤輸入一個字符*/

printf("c='%c'.\n",c);}2/26/2024數(shù)據(jù)的輸出一般是以終端(顯示器)為處理對象。格式:putchar(c)功能:向終端(一般為顯示器)輸出一個字符。說明:c可以是字符型或整型變量,也可以是一個字符常量或整型常量。1.3.2字符輸出函數(shù)putchar()

2/26/2024【例1.5】從鍵盤輸入字符,在屏幕上顯示出來。/*

源文件名:Li1_5.c

功能:從鍵盤輸入一個字符,并用putchar(c)在屏幕上顯示出來*/#include<stdio.h>voidmain(){ charc;

c=getchar(); /*從鍵盤輸入一個字符*/

putchar(c); /*在屏幕上顯示一個字符

printf("\n");}2/26/2024格式輸出函數(shù)printf()的功能是按指定的格式輸出數(shù)據(jù),其一般的調用格式為:

printf("格式控制字符串",參數(shù)表);

其中printf是函數(shù)名,其后括號中的內容為該函數(shù)的參數(shù):格式控制字符串用雙引號括起來,用來規(guī)定輸出格式,如%d用來輸出整數(shù),%f用來輸出實數(shù),%c用來輸出字符;參數(shù)表中包含零個或多個輸出項,這些輸出項可以是整數(shù)、實數(shù)、變量或表達式,多個輸出項之間用逗號隔開。例如:語句printf("%d%d",a,b);用來按十進制整數(shù)形式輸出變量a和b。1.3.3格式輸出函數(shù)printf()

2/26/2024【例1.6】打印輸出兩個整型變量的值。/*

源文件名:Li1_6.c

功能:在屏幕上打印輸出變量a和變量b的值*/#include<stdio.h>voidmain(){

inta=8;

intb=18;

printf("a=%d,b=%d\n",a,b);}2/26/2024格式輸入函數(shù)scanf()的功能是按指定的格式輸入數(shù)據(jù),其一般的調用格式為:

scanf("格式控制字符串",參數(shù)表);

其中scanf是函數(shù)名,其后括號中的內容為該函數(shù)的參數(shù):格式控制字符串用雙引號括起來,用來規(guī)定輸入格式,其用法和printf()函數(shù)中的規(guī)定相同;參數(shù)表中至少包含一個輸入項,且必須是變量的地址,多個輸入項之間用逗號隔開。例如:語句scanf(“%d%d”,&a,&b);用來接收從鍵盤輸入的兩個十進制整數(shù),并分別存放在變量a和b。變量地址的表示形式是在變量名前加上一個“&”。d%d“,a,b);用來按十進制整數(shù)形式輸出變量a和b中。1.3.4格式輸入函數(shù)scanf()

2/26/2024【例1.7】從鍵盤輸入兩個整型變量的值。/*

源文件名:Li1_7.c

功能:從鍵盤輸入變量a和變量b的值,并打印輸出*/#include<stdio.h>voidmain(){

inta,b;

printf("請輸入變量a和變量b的值:");

scanf(“%d%d”,&a,&b); /*從鍵盤輸入變量a和變量b的值*/

printf("a=%d,b=%d\n",a,b);}2/26/2024

C源程序要經(jīng)過編輯、編譯、連接和運行4個環(huán)節(jié),才能產生輸出結果。例:編制一個名為Ch01_01的程序,其操作流程圖如圖所示。

1.4C程序的上機步驟

編輯編譯連接運行源程序

目標程序

可執(zhí)行程序

Ch01_01.c

Ch01_01.exeCh01_01.obj2/26/20241.編輯編輯是在一定的環(huán)境下進行程序的輸入和修改的過程。C程序可以事先在紙上寫好,也可以在編輯環(huán)境下直接輸入到計算機中。用某種計算機程序設計語言編寫的程序稱為源程序,保存后生成程序文件。C源程序在Turboc2.0環(huán)境下默認文件擴展名為“.c”,在VisualC++6.0環(huán)境下默認文件擴展名為“.cpp”。C源程序也可以使用計算機所提供的各種編輯器進行編輯。

2/26/20242.編譯編輯好的源程序不能直接被計算機所理解,源程序必須經(jīng)過編譯,生成計算機能夠識別的機器代碼。通過編譯器將C源程序轉換成二進制機器代碼的過程稱為編譯,這些二進制機器代碼稱為目標代碼。目標代碼保存在以“.obj”為擴展名的目標文件中。編譯階段要進行詞法分析和語法分析,又稱源程序分析。這一階段主要是分析程序的語法結構,檢查C源程序的語法錯誤。如果分析過程中發(fā)現(xiàn)有不符合要求的語法,就會及時報告給用戶,將錯誤類型顯示在屏幕上。2/26/20243.連接編譯后生成的目標代碼還不能直接在計算機上運行,其主要原因是編譯器對每個源程序文件分別進行編譯,如果一個程序有多個源程序文件,編譯后這些源程序文件還分布在不同的地方。因此,需要把它們連接在一起,生成可以在計算機上運行的可執(zhí)行文件。即使源程序僅由一個源文件構成,這個源文件生成的目標程序也還需要系統(tǒng)提供庫文件中的一些代碼,故也需要連接起來。連接工作一般由編譯系統(tǒng)中的連接程序來完成,連接程序將由編譯器生成的目標代碼文件和庫中的某些文件連接在一起,生成一個可執(zhí)行文件。可執(zhí)行文件的默認擴展名為“.exe”。

2/26/20244.運行一個C源程序經(jīng)過編譯和連接后生成了可執(zhí)行文件,可以在Windows環(huán)境下直接雙擊該文件運行程序,也可以在VisualC++6.0的集成開發(fā)環(huán)境下運行。程序運行后,將在屏幕上顯示運行結果或提示用戶輸入數(shù)據(jù)的信息。用戶可以根據(jù)運行結果來判斷程序是否有算法錯誤。在生成可執(zhí)行文件之前,一定要保證編譯和連接不出現(xiàn)錯誤和警告,這樣才能正常運行。因為程序中有些警告雖然不影響生成可執(zhí)行文件,但有可能導致結果錯誤。

2/26/2024VisualC++6.0IDE的啟動與退出新建工程新建源程序文件編譯、連接、和運行程序1.5C程序的運行環(huán)境

1.5.1VisualC++6.0

1.5.2TurboC2.0

TurboC2.0的啟動TurboC2.0的工作窗口TurboC2.0的配置文件確定TurboC2.0的工作環(huán)境2/26/2024(1)啟動VisualC++6.0IDE,操作方法如下:在Windows桌面上,單擊【開始】程序|【MicrosoftVisualC++6.0】|【MicrosoftVisualC++6.0】命令,啟動VisualC++6.0IDE的主窗口,如圖所示。VisualC++6.0IDE的啟動與退出

2/26/2024(2)退出VisualC++6.0IDE,操作方法如下:單擊【文件】|【退出】菜單命令,或單擊窗口的【關閉】按鈕,退出VisualC++。VisualC++6.0IDE的啟動與退出

2/26/2024在“C:\STUDENT”目錄下,新建一個名為“ch01_01”的工程。新建工程ch01_01的操作方法如下:

(1)啟動VisualC++。

(2)在VisualC++主窗口中,單擊【文件】|【新建】,彈出“新建”對話框。

(3)在“新建”對話框中,單擊選中“工程”標簽下的“Win32ConsoleApplication”(Win32控制臺應用程序)項。然后在“位置”文本框中指定新建工程的路徑:“C:\STUDENT\ch01_01”。最后在“工程名稱:”文本框中輸入新建工程的名稱:“ch01_01”,如圖所示。新建工程

2/26/2024新建工程

2/26/2024(4)單擊【確定】按鈕,進入“Win32ConsoleApplication–步驟1共1步對話框,選中“一個空工程(E)”項,如圖所示。新建工程

2/26/2024(5)單擊【完成】按鈕,彈出“新建工程信息”對話框,顯示即將新建的Win32控制臺應用程序的框架說明,如圖所示。新建工程

說明:“Emptyconsoleapplication”說明將建立的是一個空的控制臺應用程序?!癗ofileswillbecreatedoraddedtotheproject”說明即將創(chuàng)建的工程中沒有任何文件。2/26/2024(6)在確認Win32控制臺應用程序的新建工程信息無誤后,單擊【確定】按鈕,彈出ch01_01工程編輯窗口,如圖所示。新建工程

2/26/2024(7)單擊【文件】|【關閉工作空間】菜單命令,關閉工程編輯窗口,回到VisualC++主窗口。(8)檢查新建工程ch01_01。系統(tǒng)生成了一組相關的文件夾與文件,打開“資源管理器”窗口,單擊“C:\STUDENT\ch01_01”文件夾圖標,窗口內容顯示如圖所示。新建工程

2/26/2024說明:當用VisualC++生成一個項目時,系統(tǒng)會產生很多的文件,對這些不同類型文件的作用簡單介紹如下:

.dsw文件:工作區(qū)(Workspace)文件,是VisualC++中級別最高的文件,可以用它直接打開工程。

.dsp文件:項目(Project)文件,存放特定的應用程序的有關信息。如果沒有dsw文件,可以用它直接打開工程。

.opt文件:選項文件,是工程關于開發(fā)環(huán)境的選項設置。此文件被刪除后會自動建立,若更換了機器環(huán)境,因開發(fā)環(huán)境變了,該文件也會重建。

.ncb文件:無編譯瀏覽(nocompilebrowser)文件。當自動完成功能出問題時,可以刪除此文件,build后會自動生成。此時Debug文件夾下沒有任何文件。新建工程

2/26/2024在“ch01_01”工程中,新建一個名為“ch01_01.c”的C源程序文件,程序內容參考例1.1。在工程中新建源程序文件的操作方法如下:新建源程序文件2/26/2024(1)在VisualC++主窗口中,單擊【文件】|【打開工作空間】菜單命令,彈出“打開工作區(qū)”對話框,在“查找范圍】下拉列表中選中“C:\STUDENT\ch01_01”文件夾,在列表框中單擊選中名為“ch01_01.dsw”的文件,對話框顯示如圖所示。新建源程序文件2/26/2024(2)單擊【打開】按鈕,進入ch01_01工程編輯窗口。(3)單擊【工程】|【添加到工程】|【新建】菜單命令,彈出“新建”對話框。新建源程序文件2/26/2024(4)在對話框中選中“文件”標簽,選中“C++SourceFile”項。然后,在“文件名”文本框中輸入“ch01_01.c”。建議大家輸入后綴名“.c”,如果不輸入后綴名,系統(tǒng)將自動添加默認后綴名“.cpp”,如圖所示。新建源程序文件說明:默認的選項卡是“文件”,默認文件類型是“ActiveServerPage”。2/26/2024(5)單擊“確定”按鈕,然后在ch01_01的工程編輯窗口中將出現(xiàn)源程序文件的編輯窗口,如圖所示。標題為“ch01_01.c”的子窗口出現(xiàn)字符輸入光標閃爍,提示輸入源程序。說明:現(xiàn)在窗口中有兩個子窗口,一個是工程編輯窗口(主窗口),另一個是源程序編輯窗口。。新建源程序文件2/26/2024(6)輸入源程序的全部內容,如圖所示。然后,單擊【文件】|【保存】命令,或按工具欄上的【保存】按鈕,將輸入的源程序內容保存到文件“C:\STUDENT\ch01_01\ch01_01.c”中。新建源程序文件2/26/2024(1)單擊【組建】|【編譯[ch01_01.c]】菜單命令,或按【Ctrl+F7】鍵,編譯源程序(.c)。VisualC++工程編輯窗口中輸出窗口的信息如圖所示。編譯、連接、運行程序2/26/2024說明:由輸出窗口中的信息可以看出,編譯時發(fā)生了一個錯誤。由第三行信息:“C:\STUDENT\ch01_01\ch01_01.c(9):errorC2143:syntaxerror:missing‘;’before‘}’”可以看出錯誤發(fā)生在ch01_01.c文件的第9行,并且是語法錯誤。即在右大括號“}”之前丟失了分號“;”,可以直接用鼠標雙擊第三行信息,系統(tǒng)會自動定位到發(fā)生錯誤的位置。我們在右大括號“}”之前補上一個分號“;”,即在第8行語句的結束位置補上分號“;”。編譯、連接、和運行程序2/26/2024(2)再次單擊【組建】|【編譯[ch01_01.c]】菜單命令,或按【Ctrl+F7】鍵,編譯源程序(.c),生成目標程序(.obj)。打開資源管理器,觀察“C:\STUDENT\ch01_01\Debug”文件夾發(fā)現(xiàn)生成了“ch01_01.obj”文件。VisualC++工程編輯窗口中輸出窗口的信息如圖1.14所示編譯、連接、和運行程序2/26/2024(3)單擊【組建】|【組建[ch01_01.exe]】菜單命令,或按【F7】鍵,連接目標程序(.obj),生成可執(zhí)行程序(.exe)。打開資源管理器,觀察“C:\STUDENT\ch01_01\Debug”文件夾發(fā)現(xiàn)生成了“ch01_01.exe”文件。VisualC++工程編輯窗口中輸出窗口的信息如圖所示。編譯、連接、和運行程序2/26/2024(4)單擊【組建】|【執(zhí)行[ch01_01.exe]】菜單命令,或按【Ctrl+F5】鍵,出現(xiàn)如圖所示的運行窗口。(5)觀察運行結果后,按任意鍵,運行窗口消失。說明:上面的C程序運行實例是一個工程只有一個文件的運行實例,下面以例1.3來說明一個工程中有兩個文件的操作方法:

編譯、連接、和運行程序2/26/2024(1)【啟動VisualC++】|【新建工程】|【新建源程序文件】:選中“C++SourceFile”項,建立一個名為“max.c”的源程序文件,輸入代碼如圖1.17所示。

編譯、連接、和運行程序2/26/2024(2)【新建源程序文件】:選中“C++SourceFile”項,再建立一個名為“main.c”的源程序文件,輸入代碼如圖1.18所示。

編譯、連接、和運行程序2/26/2024(3)編譯、連接、運行程序。程序運行后,屏幕顯示:請輸入a和b的值:6688max=88編譯、連接、和運行程序2/26/20241.5.2TurboC2.0概述

Borland公司在1981年推出C語言程序設計集成開發(fā)環(huán)境“TurboC2.0”,由于其性能實用穩(wěn)定,一直長期應用在社會的不同領域,得到社會各界的廣泛認同。下面對TurboC的工作環(huán)境作一些簡單的介紹。2/26/20241TurboC2.0的啟動

如果采用系統(tǒng)提供的默認方案安裝TurboC,完成后用戶的磁盤(一般為C盤)上新增加了以下的子目錄和文件。

C:\TC子目錄,其中包括Tc.exe、Tcc.exe、Make.exe等執(zhí)行文件。

C:\TC\Include子目錄,其中包括Stdio.h、Math.h、Malloc.h、String.h等頭文件。

C:\TC\Lib子目錄,其中包括Maths.lib、Mathl.lib、Graphics.lib等庫函數(shù)文件。由此可知,在TC主目錄下已經(jīng)存放了Tc.exe和Tcc.exe兩個執(zhí)行文件。其中Tc.exe是將編輯、編譯、連接、調試和運行集成為一體的基本模塊,Tcc.exe則提供了某些補充功能,例如可以在程序中嵌入?yún)R編代碼等。在一般情況下只需用到Tc.exe。2/26/2024進入TurboC環(huán)境需要調用Tc.exe,由Windows平臺進入可以用以下兩種方法:通過“資源管理器”找到文件夾TC中的Tc.exe文件,雙擊該文件,即可進入TurboC環(huán)境,屏幕上將顯示如圖所示的TurboC環(huán)境。

2/26/2024通過“資源管理器”找到文件夾TC,將其中的Tc.exe文件創(chuàng)建為“快捷方式”,然后把它拖到桌面上,在桌面上就出現(xiàn)一個“快捷方式到Tc.exe”的圖標。以后每次進入TurboC環(huán)境時,只需雙擊該圖標即可。

2/26/20242TurboC2.0的工作窗口

進入TurboC2.0集成開發(fā)環(huán)境之后,顯示如圖所示的工作窗口。

2/26/2024

TurboC的工作窗口由主菜單窗口、編輯窗口、信息窗口和功能鍵提示行4部分組成。主菜單窗口

編輯窗口

信息窗口功能鍵提示行

以上四個窗口構成了TurboC2.0的主屏幕,以后的編程、編譯、調試以及運行都將在這個主屏幕進行。2/26/2024主菜單窗口頂上一行為TurboC2.0主菜單窗口,包括8個主菜單:File(文件),Edit(編輯),Run(運行),Compile(編譯),Project(項目),Options(選項),Debug(調試),Break/watch(斷點、監(jiān)視),除Edit外,每個主菜菜單還有其他子菜單,分別用來實現(xiàn)各項操作。

2/26/2024編輯窗口中間區(qū)域為編輯窗口,位于主菜單窗口的下面,正上方有Edit字樣作標識。用來對TurboC源程序進行輸入和編輯。源程序都在這個窗口中顯示,編輯窗口占據(jù)了屏幕的大部分面積。

2/26/2024信息窗口編輯窗口的下方是信息窗口,用來顯示編譯和連接時的有關信息。在信息窗口上方有Message字樣作標識。在編輯源程序時用不到此窗口。

2/26/2024功能鍵提示行

屏幕最下方(在信息窗口的下面)為功能鍵提示行,用來顯示一些功能鍵。各功能鍵簡介如下:F1-Help(幫助):任何時候按【F1】鍵都會顯示幫助信息。F5-Zoom(分區(qū)控制):如果當前工作在編輯窗口,也就是說編輯窗口是激活的,按【F5】鍵就不顯示編輯窗口,它的作用是擴大信息窗口,以便能顯示較多的信息,便于用戶觀看。若再按一次【F5】鍵,就會恢復原狀。2/26/2024功能鍵提示行F6-Switch(轉換):按【F6】鍵可激活信息窗口(可以看到信息窗口中的標題Message以高亮度顯示),此時編輯窗口不能工作。若再按一次【F6】鍵,就又激活編輯窗口(可以看到編輯窗口中的標題Edit以高亮度顯示),此時可以在編輯窗口中編輯源程序。F7-Trace(跟蹤):用于跟蹤程序的運行情況。F8-Step(按步執(zhí)行):按一次【F8】鍵執(zhí)行一個語句。F9-Make(生成目標文件):按【F9】鍵進行編譯和連接,生成.obj文件和.exe文件。F10-Menu(菜單):按【F10】鍵可以激活主菜單。2/26/20243TurboC2.0的配置文件

所謂配置文件是指包含TurboC2.0有關信息的文件,其中存有編譯、連接的選擇和路徑等信息。可以用下述方法建立TurboC2.0的配置:(1)建立用戶自命名的配置文件:可以從“Options”菜單中選擇【Option】|【Saveoptions】命令,將當前集成開發(fā)環(huán)境的所有配置存入一個由用戶命名的配置文件中。下次啟動TC時只要在DOS下鍵入:

Tc/c<用戶自命名的配置文件名>就會把這個配置文件中的內容作為TurboC2.0的選擇。2/26/20243TurboC2.0的配置文件(2)若設置【Options】|【Environment】|【Configautosave】為“on”,則退出集成開發(fā)環(huán)境時,當前的設置會自動存放到TurboC2.0配置文件TCCONFIG.TC中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論