第一章程序設計與C語言_第1頁
第一章程序設計與C語言_第2頁
第一章程序設計與C語言_第3頁
第一章程序設計與C語言_第4頁
第一章程序設計與C語言_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2022-3-16C語言程序設計1 C語言程序設計 張芳 主編 (王維強 輔助設計)北京:電子工業(yè)出版社出版2022-3-16C語言程序設計2C語言程序設計語言程序設計 C Programmer2022-3-16C語言程序設計3院樓二層軟件教研室院樓二層軟件教研室電話:電話MAIL:如何與老師聯(lián)系如何與老師聯(lián)系?2022-3-16C語言程序設計4第一章 程序設計與C語言 1.1 C語言 概述 1.2C語言的程序結構 1.3 術語 1.4 C語言的上機步驟 1.5 算法簡介習題(一)及參考答案與解析2022-3-16C語言程序設計51.1 C語言概述 程序設計語言現(xiàn)在已

2、經(jīng)發(fā)展到了第四代。它的發(fā)展過程大體上是這樣的:2022-3-16C語言程序設計6(1)機器語言 也有的稱為CPU的指令系統(tǒng)。大約在20世紀50年代,人們開始用由二進制數(shù)“0”、“1”構成的指令碼編寫程序。程序的可讀性很差,并且難于修改、擴充和移植。因此,當時的編程人員只是極少數(shù)計算機專業(yè)技術人員,并且程序只用于特定類型的計算機和特定的用途。這也使得其運算效率是所有語言中最高的。人們習慣上把機器語言稱為第一代程序語言。(2)匯編語言 也稱為符號語言,是用諸如:“ADD”(代表加法)、“MOV”(代表數(shù)據(jù)傳送)等助記符號(一些簡潔的英文字母、符號串)描述的指令系統(tǒng)。雖然與機器語言相比,有了較大的進

3、步(減輕了使用機器語言編程的痛苦,人們很容易讀懂并理解程序在干什么,糾錯及維護都變得方便了),但仍未完全擺脫具體機型的限制,且程序的可讀性比較差,也不容易修改、擴充和移植。而此時人們設計出的具有用一條指令來描述若干條指令功能的宏匯編,是程序語言發(fā)展史上的一個巨大進步。由于作為第二代程序語言的匯編語言和機器語言一樣,都是面向計算機硬件的,所以它們又被稱為面向機器的語言。(3)面向過程的高級語言 也有人稱之為算法語言,它主要面向解題的過程,這種語言接近于數(shù)學語言或人的自然語言,同時又不依賴于計算機硬件,編出的程序能在所有機器上通用。這些語言大約產生于20世紀60年代,主要有BASIC、C、FORT

4、RAN、PASCAL和C+等,人們稱之為第三代程序語言。(4)非過程化的高級語言 使用過程化的語言解題。隨著計算機圖形學的發(fā)展,面向對象的程序設計方法和可視化軟件開發(fā)越來越流行,這為非計算機專業(yè)人員提供了極大地方便。象用C語言開發(fā)的FOXBASE+等非過程化的高級語言,被稱之為第四代程序語言。 2022-3-16C語言程序設計7現(xiàn)在使用的大多數(shù)程序是用高級程序(過程)語言編寫的,而C語言就是其中的“頂梁柱”。C語言是一種編譯型程序語言,其前身是60年代開發(fā)的BSPC語言,當時就能夠處理與機器本身數(shù)據(jù)類型相近的數(shù)據(jù),而且具有與內存地址對應的指針處理方式。到了1970年在繼承和發(fā)展BCPC語言這些

5、特點的基礎上,又提出了“B語言”,小型機的UNIX操作系統(tǒng)就是使用B語言記述和開發(fā)的。此后在進行UNIX操作系統(tǒng)的開發(fā)工作中,對B語言做了進一步完善,美國AT&T公司貝爾實驗室的D.M.Ritchie在1972年推出了一種新型的程序語言,這就是C語言。自從C語言問世以來,就表現(xiàn)出了較強的生命力。它從最初的UNIX操作系統(tǒng)的記述語言,已迅速發(fā)展成為廣泛應用的通用程序語言。過去僅在小型機領域中使用的C語言,隨著16位和32位微機的發(fā)展和普及,正成長為微機的主要程序語言之一,當前某些機大中型中也在使用C語言。C語言有以下幾個基本特點: 2022-3-16C語言程序設計8(1)C語言是處于匯編

6、語言和高級語言之間的一種記述性程序語言,又被稱為中級計算機語言。中級語言并沒有貶義,并不意味著它功能差,難以使用,或者比BASIC、PASCAL那樣的高級語言原始,也不意味著它與匯編語言相似,會給使用者帶來類似的麻煩。C語言之所以被稱為中級語言,是因為它把高級語言的成分同匯編語言的功能結合起來了,也就是說C語言是比較靠近面向硬件和系統(tǒng)的語言,象匯編語言那樣可以直接訪問硬件的功能。允許對位,字節(jié)和地址這些計算機中的基本成分進行操作,又有高級語言面向用戶,容易記憶,便于閱讀和書寫的優(yōu)點。(2)C語言具有簡潔的程序表示和書寫格式,以及強大的功能。用C語言編寫的程序往往短小精悍,功能強大,不僅可以用于

7、科學計算、信息處理,還可以用于系統(tǒng)軟件和應用軟件的開發(fā)。(3)C語言程序具有較強的可移植性,也就是說可將編寫的軟件不需要做較大修改就可以從一種機型移到另一種機型上運行。由于C語言的語句中,沒有依存于硬件的輸入輸出(I/O)語句。程序的I/O功能是通過調用I/O函數(shù)來實現(xiàn)的,而這些函數(shù)是由系統(tǒng)提供的獨立于C語言的程序模塊庫。因此C語言本身并不依存于機器的硬件系統(tǒng),從而便于在硬件結構不同的機型間實現(xiàn)程序的移植。(4)C語言是一種結構化的程序設計語言,即:程序的邏輯結構可以用順序,選擇和循環(huán)三種基本結構組成。(5)C語言是便于模塊化軟件設計的程序語言。C語言程序的函數(shù)結構,十分利于把整體程序分割成若

8、干相對獨立的功能模塊,并且為程序模塊間的相互調用以及數(shù)據(jù)傳遞提供了便利。這一特點也為把大型軟件模塊化,由多人同時進行集體性開發(fā)的軟件工程技術方法提供了強大的支持。2022-3-16C語言程序設計9(6)C語言程序中可以使用如#define、#include等編譯預處理語句,能夠進行字符串或特定參數(shù)的宏定義,以及實現(xiàn)對外部文本文件的讀取和合并。同時還具有#if、#else等條件編譯預處理語句,提高了軟件開發(fā)的工作效率,并為程序的組織和編譯提供了便利。(7)C語言具有種類豐富的運算子。除一般高級語言中使用的“+”、“-”、“*”、“/”等四則運算以及“AND”、“OR”、“NOT”等邏輯運算符外,

9、還可以實現(xiàn)以二進制位(bit)為單位的位與(&)、位或()、位非()、位異或()以及移位操作(,)等位運算,并且具有“a+”、“b-”等單項運算和“+=”、“-=”、“*=”、“/=”等復合運算功能。(8)C 語言的數(shù)據(jù)類型豐富。基本類型有字節(jié)型(8bit),單精度整數(shù)(16bit),雙精度整數(shù)(32bit)和單、雙精度實數(shù)型,同時它還具有結構體和聯(lián)合體(又稱為共同體)兩種數(shù)據(jù)類型。利用它們可以便利地處理包含著不同數(shù)據(jù)類型的復雜數(shù)據(jù)類型。因此,C語言具有較高的數(shù)據(jù)處理功能。(9)C語言程序執(zhí)行效率高。試驗證明,針對同一問題,用C語言編寫的程序生成目標代碼的質量以及執(zhí)行的速度都比諸如FO

10、RTRAN、BASIC等其它高級語言編寫的程序要好很多。C語言的以上特點使其得以廣泛普及和應用。C語言又被稱為“高級匯編語言”,使用它的趨勢日益增強,最近呈現(xiàn)出C語言有可能取代匯編語言的發(fā)展趨向。 2022-3-16C語言程序設計101.2 C語言的程序結構 C語言具有32個關鍵字(見表1.2),它們與標準C句法結合形成了程序設計語言C。 表1.2 C語言的關鍵字auto break case char const continute default dodouble else enum extern float for goto ifint long register return shor

11、t sight sizeof staticstruct switch typedef union unsigned void volatile while C的關鍵字都是小寫的。在C語言中區(qū)分大、小寫,如“else”是關鍵字,“ELSE”就不是關鍵字。在C語言中關鍵字不能用于其它目的,即不允許將關鍵字作為變量名或函數(shù)名使用。 2022-3-16C語言程序設計11所有的C程序都是由一個或多個函數(shù)構成,其中必須只能有一個主函數(shù)“main()”,它是程序運行開始時被調用的第一個函數(shù),無論它的位置如何。在編制完整的C代碼中,“main( )”實質上包含著程序要完成動作的輪廓,這個輪廓由函數(shù)調用組成。雖

12、然從技術上講,主函數(shù)不是C語言的一個成分,但它仍被看作是其一部分。這樣,如果“main()” 用作變量名,會給編譯程序造成混亂。C語言程序的基本形式是:函數(shù)類型 函數(shù)名(形式參數(shù))形式參數(shù)說明;數(shù)據(jù)說明部分;語句部分;函數(shù)頭包括函數(shù)說明、函數(shù)名和小括弧“()”中的形式參數(shù)。如果函數(shù)調用無參數(shù)傳遞,小括號中形式參數(shù)為空。形式參數(shù)說明指定函數(shù)調用傳遞參數(shù)的數(shù)據(jù)類型。函數(shù)體指大括號“”內的部分,包括其內使用的數(shù)據(jù)說明和執(zhí)行函數(shù)功能的語句。大括號“”和“”表示函數(shù)體的開始和結束。C語言書寫格式自由,允許一行內寫若干個語句,每個語句和數(shù)據(jù)定義的后面必須跟上一個分號“;”。當然,也可以把一個語句寫在若干行

13、上。C語言中的注釋語句要放在注釋符“/*”與“*/”之間。在“/”與“*”之間不允許有空格,并且一般來說,注釋部分允許出現(xiàn)在程序的任何位置。注釋的目的是增加程序的可讀性。因此,建議大家在編寫程序時要寫上必要的注釋。 2022-3-16C語言程序設計12例1.2.1,如下完整的C語言程序用于輸出“Welcome to learning C program!”。/*文件名:print.c*/ #include /*插入標準I/O庫的頭文件*/main() /*主函數(shù)*/ printf(“Welcome to learning program C!n”); /*輸出語句*/例1.2.2,如下完整的C

14、語言程序用于輸出所輸入的兩個在-32768到32767之間的整數(shù)中的最小者。 #include /*插入標準I/O庫的頭文件*/ main() /*主函數(shù)*/ int x,y,z; /*聲名部分,說明局部變量x,y為整型*/ scanf(“%d,%d”,&x,&y); /*輸入變量x,y的值*/ z=min(x,y); /*調用函數(shù)min(),將得到的值賦給z*/ printf(“The minor between %d and %d is %d .n”,x,y,z); /*輸出結果*/ int min(int a,int b) /*定義函數(shù)min(),返回值為整型,行參a,b

15、為整型*/ int c; /*聲明部分,說明局部變量c為整型*/ if(ab) ; /*通過條件語句把a,b最小者賦給c*/ c=b; else c=a; return (c) /*文件名:min.c*/ /*返回c的值*/ 2022-3-16C語言程序設計131.2.1 函數(shù)庫和鏈接 從技術上講,純粹由程序員自己編寫的語句構成C語言程序是可以的,但這也是罕見的。因為C語言在它的定義中沒有執(zhí)行輸入、輸出操作的任何方法。因此大多數(shù)C語言程序都含對C語言種種標準庫函數(shù)的調用。 所有的C編譯程序都是和標準C函數(shù)庫一起提供的,后者含有完成各種常用任務的函數(shù)。在C語言的某些實現(xiàn)中,函數(shù)庫以一個大文件的形

16、式出現(xiàn);在另一些C語言的實現(xiàn)中,它卻被分成幾個小文件,以提高效率和實用性。為了簡單起見,我們討論函數(shù)庫時,都采用單一文件形式。 C編譯程序的實現(xiàn)者已經(jīng)編寫了大部分常用的通用函數(shù)。當我們調用一個別人編寫的函數(shù)時,編譯程序“記憶”它的名字。隨后,“鏈接程序”把我們編寫的程序同標準函數(shù)庫中找到的目標碼結合起來,這個過程稱“鏈接”。某些C編譯程序帶有自己的鏈接程序,有些則使用操作系統(tǒng)提供的標準鏈接程序。 最初,C語言被用于系統(tǒng)程序設計,一個“系統(tǒng)程序”是一大類程序的一個部分,這一大類構成了計算機操作系統(tǒng)及其實用程序。通常被稱之為系統(tǒng)程序的有:操作系統(tǒng)、翻譯程序、編輯程序、匯編程序、編譯程序和數(shù)據(jù)庫管理

17、程序。 保存在函數(shù)庫中的函數(shù)是可適定位的,這意味著其中機器碼指令的內存地址并沒絕對確定,只有偏移量是確定的,當把程序與標準函數(shù)庫中的函數(shù)連接時,內存偏移量被用來產生實際地址。某些技術手冊和參考書中更為詳細地講述了這一處理過程,但是,以上對適定位的了解對于運行C語言程序來說已經(jīng)足夠了。 2022-3-16C語言程序設計141.2.2分別編譯 大部分以C語言編寫的短程序都可以完全放于一個源文件中。然而隨著程序長度的增加,編譯時間也會增加,因此C允許將一個程序分解為若干塊,每一個文件可單獨編譯,一旦所有的文件編譯完畢,就可以將它們與庫函數(shù)中的函數(shù)鏈接,形成一個完整的目標代碼程序。分別編譯的優(yōu)點是,當

18、一個文件中的代碼改變以后,并不必重新編譯全部程序。 2022-3-16C語言程序設計151.2.3 編譯一個C語言程序 編譯一個C語言程序包括以下四步: (1)程序設計(程序編輯):用編輯程序產生一個后綴為“.C”的C源程序文件。如:“cf.c”。C程序習慣上使用小寫英文字母,常量和其他用途的符號可用大寫字母。C語言對大、小寫字母是有區(qū)別的。關鍵字必須小寫。 (2)程序編譯:將存盤的C源程序翻譯成二進制目標代碼,在MS-DOS下是后綴為“.obj”的文件。這個過程是使用系統(tǒng)提供的編譯程序(編譯器)運行的。不同操作系統(tǒng)下的各種編譯程序的啟動命令不同。編譯的同時對源文件的語法和邏輯結構等進行檢查,

19、當出現(xiàn)錯誤時,就會在顯示器上顯示錯誤的位置和種類,再次使用編譯程序進行排錯修正。 (3)鏈接過程:編譯后產生的目標文件是浮動的程序模塊,不能被直接用于執(zhí)行。經(jīng)過鏈接后,才生成可以運行的可執(zhí)行文件。鏈接過程就是把目標文件和其他分別進行編譯生成的目標程序模塊(如果有的話)及系統(tǒng)提供的標準庫函數(shù)鏈接在一起,生成可以運行的可執(zhí)行文件的過程。UNIX下名字為“cf.out”,而在MS-DOS下名字為“cf.exe”。 (4)程序運行:直接輸入“Ccf”,再按回車鍵(用“”表示),當執(zhí)行結果達到預期目的,則開發(fā)工作到此完成,否則,從頭開始執(zhí)行(1)、(2)、(3)、(4)。 2022-3-16C語言程序設

20、計161.2.4用批命令編譯程序 將編輯、編譯、鏈接、調試、運行全過程在窗口狀態(tài)下實現(xiàn),這就是Turbo C,這要看操作系統(tǒng)中是否具備。 2022-3-16C語言程序設計171.3 術語 (1)源代碼:用戶可以閱讀的程序正文(文本),通常也被成為源程序,它是C編譯程序的輸入。 (2)目標碼:由源代碼轉換而來的機器碼,計算機可直接讀入并執(zhí)行,目標碼是鏈接程序的輸入。 (3)鏈接程序:可以把分別編譯的函數(shù)鏈接為一個完整的程序,它能夠把C的標準函數(shù)與程序開發(fā)人員編寫的代碼結合起來。鏈接程序的輸出是可執(zhí)行代碼。 (4)函數(shù)庫:一個用來存放可被用戶程序引用的標準函數(shù)的文件,這些函數(shù)包括所有I/O操作及其

21、它有用的子程序。 (5)編譯時間:程序被編譯時出現(xiàn)的事件。在編譯時間內出現(xiàn)的錯誤通常是語法錯誤。 (6)運行時間:程序在運行時出現(xiàn)的事件。 2022-3-16C語言程序設計181.4 C語言的上機步驟 Turbo C是目前應用十分廣泛的編譯程序。下面簡單介紹一下Turbo C的一些情況。 按裝并打開Turbo C后,大家會看到“主菜單”有8個“子菜單項” (見表1.4),每個“子菜單項”又有若干“子菜單項”。 表1.4.1 Turbo C的菜單主菜單 File Edit Run Compile Project Option Debug Break/watch含義 文件 編輯 運行 編譯 項目

22、選項 調試 中斷/觀察 操作 文件 2022-3-16C語言程序設計19 表1.4.2 Turbo C的一些快捷鍵 快捷鍵操作 相當于 *F3 File/Load Alt+F3 File/Pick *F2 File/Save Alt+X File/Quit Ctrl+F9 Run/Run Ctrl+F2 Run/Program reset F4 Run/Go to cursor F7 Run/Trace into F8 Run/Seep over *F9 Compile/Make EXE file *Alt+F5 Run/User screen Ctrl+f4 Debug/Evaluate C

23、trl+F3 Debug/Call stack Ctrl+F7 Break/watch/Add watch 注:加“*”的為常用快捷鍵。加號“+”表示同時按鍵。另外“F10”常用于狀態(tài)切換。 用鍵盤的左移鍵“”和右移鍵“”進行選擇菜單項,按回車鍵(常用“”表示)選定 當前的一個菜單項。選定菜單項之后,再用上移鍵“”和下移鍵“”選擇所需項,按回車鍵選定。2022-3-16C語言程序設計20使用Turbo C的一般步驟如下:(1)打開Turbo C后,系統(tǒng)會自動建立一個新的C語言源程序。也可以通過選擇“File/New”新建一個C語言源程序。如果源程序已經(jīng)存在,則選擇“File/load”,在彈出

24、的對話框中輸入所需的文件名并按“”,即可打開文件。(2)在“Edit”編輯狀態(tài)下,輸入或修改源文件后,選擇“Compile/Compile to OBJ”進行編譯,再選擇“Compile/Link EXE file”進行鏈接。也可以直接選擇“Compile/Make EXE file”,將編譯和鏈接同時進行。(3)按“F10”進行狀態(tài)轉換,選擇“Run/Run”執(zhí)行程序。當源程序有誤時,返回(2);否則,選擇“Run/User screen”,便可以看到程序的輸出結果。考慮到絕大多數(shù)高校、培訓機構以及個人使用Turbo C,對于C語言程序在DOS和UNIX操作系統(tǒng)下的運行,請讀者參閱其它參考書

25、。 2022-3-16C語言程序設計211.5 算法簡介 計算機大師Nikilaus Wirth提出了一個著名的公式: 程序設計=數(shù)據(jù)結構+算法 數(shù)據(jù)結構是程序對數(shù)據(jù)的描述。它是絕大多數(shù)計算機及其相關專業(yè)的基礎課。關于這方面,這里不再贅述。算法則是對某一個特定問題求解步驟進行描述的有序指令序列。它具有:有窮性、確定性、可行性以及輸入和輸出等5個重要特性。評價一個算法的優(yōu)劣則一般從正確性、可讀性、健壯性和算法效率等4個方面進行考慮。 一個算法常用偽碼和流程圖等描述。軟件專業(yè)人員則習慣使用偽碼。 2022-3-16C語言程序設計22(1)偽碼 用介于自然語言和計算機語言之間的文字和符號來表示算法,

26、書寫格式自由。例1.5.1,任意輸入一個非零自然數(shù)n,求1+2+n的值。用偽碼表示如下: 算法開始: 賦予x的初始值為0賦予y的初始值為n當ix n=y for(ii) x+i=xprint xEnd自己嘗試寫一下下例中算法的偽碼表示。例1.5.2,任意輸入一個非零自然數(shù),求的值。 n12112022-3-16C語言程序設計23(2)普通流程圖 用一些規(guī)定的圖標以及一些文字和符號來表示算法,具有直觀性。American National Standard Institute(簡稱:ANSI)對這些圖標作了規(guī)定。其中一些常用的圖標如下: 表1.5.1 普通流程圖的常用圖標 名稱 起止 輸入輸出

27、處理 判斷 注釋 方向 結點 圖標 圖標 圖標 圖標 圖標 圖標 圖標 圖 標2022-3-16C語言程序設計24例1.5.3,任意輸入三個數(shù),按自小到大順序輸出。用普通流程圖表示為: 開始 輸入x,y,z N xy x=n y=m Y x=y y=n 1 m=p zn n=m z=n Y mm 2 Y z=p 2 2 輸出p,m,n 嘗試著寫一下下例算法的普通流程圖表示。例1.5.4,任意輸入四個數(shù),按自大到小順序輸出。 2022-3-16C語言程序設計25(3)N-S流程圖由順序結構、選擇結構和循環(huán)結構三種基本結構按程序執(zhí)行的順序構成的放在一個矩形內的算法表示(見表1.5.2)。 表1.5

28、.2 N-S流程圖的基本結構 再執(zhí)行B. A;否則執(zhí)行B。 反復執(zhí)行A。 P不成立?;?A Y P N P A結構 B A B A P名稱 順序結構 選擇結構 當型循環(huán)結構直到型循環(huán)結構含義 先執(zhí)行A, 條件P成立,執(zhí)行 當條件P成立, 執(zhí)行A,直到條件2022-3-16C語言程序設計26例1.5.5,某超市規(guī)定:一次購物在1000元人民幣以上者,打9.5折;一次購物在5000元以上者,打8.5折;一次購物在10000元以上者,打7折。一位顧客只購買單價為280元的皮鞋和單價為150元的上衣。編寫一個程序,當輸入這類顧客 購買的鞋子的雙數(shù)和上衣的件數(shù)時,程序輸出顧客應付的錢數(shù)。用N-S流程圖

29、表示為:輸入m,n280m+150n=xY x10000 N Y x5000 N 7 x=x 8.5 x=x Y x1000 N 9.5 x=x 輸出x試著用N-S流程圖表示下例中的算法。例1.5.6,求解“1+2+n100”的n的最大值。2022-3-16C語言程序設計27習題(一) n1, C語言程序以()為基本單位。A. 子程序 B. 過程 C. 函數(shù) D. 函數(shù)和過程n2, 一個C語言程序有且僅有一個()。A. include B. 函數(shù) C. 主函數(shù) D. 過程n3, 下列說法正確的是()。A. 在C語言程序中,任何函數(shù)都可以被其它函數(shù)調用。B. C語言程序的執(zhí)行從main()函數(shù)開

30、始到該程序文件的最后一個函數(shù)結束。C. C語言程序中main()函數(shù)的位置必須放在最開始。D. C語言程序本身沒有輸入、輸出語句。n4, 下列說法不正確的是()。A. C語言程序一行內只能寫一條語句。B. C語言源程序只能轉換為目標代碼后才可以執(zhí)行。C. 分號“:”是C語言程序的一部分。D. 一個完整的C語言程序可以由一個或多個源程序文件組成。2022-3-16C語言程序設計28 5,指出下列程序片段中程序注釋正確的是()。 A. #include B. #include main() main() int x=1; float x/*初始化/*把1.00賦給x*/*/=1.00;printf

31、(“%d/*整型*/”,x); printf(“%f”,x); C. #include D. #include,stdio.h main(/*主函數(shù)*/) main() int x/*初始化*/=1; printf(“%dn”,x); print/*打印*/f(“OK!”); 6,參照本章例題1.2.1,編寫一個C語言程序:任意輸入三個-32768到32767之間的整數(shù),輸出輸入的第二個數(shù)。7,參照本章例題1.2.2,編寫一個C語言程序:任意輸入兩個-32768到32767之間的整數(shù),輸出最大者。8*,參照本章例題1.2.2,編寫一個C語言程序:任意輸入三個-32768到32767之間的整數(shù),

32、輸出最大者。9*,編寫一個程序,求解“”的根(提示:“開平方根”運算用函數(shù)“sqrt()”)。10,用偽碼表示題6,7,8,9中的算法。11,任選一種流程圖,表示題6,7,8,9中的算法。12,簡述C語言程序的主要特點。13,簡述C語言程序的組成。 02Cxx2022-3-16C語言程序設計29答案與解析(答案僅供參考)n1,Cn2,Cn3,D在C語言程序中,main()函數(shù)只能自身調用,不可被其它函數(shù)調用,除函數(shù)main()外,其它任何函數(shù)都可以被調用,所以A項不正確;一個C語言程序的執(zhí)行總是從main()函數(shù)開始,無論main()函數(shù)在整個程序中的位置如何,到該main()函數(shù)結束。當然,

33、main()函數(shù)可以放在程序最開頭,也可以放在程序的最后,或一些函數(shù)的前面或后面;所以B、C項不正確;C語言程序本身沒有輸入、輸出語句,要完成輸入、輸出操作則需調用庫函數(shù)scanf()和printf()等。故正確答案為D。n4,AC語言程序書寫格式自由,一行內可以寫多個語句,每個語句之間用分號“;”分開,一個語句也可以寫在多行上。所以A項錯誤,為所選項。n5,CA項把注釋放在printf()函數(shù)的格式說明中了,程序將在屏幕上直接輸出“注釋”,而起不到注釋的作用,所以A項不正確;注釋不可以嵌套,所以B項不正確;D項把輸出函數(shù)printf()分開了,所以不正確。2022-3-16C語言程序設計30

34、 6, main() /*主函數(shù)*/ int x,y,z; /*聲明部分,說明局部變量x,y,z為整型*/ scanf(“%d,%d,%d”,&x,&y,&z); /*輸入x,y,z的值*/ printf(“The second is %d.n”,y); /*輸出語句*/ 7, /*文件名:max.c*/ #include /*插入標準I/O庫的頭文件*/ main() /*主函數(shù)*/ int x,y,z; /*聲名部分,說明局部變量x,y為整型*/ scanf(“%d,%d”,&x,&y); /*輸入變量x,y的值*/ z=max(x,y); /*調用函數(shù)max(),將得到的值賦給z*/ printf(“Max= %d .n”,z); /*輸出結果*/ int max(int a,int b) /*定義函數(shù)max(),返回值為整型,形參a,b為整型*/ int c; /*聲明部分,說明局部變量c為整型*/ if(ab) /*通過條件語句把a,b最大者賦給c*/ c=a; else c=b; return (c); /*返回c的值*/ 2022-3-16C語言程序設計31 8,/*文件名:maxtr.c*/ #include /*插入I/O庫文件頭*/ main() /*主函數(shù)*/ int x,y,z,m; /*聲明部分,

溫馨提示

  • 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

提交評論