




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、2022-3-16C語言程序設(shè)計1 C語言程序設(shè)計 張芳 主編 (王維強 輔助設(shè)計)北京:電子工業(yè)出版社出版2022-3-16C語言程序設(shè)計2C語言程序設(shè)計語言程序設(shè)計 C Programmer2022-3-16C語言程序設(shè)計3院樓二層軟件教研室院樓二層軟件教研室電話:電話MAIL:如何與老師聯(lián)系如何與老師聯(lián)系?2022-3-16C語言程序設(shè)計4第一章 程序設(shè)計與C語言 1.1 C語言 概述 1.2C語言的程序結(jié)構(gòu) 1.3 術(shù)語 1.4 C語言的上機步驟 1.5 算法簡介習題(一)及參考答案與解析2022-3-16C語言程序設(shè)計51.1 C語言概述 程序設(shè)計語言現(xiàn)在已
2、經(jīng)發(fā)展到了第四代。它的發(fā)展過程大體上是這樣的:2022-3-16C語言程序設(shè)計6(1)機器語言 也有的稱為CPU的指令系統(tǒng)。大約在20世紀50年代,人們開始用由二進制數(shù)“0”、“1”構(gòu)成的指令碼編寫程序。程序的可讀性很差,并且難于修改、擴充和移植。因此,當時的編程人員只是極少數(shù)計算機專業(yè)技術(shù)人員,并且程序只用于特定類型的計算機和特定的用途。這也使得其運算效率是所有語言中最高的。人們習慣上把機器語言稱為第一代程序語言。(2)匯編語言 也稱為符號語言,是用諸如:“ADD”(代表加法)、“MOV”(代表數(shù)據(jù)傳送)等助記符號(一些簡潔的英文字母、符號串)描述的指令系統(tǒng)。雖然與機器語言相比,有了較大的進
3、步(減輕了使用機器語言編程的痛苦,人們很容易讀懂并理解程序在干什么,糾錯及維護都變得方便了),但仍未完全擺脫具體機型的限制,且程序的可讀性比較差,也不容易修改、擴充和移植。而此時人們設(shè)計出的具有用一條指令來描述若干條指令功能的宏匯編,是程序語言發(fā)展史上的一個巨大進步。由于作為第二代程序語言的匯編語言和機器語言一樣,都是面向計算機硬件的,所以它們又被稱為面向機器的語言。(3)面向過程的高級語言 也有人稱之為算法語言,它主要面向解題的過程,這種語言接近于數(shù)學(xué)語言或人的自然語言,同時又不依賴于計算機硬件,編出的程序能在所有機器上通用。這些語言大約產(chǎn)生于20世紀60年代,主要有BASIC、C、FORT
4、RAN、PASCAL和C+等,人們稱之為第三代程序語言。(4)非過程化的高級語言 使用過程化的語言解題。隨著計算機圖形學(xué)的發(fā)展,面向?qū)ο蟮某绦蛟O(shè)計方法和可視化軟件開發(fā)越來越流行,這為非計算機專業(yè)人員提供了極大地方便。象用C語言開發(fā)的FOXBASE+等非過程化的高級語言,被稱之為第四代程序語言。 2022-3-16C語言程序設(shè)計7現(xiàn)在使用的大多數(shù)程序是用高級程序(過程)語言編寫的,而C語言就是其中的“頂梁柱”。C語言是一種編譯型程序語言,其前身是60年代開發(fā)的BSPC語言,當時就能夠處理與機器本身數(shù)據(jù)類型相近的數(shù)據(jù),而且具有與內(nèi)存地址對應(yīng)的指針處理方式。到了1970年在繼承和發(fā)展BCPC語言這些
5、特點的基礎(chǔ)上,又提出了“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ā)展成為廣泛應(yīng)用的通用程序語言。過去僅在小型機領(lǐng)域中使用的C語言,隨著16位和32位微機的發(fā)展和普及,正成長為微機的主要程序語言之一,當前某些機大中型中也在使用C語言。C語言有以下幾個基本特點: 2022-3-16C語言程序設(shè)計8(1)C語言是處于匯編
6、語言和高級語言之間的一種記述性程序語言,又被稱為中級計算機語言。中級語言并沒有貶義,并不意味著它功能差,難以使用,或者比BASIC、PASCAL那樣的高級語言原始,也不意味著它與匯編語言相似,會給使用者帶來類似的麻煩。C語言之所以被稱為中級語言,是因為它把高級語言的成分同匯編語言的功能結(jié)合起來了,也就是說C語言是比較靠近面向硬件和系統(tǒng)的語言,象匯編語言那樣可以直接訪問硬件的功能。允許對位,字節(jié)和地址這些計算機中的基本成分進行操作,又有高級語言面向用戶,容易記憶,便于閱讀和書寫的優(yōu)點。(2)C語言具有簡潔的程序表示和書寫格式,以及強大的功能。用C語言編寫的程序往往短小精悍,功能強大,不僅可以用于
7、科學(xué)計算、信息處理,還可以用于系統(tǒng)軟件和應(yīng)用軟件的開發(fā)。(3)C語言程序具有較強的可移植性,也就是說可將編寫的軟件不需要做較大修改就可以從一種機型移到另一種機型上運行。由于C語言的語句中,沒有依存于硬件的輸入輸出(I/O)語句。程序的I/O功能是通過調(diào)用I/O函數(shù)來實現(xiàn)的,而這些函數(shù)是由系統(tǒng)提供的獨立于C語言的程序模塊庫。因此C語言本身并不依存于機器的硬件系統(tǒng),從而便于在硬件結(jié)構(gòu)不同的機型間實現(xiàn)程序的移植。(4)C語言是一種結(jié)構(gòu)化的程序設(shè)計語言,即:程序的邏輯結(jié)構(gòu)可以用順序,選擇和循環(huán)三種基本結(jié)構(gòu)組成。(5)C語言是便于模塊化軟件設(shè)計的程序語言。C語言程序的函數(shù)結(jié)構(gòu),十分利于把整體程序分割成若
8、干相對獨立的功能模塊,并且為程序模塊間的相互調(diào)用以及數(shù)據(jù)傳遞提供了便利。這一特點也為把大型軟件模塊化,由多人同時進行集體性開發(fā)的軟件工程技術(shù)方法提供了強大的支持。2022-3-16C語言程序設(shè)計9(6)C語言程序中可以使用如#define、#include等編譯預(yù)處理語句,能夠進行字符串或特定參數(shù)的宏定義,以及實現(xiàn)對外部文本文件的讀取和合并。同時還具有#if、#else等條件編譯預(yù)處理語句,提高了軟件開發(fā)的工作效率,并為程序的組織和編譯提供了便利。(7)C語言具有種類豐富的運算子。除一般高級語言中使用的“+”、“-”、“*”、“/”等四則運算以及“AND”、“OR”、“NOT”等邏輯運算符外,
9、還可以實現(xiàn)以二進制位(bit)為單位的位與(&)、位或()、位非()、位異或()以及移位操作(,)等位運算,并且具有“a+”、“b-”等單項運算和“+=”、“-=”、“*=”、“/=”等復(fù)合運算功能。(8)C 語言的數(shù)據(jù)類型豐富?;绢愋陀凶止?jié)型(8bit),單精度整數(shù)(16bit),雙精度整數(shù)(32bit)和單、雙精度實數(shù)型,同時它還具有結(jié)構(gòu)體和聯(lián)合體(又稱為共同體)兩種數(shù)據(jù)類型。利用它們可以便利地處理包含著不同數(shù)據(jù)類型的復(fù)雜數(shù)據(jù)類型。因此,C語言具有較高的數(shù)據(jù)處理功能。(9)C語言程序執(zhí)行效率高。試驗證明,針對同一問題,用C語言編寫的程序生成目標代碼的質(zhì)量以及執(zhí)行的速度都比諸如FO
10、RTRAN、BASIC等其它高級語言編寫的程序要好很多。C語言的以上特點使其得以廣泛普及和應(yīng)用。C語言又被稱為“高級匯編語言”,使用它的趨勢日益增強,最近呈現(xiàn)出C語言有可能取代匯編語言的發(fā)展趨向。 2022-3-16C語言程序設(shè)計101.2 C語言的程序結(jié)構(gòu) C語言具有32個關(guān)鍵字(見表1.2),它們與標準C句法結(jié)合形成了程序設(shè)計語言C。 表1.2 C語言的關(guān)鍵字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的關(guān)鍵字都是小寫的。在C語言中區(qū)分大、小寫,如“else”是關(guān)鍵字,“ELSE”就不是關(guān)鍵字。在C語言中關(guān)鍵字不能用于其它目的,即不允許將關(guān)鍵字作為變量名或函數(shù)名使用。 2022-3-16C語言程序設(shè)計11所有的C程序都是由一個或多個函數(shù)構(gòu)成,其中必須只能有一個主函數(shù)“main()”,它是程序運行開始時被調(diào)用的第一個函數(shù),無論它的位置如何。在編制完整的C代碼中,“main( )”實質(zhì)上包含著程序要完成動作的輪廓,這個輪廓由函數(shù)調(diào)用組成。雖
12、然從技術(shù)上講,主函數(shù)不是C語言的一個成分,但它仍被看作是其一部分。這樣,如果“main()” 用作變量名,會給編譯程序造成混亂。C語言程序的基本形式是:函數(shù)類型 函數(shù)名(形式參數(shù))形式參數(shù)說明;數(shù)據(jù)說明部分;語句部分;函數(shù)頭包括函數(shù)說明、函數(shù)名和小括弧“()”中的形式參數(shù)。如果函數(shù)調(diào)用無參數(shù)傳遞,小括號中形式參數(shù)為空。形式參數(shù)說明指定函數(shù)調(diào)用傳遞參數(shù)的數(shù)據(jù)類型。函數(shù)體指大括號“”內(nèi)的部分,包括其內(nèi)使用的數(shù)據(jù)說明和執(zhí)行函數(shù)功能的語句。大括號“”和“”表示函數(shù)體的開始和結(jié)束。C語言書寫格式自由,允許一行內(nèi)寫若干個語句,每個語句和數(shù)據(jù)定義的后面必須跟上一個分號“;”。當然,也可以把一個語句寫在若干行
13、上。C語言中的注釋語句要放在注釋符“/*”與“*/”之間。在“/”與“*”之間不允許有空格,并且一般來說,注釋部分允許出現(xiàn)在程序的任何位置。注釋的目的是增加程序的可讀性。因此,建議大家在編寫程序時要寫上必要的注釋。 2022-3-16C語言程序設(shè)計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); /*調(diào)用函數(shù)min(),將得到的值賦給z*/ printf(“The minor between %d and %d is %d .n”,x,y,z); /*輸出結(jié)果*/ 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語言程序設(shè)計131.2.1 函數(shù)庫和鏈接 從技術(shù)上講,純粹由程序員自己編寫的語句構(gòu)成C語言程序是可以的,但這也是罕見的。因為C語言在它的定義中沒有執(zhí)行輸入、輸出操作的任何方法。因此大多數(shù)C語言程序都含對C語言種種標準庫函數(shù)的調(diào)用。 所有的C編譯程序都是和標準C函數(shù)庫一起提供的,后者含有完成各種常用任務(wù)的函數(shù)。在C語言的某些實現(xiàn)中,函數(shù)庫以一個大文件的形
16、式出現(xiàn);在另一些C語言的實現(xiàn)中,它卻被分成幾個小文件,以提高效率和實用性。為了簡單起見,我們討論函數(shù)庫時,都采用單一文件形式。 C編譯程序的實現(xiàn)者已經(jīng)編寫了大部分常用的通用函數(shù)。當我們調(diào)用一個別人編寫的函數(shù)時,編譯程序“記憶”它的名字。隨后,“鏈接程序”把我們編寫的程序同標準函數(shù)庫中找到的目標碼結(jié)合起來,這個過程稱“鏈接”。某些C編譯程序帶有自己的鏈接程序,有些則使用操作系統(tǒng)提供的標準鏈接程序。 最初,C語言被用于系統(tǒng)程序設(shè)計,一個“系統(tǒng)程序”是一大類程序的一個部分,這一大類構(gòu)成了計算機操作系統(tǒng)及其實用程序。通常被稱之為系統(tǒng)程序的有:操作系統(tǒng)、翻譯程序、編輯程序、匯編程序、編譯程序和數(shù)據(jù)庫管理
17、程序。 保存在函數(shù)庫中的函數(shù)是可適定位的,這意味著其中機器碼指令的內(nèi)存地址并沒絕對確定,只有偏移量是確定的,當把程序與標準函數(shù)庫中的函數(shù)連接時,內(nèi)存偏移量被用來產(chǎn)生實際地址。某些技術(shù)手冊和參考書中更為詳細地講述了這一處理過程,但是,以上對適定位的了解對于運行C語言程序來說已經(jīng)足夠了。 2022-3-16C語言程序設(shè)計141.2.2分別編譯 大部分以C語言編寫的短程序都可以完全放于一個源文件中。然而隨著程序長度的增加,編譯時間也會增加,因此C允許將一個程序分解為若干塊,每一個文件可單獨編譯,一旦所有的文件編譯完畢,就可以將它們與庫函數(shù)中的函數(shù)鏈接,形成一個完整的目標代碼程序。分別編譯的優(yōu)點是,當
18、一個文件中的代碼改變以后,并不必重新編譯全部程序。 2022-3-16C語言程序設(shè)計151.2.3 編譯一個C語言程序 編譯一個C語言程序包括以下四步: (1)程序設(shè)計(程序編輯):用編輯程序產(chǎn)生一個后綴為“.C”的C源程序文件。如:“cf.c”。C程序習慣上使用小寫英文字母,常量和其他用途的符號可用大寫字母。C語言對大、小寫字母是有區(qū)別的。關(guān)鍵字必須小寫。 (2)程序編譯:將存盤的C源程序翻譯成二進制目標代碼,在MS-DOS下是后綴為“.obj”的文件。這個過程是使用系統(tǒng)提供的編譯程序(編譯器)運行的。不同操作系統(tǒng)下的各種編譯程序的啟動命令不同。編譯的同時對源文件的語法和邏輯結(jié)構(gòu)等進行檢查,
19、當出現(xiàn)錯誤時,就會在顯示器上顯示錯誤的位置和種類,再次使用編譯程序進行排錯修正。 (3)鏈接過程:編譯后產(chǎn)生的目標文件是浮動的程序模塊,不能被直接用于執(zhí)行。經(jīng)過鏈接后,才生成可以運行的可執(zhí)行文件。鏈接過程就是把目標文件和其他分別進行編譯生成的目標程序模塊(如果有的話)及系統(tǒng)提供的標準庫函數(shù)鏈接在一起,生成可以運行的可執(zhí)行文件的過程。UNIX下名字為“cf.out”,而在MS-DOS下名字為“cf.exe”。 (4)程序運行:直接輸入“Ccf”,再按回車鍵(用“”表示),當執(zhí)行結(jié)果達到預(yù)期目的,則開發(fā)工作到此完成,否則,從頭開始執(zhí)行(1)、(2)、(3)、(4)。 2022-3-16C語言程序設(shè)
20、計161.2.4用批命令編譯程序 將編輯、編譯、鏈接、調(diào)試、運行全過程在窗口狀態(tài)下實現(xiàn),這就是Turbo C,這要看操作系統(tǒng)中是否具備。 2022-3-16C語言程序設(shè)計171.3 術(shù)語 (1)源代碼:用戶可以閱讀的程序正文(文本),通常也被成為源程序,它是C編譯程序的輸入。 (2)目標碼:由源代碼轉(zhuǎn)換而來的機器碼,計算機可直接讀入并執(zhí)行,目標碼是鏈接程序的輸入。 (3)鏈接程序:可以把分別編譯的函數(shù)鏈接為一個完整的程序,它能夠把C的標準函數(shù)與程序開發(fā)人員編寫的代碼結(jié)合起來。鏈接程序的輸出是可執(zhí)行代碼。 (4)函數(shù)庫:一個用來存放可被用戶程序引用的標準函數(shù)的文件,這些函數(shù)包括所有I/O操作及其
21、它有用的子程序。 (5)編譯時間:程序被編譯時出現(xiàn)的事件。在編譯時間內(nèi)出現(xiàn)的錯誤通常是語法錯誤。 (6)運行時間:程序在運行時出現(xiàn)的事件。 2022-3-16C語言程序設(shè)計181.4 C語言的上機步驟 Turbo C是目前應(yīng)用十分廣泛的編譯程序。下面簡單介紹一下Turbo C的一些情況。 按裝并打開Turbo C后,大家會看到“主菜單”有8個“子菜單項” (見表1.4),每個“子菜單項”又有若干“子菜單項”。 表1.4.1 Turbo C的菜單主菜單 File Edit Run Compile Project Option Debug Break/watch含義 文件 編輯 運行 編譯 項目
22、選項 調(diào)試 中斷/觀察 操作 文件 2022-3-16C語言程序設(shè)計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語言程序設(shè)計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)轉(zhuǎn)換,選擇“Run/Run”執(zhí)行程序。當源程序有誤時,返回(2);否則,選擇“Run/User screen”,便可以看到程序的輸出結(jié)果??紤]到絕大多數(shù)高校、培訓(xùn)機構(gòu)以及個人使用Turbo C,對于C語言程序在DOS和UNIX操作系統(tǒng)下的運行,請讀者參閱其它參考書
25、。 2022-3-16C語言程序設(shè)計211.5 算法簡介 計算機大師Nikilaus Wirth提出了一個著名的公式: 程序設(shè)計=數(shù)據(jù)結(jié)構(gòu)+算法 數(shù)據(jù)結(jié)構(gòu)是程序?qū)?shù)據(jù)的描述。它是絕大多數(shù)計算機及其相關(guān)專業(yè)的基礎(chǔ)課。關(guān)于這方面,這里不再贅述。算法則是對某一個特定問題求解步驟進行描述的有序指令序列。它具有:有窮性、確定性、可行性以及輸入和輸出等5個重要特性。評價一個算法的優(yōu)劣則一般從正確性、可讀性、健壯性和算法效率等4個方面進行考慮。 一個算法常用偽碼和流程圖等描述。軟件專業(yè)人員則習慣使用偽碼。 2022-3-16C語言程序設(shè)計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語言程序設(shè)計23(2)普通流程圖 用一些規(guī)定的圖標以及一些文字和符號來表示算法,具有直觀性。American National Standard Institute(簡稱:ANSI)對這些圖標作了規(guī)定。其中一些常用的圖標如下: 表1.5.1 普通流程圖的常用圖標 名稱 起止 輸入輸出
27、處理 判斷 注釋 方向 結(jié)點 圖標 圖標 圖標 圖標 圖標 圖標 圖標 圖 標2022-3-16C語言程序設(shè)計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語言程序設(shè)計25(3)N-S流程圖由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)按程序執(zhí)行的順序構(gòu)成的放在一個矩形內(nèi)的算法表示(見表1.5.2)。 表1.5
28、.2 N-S流程圖的基本結(jié)構(gòu) 再執(zhí)行B. A;否則執(zhí)行B。 反復(fù)執(zhí)行A。 P不成立?;?A Y P N P A結(jié)構(gòu) B A B A P名稱 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 當型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)含義 先執(zhí)行A, 條件P成立,執(zhí)行 當條件P成立, 執(zhí)行A,直到條件2022-3-16C語言程序設(shè)計26例1.5.5,某超市規(guī)定:一次購物在1000元人民幣以上者,打9.5折;一次購物在5000元以上者,打8.5折;一次購物在10000元以上者,打7折。一位顧客只購買單價為280元的皮鞋和單價為150元的上衣。編寫一個程序,當輸入這類顧客 購買的鞋子的雙數(shù)和上衣的件數(shù)時,程序輸出顧客應(yīng)付的錢數(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語言程序設(shè)計27習題(一) n1, C語言程序以()為基本單位。A. 子程序 B. 過程 C. 函數(shù) D. 函數(shù)和過程n2, 一個C語言程序有且僅有一個()。A. include B. 函數(shù) C. 主函數(shù) D. 過程n3, 下列說法正確的是()。A. 在C語言程序中,任何函數(shù)都可以被其它函數(shù)調(diào)用。B. C語言程序的執(zhí)行從main()函數(shù)開
30、始到該程序文件的最后一個函數(shù)結(jié)束。C. C語言程序中main()函數(shù)的位置必須放在最開始。D. C語言程序本身沒有輸入、輸出語句。n4, 下列說法不正確的是()。A. C語言程序一行內(nèi)只能寫一條語句。B. C語言源程序只能轉(zhuǎn)換為目標代碼后才可以執(zhí)行。C. 分號“:”是C語言程序的一部分。D. 一個完整的C語言程序可以由一個或多個源程序文件組成。2022-3-16C語言程序設(shè)計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語言程序設(shè)計29答案與解析(答案僅供參考)n1,Cn2,Cn3,D在C語言程序中,main()函數(shù)只能自身調(diào)用,不可被其它函數(shù)調(diào)用,除函數(shù)main()外,其它任何函數(shù)都可以被調(diào)用,所以A項不正確;一個C語言程序的執(zhí)行總是從main()函數(shù)開始,無論main()函數(shù)在整個程序中的位置如何,到該main()函數(shù)結(jié)束。當然,
33、main()函數(shù)可以放在程序最開頭,也可以放在程序的最后,或一些函數(shù)的前面或后面;所以B、C項不正確;C語言程序本身沒有輸入、輸出語句,要完成輸入、輸出操作則需調(diào)用庫函數(shù)scanf()和printf()等。故正確答案為D。n4,AC語言程序書寫格式自由,一行內(nèi)可以寫多個語句,每個語句之間用分號“;”分開,一個語句也可以寫在多行上。所以A項錯誤,為所選項。n5,CA項把注釋放在printf()函數(shù)的格式說明中了,程序?qū)⒃谄聊簧现苯虞敵觥白⑨尅?,而起不到注釋的作用,所以A項不正確;注釋不可以嵌套,所以B項不正確;D項把輸出函數(shù)printf()分開了,所以不正確。2022-3-16C語言程序設(shè)計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); /*調(diào)用函數(shù)max(),將得到的值賦給z*/ printf(“Max= %d .n”,z); /*輸出結(jié)果*/ 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語言程序設(shè)計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)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 質(zhì)量控制計劃
- 2025年旅游景區(qū)管理服務(wù)項目合作計劃書
- 重磅!2025年中國儲熱行業(yè)發(fā)展前景及市場空間預(yù)測報告(智研咨詢)
- 2021青島版小學(xué)科學(xué)三年級下冊教案(精修版)
- 廣東省惠州市2024-2025學(xué)年高一上學(xué)期期末考試語文試題 含解析
- 2025年節(jié)能、高效果蔬保鮮裝置項目發(fā)展計劃
- 高效率辦公解決方案實踐手冊
- 農(nóng)具租賃合同
- 肖像權(quán)使用許可協(xié)議
- 農(nóng)業(yè)行業(yè)物聯(lián)網(wǎng)技術(shù)在種植管理中的應(yīng)用方案
- 2025年煤礦探放水證考試題庫
- C語言程序設(shè)計 教案
- 農(nóng)業(yè)機械設(shè)備運輸及調(diào)試方案
- ps 課件教學(xué)課件
- 神經(jīng)外科患者早期康復(fù)護理
- 2025屆浙江省寧波市鎮(zhèn)海區(qū)鎮(zhèn)海中學(xué)高二物理第一學(xué)期期末考試試題含解析
- 2025新譯林版英語七年級下單詞表
- 海洋工程設(shè)備保溫保冷方案
- 口腔頜面部發(fā)育(口腔組織病理學(xué)課件)
- 機房設(shè)備搬遷及系統(tǒng)割接施工方案
- GB/T 44549-2024高溫條件下陶瓷材料界面黏結(jié)強度試驗方法
評論
0/150
提交評論