版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計
張芳主編
(王維強輔助設計)北京:電子工業(yè)出版社出版2/5/20231C語言程序設計C語言程序設計
CProgrammer數學信息科學學院副教授青島大學張芳2/5/20232C語言程序設計
院樓二層軟件教研室
電話/p>
EMAIL:zhangfang@如何與老師聯系?2/5/20233C語言程序設計第一章程序設計與C語言
1.1C語言概述1.2C語言的程序結構1.3術語1.4C語言的上機步驟1.5算法簡介習題(一)及參考答案與解析2/5/20234C語言程序設計1.1C語言概述
程序設計語言現在已經發(fā)展到了第四代。它的發(fā)展過程大體上是這樣的:2/5/20235C語言程序設計(1)機器語言也有的稱為CPU的指令系統(tǒng)。大約在20世紀50年代,人們開始用由二進制數“0”、“1”構成的指令碼編寫程序。程序的可讀性很差,并且難于修改、擴充和移植。因此,當時的編程人員只是極少數計算機專業(yè)技術人員,并且程序只用于特定類型的計算機和特定的用途。這也使得其運算效率是所有語言中最高的。人們習慣上把機器語言稱為第一代程序語言。(2)匯編語言也稱為符號語言,是用諸如:“ADD”(代表加法)、“MOV”(代表數據傳送)等助記符號(一些簡潔的英文字母、符號串)描述的指令系統(tǒng)。雖然與機器語言相比,有了較大的進步(減輕了使用機器語言編程的痛苦,人們很容易讀懂并理解程序在干什么,糾錯及維護都變得方便了),但仍未完全擺脫具體機型的限制,且程序的可讀性比較差,也不容易修改、擴充和移植。而此時人們設計出的具有用一條指令來描述若干條指令功能的宏匯編,是程序語言發(fā)展史上的一個巨大進步。由于作為第二代程序語言的匯編語言和機器語言一樣,都是面向計算機硬件的,所以它們又被稱為面向機器的語言。(3)面向過程的高級語言也有人稱之為算法語言,它主要面向解題的過程,這種語言接近于數學語言或人的自然語言,同時又不依賴于計算機硬件,編出的程序能在所有機器上通用。這些語言大約產生于20世紀60年代,主要有BASIC、C、FORTRAN、PASCAL和C++等,人們稱之為第三代程序語言。(4)非過程化的高級語言
使用過程化的語言解題。隨著計算機圖形學的發(fā)展,面向對象的程序設計方法和可視化軟件開發(fā)越來越流行,這為非計算機專業(yè)人員提供了極大地方便。象用C語言開發(fā)的FOXBASE+等非過程化的高級語言,被稱之為第四代程序語言。
2/5/20236C語言程序設計現在使用的大多數程序是用高級程序(過程)語言編寫的,而C語言就是其中的“頂梁柱”。C語言是一種編譯型程序語言,其前身是60年代開發(fā)的BSPC語言,當時就能夠處理與機器本身數據類型相近的數據,而且具有與內存地址對應的指針處理方式。到了1970年在繼承和發(fā)展BCPC語言這些特點的基礎上,又提出了“B語言”,小型機的UNIX操作系統(tǒng)就是使用B語言記述和開發(fā)的。此后在進行UNIX操作系統(tǒng)的開發(fā)工作中,對B語言做了進一步完善,美國AT&T公司貝爾實驗室的D.M.Ritchie在1972年推出了一種新型的程序語言,這就是C語言。自從C語言問世以來,就表現出了較強的生命力。它從最初的UNIX操作系統(tǒng)的記述語言,已迅速發(fā)展成為廣泛應用的通用程序語言。過去僅在小型機領域中使用的C語言,隨著16位和32位微機的發(fā)展和普及,正成長為微機的主要程序語言之一,當前某些機大中型中也在使用C語言。C語言有以下幾個基本特點:
2/5/20237C語言程序設計(1)C語言是處于匯編語言和高級語言之間的一種記述性程序語言,又被稱為中級計算機語言。中級語言并沒有貶義,并不意味著它功能差,難以使用,或者比BASIC、PASCAL那樣的高級語言原始,也不意味著它與匯編語言相似,會給使用者帶來類似的麻煩。C語言之所以被稱為中級語言,是因為它把高級語言的成分同匯編語言的功能結合起來了,也就是說C語言是比較靠近面向硬件和系統(tǒng)的語言,象匯編語言那樣可以直接訪問硬件的功能。允許對位,字節(jié)和地址這些計算機中的基本成分進行操作,又有高級語言面向用戶,容易記憶,便于閱讀和書寫的優(yōu)點。(2)C語言具有簡潔的程序表示和書寫格式,以及強大的功能。用C語言編寫的程序往往短小精悍,功能強大,不僅可以用于科學計算、信息處理,還可以用于系統(tǒng)軟件和應用軟件的開發(fā)。(3)C語言程序具有較強的可移植性,也就是說可將編寫的軟件不需要做較大修改就可以從一種機型移到另一種機型上運行。由于C語言的語句中,沒有依存于硬件的輸入輸出(I/O)語句。程序的I/O功能是通過調用I/O函數來實現的,而這些函數是由系統(tǒng)提供的獨立于C語言的程序模塊庫。因此C語言本身并不依存于機器的硬件系統(tǒng),從而便于在硬件結構不同的機型間實現程序的移植。(4)C語言是一種結構化的程序設計語言,即:程序的邏輯結構可以用順序,選擇和循環(huán)三種基本結構組成。(5)C語言是便于模塊化軟件設計的程序語言。C語言程序的函數結構,十分利于把整體程序分割成若干相對獨立的功能模塊,并且為程序模塊間的相互調用以及數據傳遞提供了便利。這一特點也為把大型軟件模塊化,由多人同時進行集體性開發(fā)的軟件工程技術方法提供了強大的支持。2/5/20238C語言程序設計(6)C語言程序中可以使用如#define、#include等編譯預處理語句,能夠進行字符串或特定參數的宏定義,以及實現對外部文本文件的讀取和合并。同時還具有#if、#else等條件編譯預處理語句,提高了軟件開發(fā)的工作效率,并為程序的組織和編譯提供了便利。(7)C語言具有種類豐富的運算子。除一般高級語言中使用的“+”、“-”、“*”、“/”等四則運算以及“AND”、“OR”、“NOT”等邏輯運算符外,還可以實現以二進制位(bit)為單位的位與(&)、位或(|)、位非(~)、位異或(^)以及移位操作(>>,<<)等位運算,并且具有“a++”、“b--”等單項運算和“+=”、“-=”、“*=”、“/=”等復合運算功能。(8)C語言的數據類型豐富?;绢愋陀凶止?jié)型(8bit),單精度整數(16bit),雙精度整數(32bit)和單、雙精度實數型,同時它還具有結構體和聯合體(又稱為共同體)兩種數據類型。利用它們可以便利地處理包含著不同數據類型的復雜數據類型。因此,C語言具有較高的數據處理功能。(9)C語言程序執(zhí)行效率高。試驗證明,針對同一問題,用C語言編寫的程序生成目標代碼的質量以及執(zhí)行的速度都比諸如FORTRAN、BASIC等其它高級語言編寫的程序要好很多。C語言的以上特點使其得以廣泛普及和應用。C語言又被稱為“高級匯編語言”,使用它的趨勢日益增強,最近呈現出C語言有可能取代匯編語言的發(fā)展趨向。
2/5/20239C語言程序設計1.2C語言的程序結構
C語言具有32個關鍵字(見表1.2),它們與標準C句法結合形成了程序設計語言C。
表1.2C語言的關鍵字autobreakcasecharconstcontinutedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsightsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile
C的關鍵字都是小寫的。在C語言中區(qū)分大、小寫,如“else”是關鍵字,“ELSE”就不是關鍵字。在C語言中關鍵字不能用于其它目的,即不允許將關鍵字作為變量名或函數名使用。
2/5/202310C語言程序設計所有的C程序都是由一個或多個函數構成,其中必須只能有一個主函數“main()”,它是程序運行開始時被調用的第一個函數,無論它的位置如何。在編制完整的C代碼中,“main()”實質上包含著程序要完成動作的輪廓,這個輪廓由函數調用組成。雖然從技術上講,主函數不是C語言的一個成分,但它仍被看作是其一部分。這樣,如果“main()”用作變量名,會給編譯程序造成混亂。C語言程序的基本形式是:函數類型函數名(形式參數)形式參數說明;{數據說明部分;語句部分;}函數頭包括函數說明、函數名和小括弧“()”中的形式參數。如果函數調用無參數傳遞,小括號中形式參數為空。形式參數說明指定函數調用傳遞參數的數據類型。函數體指大括號“{}”內的部分,包括其內使用的數據說明和執(zhí)行函數功能的語句。大括號“{”和“}”表示函數體的開始和結束。C語言書寫格式自由,允許一行內寫若干個語句,每個語句和數據定義的后面必須跟上一個分號“;”。當然,也可以把一個語句寫在若干行上。C語言中的注釋語句要放在注釋符“/*”與“*/”之間。在“/”與“*”之間不允許有空格,并且一般來說,注釋部分允許出現在程序的任何位置。注釋的目的是增加程序的可讀性。因此,建議大家在編寫程序時要寫上必要的注釋。
2/5/202311C語言程序設計例1.2.1,如下完整的C語言程序用于輸出“WelcometolearningCprogram!”。/*文件名:print.c*/#include<stdio.h>/*插入標準I/O庫的頭文件*/main()/*主函數*/{printf(“WelcometolearningprogramC!\n”);/*輸出語句*/}例1.2.2,如下完整的C語言程序用于輸出所輸入的兩個在-32768到32767之間的整數中的最小者。#include<stdio.h>/*插入標準I/O庫的頭文件*/main()/*主函數*/{intx,y,z;/*聲名部分,說明局部變量x,y為整型*/scanf(“%d,%d”,&x,&y);/*輸入變量x,y的值*/z=min(x,y);/*調用函數min(),將得到的值賦給z*/printf(“Theminorbetween%dand%dis%d.\n”,x,y,z);/*輸出結果*/}intmin(inta,intb)/*定義函數min(),返回值為整型,行參a,b為整型*/{intc;/*聲明部分,說明局部變量c為整型*/if(a>b);/*通過條件語句把a,b最小者賦給c*/c=b;elsec=a;return(c)/*文件名:min.c*//*返回c的值*/}2/5/202312C語言程序設計1.2.1函數庫和鏈接
從技術上講,純粹由程序員自己編寫的語句構成C語言程序是可以的,但這也是罕見的。因為C語言在它的定義中沒有執(zhí)行輸入、輸出操作的任何方法。因此大多數C語言程序都含對C語言種種標準庫函數的調用。所有的C編譯程序都是和標準C函數庫一起提供的,后者含有完成各種常用任務的函數。在C語言的某些實現中,函數庫以一個大文件的形式出現;在另一些C語言的實現中,它卻被分成幾個小文件,以提高效率和實用性。為了簡單起見,我們討論函數庫時,都采用單一文件形式。C編譯程序的實現者已經編寫了大部分常用的通用函數。當我們調用一個別人編寫的函數時,編譯程序“記憶”它的名字。隨后,“鏈接程序”把我們編寫的程序同標準函數庫中找到的目標碼結合起來,這個過程稱“鏈接”。某些C編譯程序帶有自己的鏈接程序,有些則使用操作系統(tǒng)提供的標準鏈接程序。最初,C語言被用于系統(tǒng)程序設計,一個“系統(tǒng)程序”是一大類程序的一個部分,這一大類構成了計算機操作系統(tǒng)及其實用程序。通常被稱之為系統(tǒng)程序的有:操作系統(tǒng)、翻譯程序、編輯程序、匯編程序、編譯程序和數據庫管理程序。保存在函數庫中的函數是可適定位的,這意味著其中機器碼指令的內存地址并沒絕對確定,只有偏移量是確定的,當把程序與標準函數庫中的函數連接時,內存偏移量被用來產生實際地址。某些技術手冊和參考書中更為詳細地講述了這一處理過程,但是,以上對適定位的了解對于運行C語言程序來說已經足夠了。
2/5/202313C語言程序設計1.2.2分別編譯
大部分以C語言編寫的短程序都可以完全放于一個源文件中。然而隨著程序長度的增加,編譯時間也會增加,因此C允許將一個程序分解為若干塊,每一個文件可單獨編譯,一旦所有的文件編譯完畢,就可以將它們與庫函數中的函數鏈接,形成一個完整的目標代碼程序。分別編譯的優(yōu)點是,當一個文件中的代碼改變以后,并不必重新編譯全部程序。
2/5/202314C語言程序設計1.2.3編譯一個C語言程序
編譯一個C語言程序包括以下四步:(1)程序設計(程序編輯):用編輯程序產生一個后綴為“.C”的C源程序文件。如:“cf.c”。C程序習慣上使用小寫英文字母,常量和其他用途的符號可用大寫字母。C語言對大、小寫字母是有區(qū)別的。關鍵字必須小寫。(2)程序編譯:將存盤的C源程序翻譯成二進制目標代碼,在MS-DOS下是后綴為“.obj”的文件。這個過程是使用系統(tǒng)提供的編譯程序(編譯器)運行的。不同操作系統(tǒng)下的各種編譯程序的啟動命令不同。編譯的同時對源文件的語法和邏輯結構等進行檢查,當出現錯誤時,就會在顯示器上顯示錯誤的位置和種類,再次使用編譯程序進行排錯修正。(3)鏈接過程:編譯后產生的目標文件是浮動的程序模塊,不能被直接用于執(zhí)行。經過鏈接后,才生成可以運行的可執(zhí)行文件。鏈接過程就是把目標文件和其他分別進行編譯生成的目標程序模塊(如果有的話)及系統(tǒng)提供的標準庫函數鏈接在一起,生成可以運行的可執(zhí)行文件的過程。UNIX下名字為“cf.out”,而在MS-DOS下名字為“cf.exe”。(4)程序運行:直接輸入“C>cf”,再按回車鍵(用“↙”表示),當執(zhí)行結果達到預期目的,則開發(fā)工作到此完成,否則,從頭開始執(zhí)行(1)、(2)、(3)、(4)。
2/5/202315C語言程序設計1.2.4用批命令編譯程序
將編輯、編譯、鏈接、調試、運行全過程在窗口狀態(tài)下實現,這就是TurboC,這要看操作系統(tǒng)中是否具備。
2/5/202316C語言程序設計1.3術語
(1)源代碼:用戶可以閱讀的程序正文(文本),通常也被成為源程序,它是C編譯程序的輸入。(2)目標碼:由源代碼轉換而來的機器碼,計算機可直接讀入并執(zhí)行,目標碼是鏈接程序的輸入。(3)鏈接程序:可以把分別編譯的函數鏈接為一個完整的程序,它能夠把C的標準函數與程序開發(fā)人員編寫的代碼結合起來。鏈接程序的輸出是可執(zhí)行代碼。(4)函數庫:一個用來存放可被用戶程序引用的標準函數的文件,這些函數包括所有I/O操作及其它有用的子程序。(5)編譯時間:程序被編譯時出現的事件。在編譯時間內出現的錯誤通常是語法錯誤。(6)運行時間:程序在運行時出現的事件。
2/5/202317C語言程序設計1.4C語言的上機步驟
TurboC是目前應用十分廣泛的編譯程序。下面簡單介紹一下TurboC的一些情況。按裝并打開TurboC后,大家會看到“主菜單”有8個“子菜單項”
(見表1.4),每個“子菜單項”又有若干“子菜單項”。
表1.4.1TurboC的菜單主菜單FileEditRunCompileProjectOptionDebugBreak/watch含義
文件
編輯
運行
編譯
項目
選項
調試
中斷/觀察操作
文件
2/5/202318C語言程序設計
表1.4.2TurboC的一些快捷鍵
快捷鍵操作相當于*F3File/LoadAlt+F3File/Pick*F2File/SaveAlt+XFile/QuitCtrl+F9Run/RunCtrl+F2Run/ProgramresetF4Run/GotocursorF7Run/TraceintoF8Run/Seepover*F9Compile/MakeEXEfile*Alt+F5Run/UserscreenCtrl+f4Debug/EvaluateCtrl+F3Debug/CallstackCtrl+F7Break/watch/Addwatch注:加“*”的為常用快捷鍵。加號“+”表示同時按鍵。另外“F10”常用于狀態(tài)切換。用鍵盤的左移鍵“←”和右移鍵“→”進行選擇菜單項,按回車鍵(常用“↙”表示)選定當前的一個菜單項。選定菜單項之后,再用上移鍵“↑”和下移鍵“↓”選擇所需項,按回車鍵選定。2/5/202319C語言程序設計使用TurboC的一般步驟如下:(1)打開TurboC后,系統(tǒng)會自動建立一個新的C語言源程序。也可以通過選擇“File/New”新建一個C語言源程序。如果源程序已經存在,則選擇“File/load”,在彈出的對話框中輸入所需的文件名并按“↙”,即可打開文件。(2)在“Edit”編輯狀態(tài)下,輸入或修改源文件后,選擇“Compile/CompiletoOBJ”進行編譯,再選擇“Compile/LinkEXEfile”進行鏈接。也可以直接選擇“Compile/MakeEXEfile”,將編譯和鏈接同時進行。(3)按“F10”進行狀態(tài)轉換,選擇“Run/Run”執(zhí)行程序。當源程序有誤時,返回(2);否則,選擇“Run/Userscreen”,便可以看到程序的輸出結果??紤]到絕大多數高校、培訓機構以及個人使用TurboC,對于C語言程序在DOS和UNIX操作系統(tǒng)下的運行,請讀者參閱其它參考書。
2/5/202320C語言程序設計1.5算法簡介
計算機大師NikilausWirth提出了一個著名的公式:
程序設計=數據結構+算法數據結構是程序對數據的描述。它是絕大多數計算機及其相關專業(yè)的基礎課。關于這方面,這里不再贅述。算法則是對某一個特定問題求解步驟進行描述的有序指令序列。它具有:有窮性、確定性、可行性以及輸入和輸出等5個重要特性。評價一個算法的優(yōu)劣則一般從正確性、可讀性、健壯性和算法效率等4個方面進行考慮。一個算法常用偽碼和流程圖等描述。軟件專業(yè)人員則習慣使用偽碼。
2/5/202321C語言程序設計(1)偽碼用介于自然語言和計算機語言之間的文字和符號來表示算法,書寫格式自由。例1.5.1,任意輸入一個非零自然數n,求1+2+…+n的值。用偽碼表示如下:算法開始:賦予x的初始值為0賦予y的初始值為n當i<y時(循環(huán)執(zhí)行下列語句)x=x+ii=i+1輸出x的值算法結束用偽碼也可以這樣表示:Begin0=>xn=>yfor(i<y+1,i+1=>i){x+i=>x}printxEnd自己嘗試寫一下下例中算法的偽碼表示。例1.5.2,任意輸入一個非零自然數,求的值。
2/5/202322C語言程序設計(2)普通流程圖用一些規(guī)定的圖標以及一些文字和符號來表示算法,具有直觀性。AmericanNationalStandardInstitute(簡稱:ANSI)對這些圖標作了規(guī)定。其中一些常用的圖標如下:表1.5.1普通流程圖的常用圖標
名稱起止輸入輸出處理判斷注釋方向結點圖標圖標圖標圖標圖標圖標圖標圖標2/5/202323C語言程序設計例1.5.3,任意輸入三個數,按自小到大順序輸出。用普通流程圖表示為:開始
輸入x,y,zNx>yx=>ny=>m
Yx=>yy=>n1m=>pz>nn=>mz=>n
Ym<z1z=>m2Yz=>p22
輸出p,m,n嘗試著寫一下下例算法的普通流程圖表示。例1.5.4,任意輸入四個數,按自大到小順序輸出。
2/5/202324C語言程序設計(3)N-S流程圖由順序結構、選擇結構和循環(huán)結構三種基本結構按程序執(zhí)行的順序構成的放在一個矩形內的算法表示(見表1.5.2)。表1.5.2N-S流程圖的基本結構
再執(zhí)行B.A;否則執(zhí)行B。反復執(zhí)行A。P不成立。基本AYPNPA結構BABAP名稱順序結構選擇結構當型循環(huán)結構直到型循環(huán)結構含義先執(zhí)行A,條件P成立,執(zhí)行當條件P成立,執(zhí)行A,直到條件2/5/202325C語言程序設計例1.5.5,某超市規(guī)定:一次購物在1000元人民幣以上者,打9.5折;一次購物在5000元以上者,打8.5折;一次購物在10000元以上者,打7折。一位顧客只購買單價為280元的皮鞋和單價為150元的上衣。編寫一個程序,當輸入這類顧客購買的鞋子的雙數和上衣的件數時,程序輸出顧客應付的錢數。用N-S流程圖表示為:輸入m,n280╳m+150╳n=>xYx>10000NYx>5000N7╳x=>x8.5╳x=>xYx>1000N9.5╳x=>x
輸出x試著用N-S流程圖表示下例中的算法。例1.5.6,求解“1+2+……+n<100”的n的最大值。2/5/202326C語言程序設計習題(一)
1,
C語言程序以()為基本單位。A.子程序B.過程C.函數D.函數和過程2,
一個C語言程序有且僅有一個()。A.includeB.函數C.主函數D.過程3,
下列說法正確的是()。A.在C語言程序中,任何函數都可以被其它函數調用。B.C語言程序的執(zhí)行從main()函數開始到該程序文件的最后一個函數結束。C.C語言程序中main()函數的位置必須放在最開始。D.C語言程序本身沒有輸入、輸出語句。4,
下列說法不正確的是()。A.C語言程序一行內只能寫一條語句。B.C語言源程序只能轉換為目標代碼后才可以執(zhí)行。C.分號“:”是C語言程序的一部分。D.一個完整的C語言程序可以由一個或多個源程序文件組成。2/5/202327C語言程序設計
5,指出下列程序片段中程序注釋正確的是()。
A.#include<stdio.h>B.#include<stdio.h>main()main(){{intx=1;floatx/*初始化/*把1.00賦給x*/*/=1.00;printf(“%d/*整型*/”,x);printf(“%f”,x);}}
C.#include<stdio.h>D.#include,stdio.h>main(/*主函數*/)main(){{intx/*初始化*/=1;printf(“%d\n”,x);print/*打印*/f(“OK!”);}}6,參照本章例題1.2.1,編寫一個C語言程序:任意輸入三個-32768到32767之間的整數,輸出輸入的第二個數。7,參照本章例題1.2.2,編寫一個C語言程序:任意輸入兩個-32768到32767之間的整數,輸出最大者。8*,參照本章例題1.2.2,編寫一個C語言程序:任意輸入三個-32768到32767之間的整數,輸出最大者。9*,編寫一個程序,求解“”的根(提示:“開平方根”運算用函數“sqrt()”)。10,用偽碼表示題6,7,8,9中的算法。11,任選一種流程圖,表示題6,7,8,9中的算法。12,簡述C語言程序的主要特點。13,簡述C語言程序的組成。
2/5/202328C語言程序設計答案與解析(答案僅供參考)1,C.2,C.3,D.在C語言程序中,main()函數只能自身調用,不可被其它函數調用,除函數main()外,其它任何函數都可以被調用,所以A項不正確;一個C語言程序的執(zhí)行總是從main()函數開始,無論main()函數在整個程序中的位置如何,到該main()函數結束。當然,main()函數可以放在程序最開頭,也可以放在程序的最后,或一些函數的前面或后面;所以B、C項不正確;C語言程序本身沒有輸入、輸出語句,要完成輸入、輸出操作則需調用庫函數scanf()和printf()等。故正確答案為D。4,A.C語言程序書寫格式自由,一行內可以寫多個語句,每個語句之間用分號“;”分開,一個語句也可以寫在多行上。所以A項錯誤,為所選項。5,C.A項把注釋放在printf()函數的格式說明中了,程序將在屏幕上直接輸出“注釋”,而起不到注釋的作用,所以A項不正確;注釋不可以嵌套,所以B項不正確;D項把輸出函數printf()分開了,所以不正確。2/5/202329C語言程序設計6,main()/*主函數*/{intx,y,z;/*聲明部分,說明局部變量x,y,z為整型*/scanf(“%d,%d,%d”,&x,&y,&z);/*輸入x,y,z的值*/printf(“Thesecondis%d.\n”,y);/*輸出語句*/}7,/*文件名:max.c*/#include<stdio.h>/*插入標準I/O庫的頭文件*/main()/*主函數*/{intx,y,z;/*聲名部分,說明局部變量x,y為整型*/scanf(“%d,%d”,&x,&y);/*輸入變量x,y的值*/z=max(x,y);/*調用函數max(),將得到的值賦給z*/printf(“Max=%d.\n”,z);/*輸出結果*/}intmax(inta,intb)/*定義函數max(),返回值為整型,形參a,b為整型*/{intc;/*聲明部分,說明局部變量c為整型*/if(a>b)/*通過條件語句把a,b最大者賦給c*/c=a;elsec=b;return(c);/*返回c的值*/}2/5/202330C語言程序設計8,/*文件名:maxtr.c*/#include<stdio.h>/*插入I/O庫文件頭*/main()/*主函數*/{intx,y,z,m;/*聲明部分,說明局部變量x,y,z,m為整型*/scanf(“%d,%d,%d”,&x,&y&z);/*輸入x,y,z的值*/m=max(x,y,z);/*調用max()函數,把其值賦予m*/printf(“max=%d.\n”,m);/*輸出語句*/}intmax(inta,intb,intc)/*定義函數max(),其返回值為整型,形參a,b,c為整型*/{intn;/*說明局部變量n為整型*/if(a>b)n=max0(a,c);/*通過條件語句,當a>b是,調用函數max0(),把a,c的最大值(即:a,b,c的最大值)賦予n*/elsen=max0(b,c);/*當a<=b時,調用函數max0(),把b,c的最大值
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 探索學前兒童美術興趣的多元化啟蒙策略
- 2025賓館客房預訂與旅行社代理合作協(xié)議3篇
- 2024跨區(qū)域能源基礎設施建設項目融資合同
- 安徽事業(yè)單位2025年度聘用合同書編寫要點與模板2篇
- 教育科技與小學法治教育的融合研究
- 二零二五版棉紗行業(yè)市場調研與分析服務合同4篇
- 泰州存量房買賣合同2025年度產權瑕疵責任規(guī)定3篇
- 2025版瑪雅旅游度假村合作協(xié)議4篇
- 2025年度民間股權借款合同模板4篇
- 2025年度整棟倉儲物流設施出租承包合同4篇
- 課題申報書:GenAI賦能新質人才培養(yǎng)的生成式學習設計研究
- 駱駝祥子-(一)-劇本
- 全國醫(yī)院數量統(tǒng)計
- 《中國香文化》課件
- 2024年醫(yī)美行業(yè)社媒平臺人群趨勢洞察報告-醫(yī)美行業(yè)觀察星秀傳媒
- 第六次全國幽門螺桿菌感染處理共識報告-
- 2024-2030年中國商務服務行業(yè)市場現狀調查及投資前景研判報告
- 高一英語必修一試卷(含答案)(適合測試)
- 中國的世界遺產智慧樹知到期末考試答案2024年
- 中國綠色食品市場調查與分析報告
- 手衛(wèi)生依從性調查表
評論
0/150
提交評論