版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
會計學1C語言程序設計上第1章計算機與程序設計第1頁/共240頁講授內(nèi)容計算機系統(tǒng)的基本組成、工作原理程序設計的基本過程和方法程序設計語言基本概念及其發(fā)展歷史結構化程序設計和面向?qū)ο蟪绦蛟O計方法典型的C++編程環(huán)境、開發(fā)過程和程序結構程序設計風格第2頁/共240頁1.1計算機系統(tǒng)概述(1/4)計算機系統(tǒng)機器系統(tǒng)能接收和存儲信息能對數(shù)據(jù)進行處理和計算能輸出結果計算機系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)組成硬件系統(tǒng)包括CPU、顯示器、內(nèi)存、硬盤、鍵盤等軟件系統(tǒng)包括各種程序和文檔第3頁/共240頁1.1計算機系統(tǒng)概述(2/4)計算機硬件——是軟件實現(xiàn)的基礎運算器——對數(shù)據(jù)進行算術運算和邏輯運算主存儲器——存儲二進制信息,與運算器、控制器等直接交換信息控制器——按程序的要求,控制計算機各功能部件協(xié)調(diào)一致地動作控制器+運算器=中央處理器中央處理器+主存儲器=處理機第4頁/共240頁1.1計算機系統(tǒng)概述(3/4)計算機硬件——是軟件實現(xiàn)的基礎輸入設備——將用戶信息(數(shù)據(jù)、程序等)變換為計算機能識別和處理的信息形式輸出設備——將計算機中二進制信息變換為用戶所需要并能識別的信息形式輔助存儲器——存儲主存儲器難以容納、又為程序執(zhí)行所需要的大量文件信息第5頁/共240頁1.1計算機系統(tǒng)概述(4/4)計算機軟件——計算機系統(tǒng)中的指揮者系統(tǒng)軟件——最靠近硬件,如編譯程序和操作系統(tǒng)等支撐軟件——支撐其它軟件的開發(fā)和維護,如各種數(shù)據(jù)庫管理系統(tǒng)、接口軟件和工具組應用軟件——用于特定應用領域,如財務管理系統(tǒng)上述分類是交叉和變化的一個軟件可以在一個系統(tǒng)中是系統(tǒng)軟件,在另一個系統(tǒng)中是支撐軟件在同一系統(tǒng)中,一個軟件可以既是系統(tǒng)軟件,也是支撐軟件第6頁/共240頁1.2程序設計基本概念(1/6)問題求解過程步驟問題定義——明確要解決的問題算法設計——把要求解的問題轉(zhuǎn)化為計算機的解題步驟程序編碼——對設計出來的算法實現(xiàn)進行編程實現(xiàn)測試和調(diào)試——發(fā)現(xiàn)和糾正程序中的錯誤第7頁/共240頁1.2程序設計基本概念(2/6)算法與程序算法——由有限個步驟組成的求解問題的方法算法的特點有窮性:執(zhí)行有窮個步驟后必須終止確定性:每一個步驟必須是無二義的能行性:每一個步驟都可以在有限時間內(nèi)做完輸入:一般有輸入信息輸出:一般有一個或多個輸出信息第8頁/共240頁1.2程序設計基本概念(3/6)算法的描述方式文字描述自然語言圖形描述流程圖、盒圖,PAD圖等程序語言描述計算機程序,如C++第9頁/共240頁1.2程序設計基本概念(4/6)程序的組成數(shù)據(jù)數(shù)據(jù)結構,程序處理的數(shù)據(jù)操作處理數(shù)據(jù)的操作步驟,即算法程序=數(shù)據(jù)結構+算法第10頁/共240頁1.2程序設計基本概念(5/6)程序設計和程序編碼先設計,后編碼設計是基礎,是編碼的依據(jù)設計的好壞影響代碼的質(zhì)量第11頁/共240頁1.2程序設計基本概念(6/6)程序設計語言描述數(shù)據(jù)和對數(shù)據(jù)的操作機器語言用機器基本指令編碼,二進制形式匯編語言使用一組助記符編碼,需要匯編才能運行高級語言表示方法更接近于待解問題的表示方法,需要編譯才能運行第12頁/共240頁1.3程序設計方法(1/4)結構化程序設計任何程序邏輯都可以用順序、選擇和循環(huán)三種基本結構表示第13頁/共240頁1.3程序設計方法(2/4)結構化程序設計自頂向下,逐步求精描述問題,分析問題,分解問題成相對獨立的子問題(反復進行,逐步分解)描述子問題的數(shù)據(jù)和操作模塊化原則盡量采用典型基本控制結構:順序、選擇、循環(huán)缺點(對于大型軟件開發(fā))穩(wěn)定性低、可修改性和可重用性差第14頁/共240頁1.3程序設計方法(3/4)面向?qū)ο蟪绦蛟O計面向問題現(xiàn)實世界是由對象組成的問題由哪些對象組成?對象之間如何相互作用?結構化程序由函數(shù)組成,面向?qū)ο蟪绦蛴蓪ο蠼M成易于擴展、可維護性好第15頁/共240頁1.3程序設計方法(4/4)面向?qū)ο蠓治龊驮O計步驟找出問題中的對象和類確定每個對象應具備的屬性和功能確定類、對象之間關系,相互作用的方式用程序代碼實現(xiàn)這些對象和類第16頁/共240頁1.4C與C++(1/3)C語言的歷史起源于Algol60在Algol60的基礎上發(fā)展出CPL語言1967年發(fā)展為BCPL,用于編寫操作系統(tǒng)和編譯器1970年貝爾實驗室將BCPL改良成B,并用B語言實現(xiàn)了第一個UNIX操作系統(tǒng)1972年左右,DennisRitchie和KenThompson在貝爾實驗室設計UNIX系統(tǒng)時,開發(fā)出了C語言之后,C語言發(fā)展出很多版本1988年,美國國家標準化協(xié)會(ANSI)制定了C的標準——ANSIC第17頁/共240頁1.4C與C++(2/3)C語言的特點數(shù)據(jù)類型豐富運算符豐富,共34個運算符支持結構化程序設計方便、靈活,結合了高級語言的基本結構、語句和低級語言的實用性程序生成代碼質(zhì)量高、程序執(zhí)行效率高可移植性好,可用于UNIX、AIX、WINDOWS等操作系統(tǒng)第18頁/共240頁1.4C與C++(3/3)C++語言在C語言中引入了面向?qū)ο蟮乃枷胧且环N混合型的語言,同時支持結構化程序設計和面向?qū)ο蟪绦蛟O計方法兼容C語言,可不加修改地使用C語言代碼允許數(shù)據(jù)抽象,支持封裝、繼承和多態(tài)等特征第19頁/共240頁1.5C++編程簡介使用IDE開發(fā)C++程序編輯(edit)預處理(preprocess)編譯(compile)連接(link)裝入(load)執(zhí)行(execute)第20頁/共240頁例子1:C++程序:輸入一個人的姓名,然后輸出"HELLO,***//ex1_2.cpp:輸入姓名,然后在屏幕輸出問候信息。#include<iostream.h>intmain(){charname[20];//輸出提示信息cout<<"Pleaseinputyourname:";
cin>>name;//輸入姓名//輸出信息,并使用\n換行
cout<<"HELLO,"<<name<<"!\n";
return0;//指示程序運行}第21頁/共240頁1.6程序設計風格(1/2)用好的設計方法編寫結構好的程序提高程序的可讀性、可理解性和可修改性,以利于程序查錯、測試及維護程序員要養(yǎng)成良好的程序設計風格第22頁/共240頁1.6程序設計風格(2/2)注意點以簡潔明了的方式編寫C++程序縮排規(guī)則標識符命名規(guī)則注釋輸出信息直觀清晰,布局合理第23頁/共240頁學習目的檢測了解計算機系統(tǒng)、程序設計語言、程序設計的基本概念掌握簡單C++程序的結構明確程序設計風格的意義第24頁/共240頁作業(yè)1.21.31.71.9第25頁/共240頁第2章數(shù)據(jù)類型、運算符與表達式第26頁/共240頁講授內(nèi)容C++語言的基本元素、字符集和關鍵字基本的數(shù)據(jù)類型的表示方法常量和變量類型轉(zhuǎn)換各種運算符與表達式第27頁/共240頁2.1C++的字符集和關鍵字(1/2)字符集由52個字母、10個數(shù)字、27個特殊字符組成所有C++程序(忽略換行符和字符串常量中的內(nèi)容)都由字符集中的字符按一定規(guī)則構成第28頁/共240頁2.1C++的字符集和關鍵字(2/2)C++標識符是滿足如下條件的一串字符由字母(a~z,A~Z)或下劃線(_)開頭;其它部分可以由字母、下劃線或數(shù)字(0~9)組成;只有前32個字符有效;C++的63個關鍵字也是標識符,但不能作其它用(保留字)第29頁/共240頁2.2 基本數(shù)據(jù)類型(1/5)C++程序中的每個數(shù)據(jù)對象(如2、x1、x1+2)都有確定的數(shù)據(jù)類型C++的數(shù)據(jù)類型包括基本數(shù)據(jù)類型和復合數(shù)據(jù)類型基本數(shù)據(jù)類型有整型、浮點型、字符型、布爾型不同數(shù)據(jù)類型有自己的取值范圍和所允許的操作第30頁/共240頁2.2 基本數(shù)據(jù)類型(2/5)整型signedshortint(簡寫為short)signedint(簡寫為int)signedlongint(簡寫為long)unsignedshortint(簡寫為unsignedshort)unsignedint(簡寫為unsigned)unsignedlongint(簡寫為unsignedlong)第31頁/共240頁2.2 基本數(shù)據(jù)類型(3/5)浮點型float(浮點型)double(雙精度型)longdouble(長雙精度型)均有符號不允許的操作:取余%、位運算等第32頁/共240頁2.2 基本數(shù)據(jù)類型(4/5)字符型charsignedcharunsignedchar實質(zhì)是占一個字節(jié)的整型數(shù)(小整數(shù))允許的操作:和整型相同第33頁/共240頁2.2 基本數(shù)據(jù)類型(5/5)布爾型bool值為true和false可以當作整數(shù)用(true一般為1,false為0)把其它類型的值轉(zhuǎn)換為布爾值時,非零值轉(zhuǎn)換為true,零值轉(zhuǎn)換為false第34頁/共240頁2.3 變量與常量(1/9)函數(shù)體說明語句類型名、變量、常量表達式執(zhí)行語句表達式變量、常量、運算符第35頁/共240頁2.3 變量與常量(2/9)擴充的巴克斯范式表示語法(全書統(tǒng)一,不涉及語義)<非0數(shù)字>→1|2|3|4|5|6|7|8|9<八進制數(shù)字>→0|1|2|3|4|5|6|7<十六進制數(shù)字>→0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f|A|B|C|D|E|F<整型后綴>→<無符號整型后綴>[<長整型后綴>]|<長整型后綴>[<無符號整型后綴>]<無符號整型后綴>→u|U<長整型后綴>→l|L<八進制整型常量>→0<八進制數(shù)字>{<八進制數(shù)字>}第36頁/共240頁2.3 變量與常量(3/9)擴充的巴克斯范式<整型常量>→<十進制整型常量>[<整型后綴>]|<八進制整型常量>[<整型后綴>]|<十六進制整型常量>[<整型后綴>]<十進制整型常量>→0|<非0數(shù)字>{<數(shù)字>}<八進制整型常量>→0<八進制數(shù)字>{<八進制數(shù)字>}<十六進制整型常量>→0x<十六進制數(shù)字>{<十六進制數(shù)字>}|0X<十六進制數(shù)字>{<十六進制數(shù)字>}<數(shù)字>→0|1|2|3|4|5|6|7|8|9第37頁/共240頁2.3 變量與常量(4/9)擴充的巴克斯范式<浮點常量>→<尾數(shù)部分>[<指數(shù)部分>][<浮點后綴>]|<數(shù)字串><指數(shù)部分>[<浮點后綴>]<尾數(shù)部分>→[<數(shù)字串>].<數(shù)字串>|<數(shù)字串>.
<指數(shù)部分>→e[<符號>]<數(shù)字串>|E[<符號>]<數(shù)字串><符號>→+|-<數(shù)字串>→<數(shù)字>{<數(shù)字>}<浮點后綴>→f|l|F|L第38頁/共240頁2.3 變量與常量(5/9)擴充的巴克斯范式<字符型常量>→‘<c字符>’
<c字符>→字符集中除單引號’、反斜線\外的任意字符|<轉(zhuǎn)義序列><轉(zhuǎn)義序列>→<簡單轉(zhuǎn)義序列>|<八進制轉(zhuǎn)義序列>|<十六進制轉(zhuǎn)義序列><簡單轉(zhuǎn)義序列>→\’|\“|\?|\\|\a|\b|\f|\n|\r|\t|\v<八進制轉(zhuǎn)義序列>→\<八進制數(shù)字>|
\<八進制數(shù)字><八進制數(shù)字>|
\<八進制數(shù)字><八進制數(shù)字><八進制數(shù)字><十六進制轉(zhuǎn)義序列>→\x<十六進制數(shù)字>{<十六進制數(shù)字>}第39頁/共240頁2.3 變量與常量(6/9)擴充的巴克斯范式<字符串常量>→“[<s字符序列>]”
<s字符序列>→<s字符>{<s字符>}<s字符>→字符集中除雙引號“、反斜線\外的任意字符|其它可顯示字符|<轉(zhuǎn)義序列>第40頁/共240頁2.3 變量與常量(7/9)變量四要素:變量名、類型、存儲空間、值必須先聲明后使用,一般聲明形式為:<變量聲明>→<存儲類別描述符><類型描述符><變量表><存儲類別描述符>→auto|register|static|extern<類型描述符>→<類型名><變量表>→<標識符列表><標識符列表>→<非關鍵字標識符>{,<非關鍵字標識符>}第41頁/共240頁2.3 變量與常量(8/9)符號常量符號常量是經(jīng)過定義的代表常量的標識符C++定義符號常量的格式如下:#define<標識符><常量>#define是C++的預處理指令,說明程序中的<標識符>都代表了<常量>。第42頁/共240頁2.3 變量與常量(9/9)例子:#definePRICE30#include<iostream.h>main(){intnum,total;num=10;total=num*PRICE;cout<<"total="<<total<<endl;return0;}第43頁/共240頁2.4 類型轉(zhuǎn)換(1/4)舉例(int)3.14將3.14轉(zhuǎn)換成整數(shù)3(double)3將3轉(zhuǎn)換成雙精度浮點數(shù)3.0double(3)將3轉(zhuǎn)換成雙精度浮點數(shù)3.0第44頁/共240頁2.4 類型轉(zhuǎn)換(2/4)提升規(guī)則將數(shù)值轉(zhuǎn)換成較低的類型,如從float到int必須顯式地使用類型轉(zhuǎn)換,如(int)3.14;將數(shù)值轉(zhuǎn)換成較高的類型可以通過隱式的類型轉(zhuǎn)換,如3.14+2第45頁/共240頁2.4 類型轉(zhuǎn)換(3/4)隱式類型轉(zhuǎn)換表達式中運算符的操作數(shù)類型與要求不符時,要進行隱式類型轉(zhuǎn)換,使之符合要求隱式類型轉(zhuǎn)換規(guī)則:(1)表達式中如有char、short和enum類型的數(shù)據(jù)時,自動將它們轉(zhuǎn)換成int類型(2)把表達式中不同類型的數(shù)據(jù)轉(zhuǎn)換成精度最高、占用內(nèi)存最多的那個數(shù)據(jù)的類型在賦值表達式中,自動將賦值運算符右邊表達式的值的類型轉(zhuǎn)換成左邊變量的類型第46頁/共240頁2.4 類型轉(zhuǎn)換(4/4)強制類型轉(zhuǎn)換(顯式類型轉(zhuǎn)換)形式為:(<類型>)<表達式>或
<類型>(<表達式>)例如:(double)3/2或double(3)/2(double)(3/2)或double(3/2)第47頁/共240頁2.5 運算符和表達式(1/11)運算符的優(yōu)先級和結合性運算符包括:算術運算符、關系運算符、邏輯運算符、位運算符、賦值運算符根據(jù)組成表達式的運算符的不同,表達式可以分為算術表達式、關系表達式、邏輯表達式、位運算表達式、逗號表達式和賦值表達式第48頁/共240頁2.5 運算符和表達式(2/11)算術運算之一:一元算術運算+正,運算結果同操作數(shù)-負,運算結果為操作數(shù)的負數(shù)++自增運算符;操作數(shù)的位置?--自減運算符第49頁/共240頁2.5 運算符和表達式(3/11)算術運算之一:基本算術運算(二元)+加法,運算結果為兩個操作數(shù)的和-減法,運算結果為左操作數(shù)減去右操作數(shù)的差*乘法,運算結果為兩個操作數(shù)的乘積/除法,運算結果為左操作數(shù)除以右操作數(shù)的商%求余,運算結果為左操作數(shù)除以右操作數(shù)的余數(shù),只用于整型數(shù)據(jù),其結果也是整型第50頁/共240頁2.5 運算符和表達式(4/11)算術運算之一:基本算術運算兩個整數(shù)作/運算,其結果為整數(shù)具體結果依賴于具體機器,一般為直接截去小數(shù)部分兩個整數(shù)求余%如果兩數(shù)都是正數(shù),結果為正否則結果與左操作數(shù)的符號一致(MicrosoftC++)
第51頁/共240頁2.5 運算符和表達式(5/11)算術表達式<算術表達式>
→<常量>|<變量>|+<操作數(shù)>|-<操作數(shù)>|<操作數(shù)>++|++<操作數(shù)>|<操作數(shù)>--|--<操作數(shù)>|<操作數(shù)><二元算術運算符><操作數(shù)>|(<算術表達式>)<操作數(shù)>
→<表達式>第52頁/共240頁2.5 運算符和表達式(6/11)關系運算<關系表達式>
→<操作數(shù)><關系運算符><操作數(shù)><關系運算符>→<|>|<=|>=|==|!=第53頁/共240頁2.5 運算符和表達式(7/11)邏輯運算<邏輯表達式>→<布爾型常量>|<布爾型變量>|<關系表達式>|<操作數(shù)>&&<操作數(shù)>|<操作數(shù)>||<操作數(shù)>|!<邏輯表達式>|(<邏輯表達式>)!、||、&&的優(yōu)先級和結合性邏輯表達式的“短路計算法”(慎用自增、自減)第54頁/共240頁2.5 運算符和表達式(8/11)位運算<位運算表達式>→~<操作數(shù)>|<操作數(shù)>&<操作數(shù)>|<操作數(shù)>|<操作數(shù)>|<操作數(shù)>^<操作數(shù)>|<操作數(shù)><<<操作數(shù)>|<操作數(shù)>>><操作數(shù)>操作數(shù)只能是整型或字符型數(shù)據(jù),結果亦然符號位參加運算向右移位運算,但左操作數(shù)是負數(shù)時,高位填0或1第55頁/共240頁2.5 運算符和表達式(9/11)逗號運算<逗號表達式>→<表達式>,<表達式>二元運算,左結合先左后右計算表達式的值,取右表達式的值為運算結果逗號的左、右表達式作為逗號運算符的操作數(shù),類型可以不同第56頁/共240頁2.5 運算符和表達式(10/11)賦值運算<賦值表達式>→<變量><賦值運算符><表達式><賦值運算符>→=|*=|/=|%=|+=|-=|>>=|<<=|&=|^=||=二元運算,右結合<變量>可以是由標識符表示的變量,也可以是數(shù)組元素或指針指向的存儲空間(“左值性質(zhì)”)賦值運算可用于變量初始化,運算符右邊的表達式需編譯時可計算第57頁/共240頁2.5 運算符和表達式(11/11)條件運算符
<表達式1>?<表達式2>:<表達式3>三元運算運算符的操作數(shù)類型可以不同第58頁/共240頁學習目的檢測理解字符集、標識符和關鍵字的意義掌握基本數(shù)據(jù)類型的定義及不同數(shù)據(jù)類型之間的轉(zhuǎn)換機制掌握各種常量的性質(zhì)和定義掌握變量的聲明方法熟練運用各種運算符與表達式第59頁/共240頁作業(yè)2.8、2.10、2.11、2.12、2.14、2.15、2.16、2.18、2.19第60頁/共240頁第3章輸入和輸出第61頁/共240頁講授內(nèi)容標準輸入輸出函數(shù)格式化輸入輸出函數(shù)通過流進行輸入輸出第62頁/共240頁3.1C++的輸入和輸出兩種I/O方式保留自C的——通過標準的I/O函數(shù)實現(xiàn)面向?qū)ο蟮摹愋桶踩模幾g器對輸入輸出操作做嚴格的類型檢查建議盡量使用面向?qū)ο蟮腎/O方式第63頁/共240頁3.2標準輸入與輸出函數(shù)字符輸入函數(shù)getchar
intgetchar(void);字符輸出函數(shù)putchar
intputchar(intc);第64頁/共240頁例子1:字符輸入輸出//ex3_1.cpp#include<stdio.h>intmain(){ chara='a',b='b',c;
c=getchar(); putchar(a); putchar(b); putchar('c'); putchar(c); putchar('\"'); putchar(0101); putchar('\n'); return0;}第65頁/共240頁程序運行如果sabcs"A第66頁/共240頁3.3格式化輸入輸出(1/12)格式化輸入函數(shù)scanf輸入各種類型的數(shù)據(jù),并存入相應的參數(shù)中讀取輸入流中的指定的字符跳過輸入流中的指定的字符第67頁/共240頁3.3格式化輸入輸出(2/12)格式化輸入函數(shù)scanfscanf(<格式控制串>,<參數(shù)列表>)<格式控制串>描述輸入數(shù)據(jù)遵循的格式,可以包含3種類型的字符:格式指示符、空白字符(空格、Tab鍵和回車鍵)和非空白字符(普通字符)<參數(shù)列表>是存放數(shù)據(jù)的地址的列表,參數(shù)之間用“,”分隔。參數(shù)列表是一個地址列表scanf("%d%f%d",&num1,&num2,&num3);1234.5678第68頁/共240頁3.3格式化輸入輸出(3/12)scanf函數(shù)的格式指示符%*<寬度><轉(zhuǎn)換說明符>%是格式指示符的前導符*賦值抑制符,表示該格式指示符對應的數(shù)據(jù)讀入后,不賦給相應的變量
scanf("%d%*d%d%d",&num1,&num2,&num3);輸入123456789第69頁/共240頁3.3格式化輸入輸出(4/12)scanf函數(shù)的格式指示符%*<寬度><轉(zhuǎn)換說明符>寬度是任選項,為一整數(shù)n,指明了該輸入數(shù)據(jù)長度為n,如果有多余的部分將被舍棄scanf("%3c%3c",&ch1,&ch2);
ch1和ch2均為字符型變量,輸入為:abcdefg第70頁/共240頁3.3格式化輸入輸出(5/12)scanf函數(shù)的格式指示符%*<寬度><轉(zhuǎn)換說明符>轉(zhuǎn)換說明符d十進制整型量e實型的指數(shù)形式o八進制整型量gf和e的較短形式x十六進制整型量c字符u無符號十進制整型s字符串i整型l或h輸入short或long類型數(shù)據(jù)f實型的小數(shù)形式l或L用于輸入double或longdouble類型數(shù)據(jù)第71頁/共240頁3.3格式化輸入輸出(6/12)格式化輸出函數(shù)printf指定浮點值保留的小數(shù)位數(shù)浮點值小數(shù)點對齊輸出數(shù)據(jù)的右對齊和左對齊將直接字符插入到輸出數(shù)據(jù)中將浮點數(shù)按照指數(shù)形式輸出將整數(shù)按照八進制或十六進制形式輸出按指定的域?qū)捄途容敵鰯?shù)據(jù)第72頁/共240頁3.3格式化輸入輸出(7/12)格式化輸出函數(shù)printf
printf(<格式控制串>,<參數(shù)列表>);<格式控制串>描述了輸出數(shù)據(jù)的格式??梢园?種類型的字符格式指示符,則被參數(shù)列表中相應的數(shù)據(jù)替換轉(zhuǎn)義字符,按其含義輸出相應的特殊符號普通字符,按照原樣輸出第73頁/共240頁3.3格式化輸入輸出(8/12)格式化輸出函數(shù)printf
printf(<格式控制串>,<參數(shù)列表>);<參數(shù)列表>存放輸出數(shù)據(jù)的表達式列表。格式指示符的數(shù)量、順序與輸出參數(shù)相對應。printf函數(shù)執(zhí)行時,從左到右依次處理格式控制串,遇到格式控制字符,先計算相應的輸出參數(shù)表達式,然后將該參數(shù)的計算結果按照格式指示符指定的方式輸出第74頁/共240頁3.3格式化輸入輸出(9/12)格式化輸出函數(shù)printf
printf(<格式控制串>,<參數(shù)列表>);<格式控制串>中的格式指示符%<標志><域?qū)?gt;<.精度><轉(zhuǎn)換說明符>其中<標志>、<域?qū)?gt;和<精度>可選第75頁/共240頁3.3格式化輸入輸出(10/12)格式化輸出函數(shù)printf
<格式控制串>中的格式指示符%<標志><域?qū)?gt;<.精度><轉(zhuǎn)換說明符>共五種不同的標志標志含義-輸出在域?qū)拑?nèi)左對齊+在正數(shù)值之前顯示一個加號,在負數(shù)值之前顯示一個減號空格在正數(shù)值之前顯示一個空格#與八進制轉(zhuǎn)換說明符o一起使用時,在輸出值之前加0;與十六進制轉(zhuǎn)換說明符x或X一起使用時,在輸出值之前加0x或0X0用0填充域?qū)挼?6頁/共240頁3.3格式化輸入輸出(11/12)格式化輸出函數(shù)printf
<格式控制串>中的格式指示符%<標志><域?qū)?gt;<.精度><轉(zhuǎn)換說明符>域?qū)?,指明了?shù)據(jù)打印的寬度。如果數(shù)據(jù)實際長度小于域?qū)?,則數(shù)據(jù)輸出右對齊;如果數(shù)據(jù)實際長度大于域?qū)挘到y(tǒng)自動突破域?qū)捪拗?,按?shù)據(jù)的實際長度輸出第77頁/共240頁3.3格式化輸入輸出(12/12)<格式控制串>中的格式指示符精度:對于整數(shù),表示至少要打印的數(shù)字個數(shù),如果數(shù)據(jù)長度小于精度,則左邊補齊0;如果數(shù)據(jù)實際長度大于精度,則按數(shù)據(jù)實際長度輸出。對于浮點數(shù),如果轉(zhuǎn)換說明符為e、E和f,精度表示小數(shù)點后的有效位數(shù),如果數(shù)據(jù)小數(shù)部分的長度小于精度,則在右邊補齊0;否則按精度對數(shù)據(jù)進行舍入輸出。如果浮點數(shù)的轉(zhuǎn)換說明符為g和G,精度表示打印數(shù)據(jù)的最大的長度。對于字符串,精度表示字符串輸出的最大長度,如果輸出字符串長度小于精度,則按照字符串的實際長度輸出;否則按精度截取輸出字符串開頭的n個字符(假設精度為n)輸出第78頁/共240頁例子2:格式化輸入輸出例子(1/2)//ex3_2.cpp:基本格式化輸入和輸出#include<stdio.h>intmain(){ intnum1; floatnum2; charch2; intna,nb,nc,nd,ne,nf,ng; doubleda,db,dc; printf("---Basicinputandoutput:---\n");
printf(“Inputachar,aintandafloat:");
scanf("%c%d%f",&ch1,&num1,&num2); printf("ch1=%c,num1=%d,num2=%f\n", ch1,num1,num2);第79頁/共240頁例子2:格式化輸入輸出例子(2/2)
printf("Pleaseentersevenintegers:"); scanf("%d%i%i%i%o%u%x", &na,&nb,&nc,&nd,&ne,&nf,&ng);
printf("%d%d%d%d%d%d%d\n", na,nb,nc,nd,ne,nf,ng);
scanf("%le%lf%lg",&da,&db,&dc); printf("%f\n%f\n%f\n",da,db,dc);
return0;}第80頁/共240頁3.4用流進行輸入輸出(1/3)通過I/O流對象實現(xiàn)輸入輸出功能將實現(xiàn)數(shù)據(jù)傳送操作的設備抽象成對象將“流”作為設備(如鍵盤、顯示器等)和程序之間通訊的通道C++預定義的四個輸入輸出對象cout,標準輸出設備,即顯示器cin,標準輸入設備,即鍵盤cerr和clog代表標準錯誤流對象第81頁/共240頁3.4用流進行輸入輸出(2/3)通過cout流輸出數(shù)據(jù)
cout<<<表達式>;cout<<<表達式1><<<表達式2>...;
cout<<"WelcometoC++!\n";cout<<"123+456="<<(123+456) <<endl;第82頁/共240頁3.4用流進行輸入輸出(3/3)通過cin流輸入數(shù)據(jù)
cin>><變量>
cin>><變量1>>><變量2>...;
第83頁/共240頁例子3:流輸入輸出例子//ex3_5.cpp#include<iostream.h>intmain(){ charc; inti; floatx,y; cout<<"Enter:\n"; cin>>i>>x>>y; c=i; cout<<"c="<<c<<"\ti="<<i; cout<<"\tx="<<x<<"\ty="<<y<<"\n"; return0;}第84頁/共240頁3.5流操縱算子(1/4)流操縱算子——為流輸入輸出提供格式化輸入輸出的功能常用的流操縱算子流操縱算子功能描述setbase(b)以進制基數(shù)b為輸出整數(shù)值setprecision(n)將浮點精度設置為nsetw(n)按照w個字符來讀或者寫flush刷新ostream緩沖區(qū)ends插入字符串結束符,然后刷新ostream緩沖區(qū)endl插入換行符,然后刷新ostream緩沖區(qū)ws跳過空白字符setfill(ch)用ch填充空白字符第85頁/共240頁3.5流操縱算子(2/4)設置整數(shù)基數(shù)將整數(shù)按十進制、八進制和十六進制等形式輸出流操縱算子oct——將整數(shù)輸出形式設置為八進制流操縱算子hex——將整數(shù)輸出形式設置為十六進制流操縱算子dec——將整數(shù)輸出形式設置為十進制第86頁/共240頁例子4:使用設置整數(shù)基數(shù)的流操縱算子#include<iostream.h>#include<iomanip.h>intmain(){intn;cout<<"Enteradecimalnumber:";cin>>n;cout<<n<<"inhexadecimalis:"<<hex<<n<<endl<<dec<<n<<"inoctalis:"<<oct<<n<<endl;return0;}
第87頁/共240頁3.5流操縱算子(3/4)設置浮點數(shù)精度流操縱算子setprecision和函數(shù)precision都可控制浮點數(shù)小數(shù)點后面的位數(shù)第88頁/共240頁例子5:使用設置浮點數(shù)精度的流操縱算子//ex3_7.cpp:設置浮點數(shù)精度的流操縱算子的使用#include<iostream.h>#include<iomanip.h>#include<math.h>intmain(){doublelog2=log(2.0);
intplaces;cout<<"log(2)withprecisions0-9.\n"<<"Precisionsetbythe"<<"precisionmemberfunction:"<<endl;
for(places=0;places<=9;places++){cout.precision(places);cout<<log2<<'\n';}第89頁/共240頁例子5:使用設置浮點數(shù)精度的流操縱算子cout<<"\nPrecisionsetbythe"<<"setprecisionmanipulator:\n";
//使用setprecision算子
for(places=0;places<=9;places++)cout<<setprecision(places)<<log2<<'\n';return0;}第90頁/共240頁3.5流操縱算子(4/4)設置域?qū)捄瘮?shù)width可以設置當前域?qū)挘ㄝ斎胼敵龅淖址麛?shù))如果輸出的數(shù)據(jù)所需的寬度比設置的域?qū)捫?,空位用填充字符(省缺為空格)填充如果輸出的?shù)據(jù)所需的寬度比設置的域?qū)挻?,系統(tǒng)輸出所有位流操縱算子setw也可以設置域?qū)挼?1頁/共240頁例子6:使用設置域?qū)挼牧鞑倏v算子//ex3_8.cpp:設置域?qū)挼牧鞑倏v算子的使用#include<iostream.h>#defineWIDTH5intmain(){intw=4;charstring[WIDTH+1];cout<<"Enterasentence:\n";cin.width(WIDTH);while(cin>>string){cout.width(w++);cout<<string<<endl;cin.width(WIDTH);}return0;}第92頁/共240頁學習目的檢測掌握各種輸入輸出函數(shù)掌握通過I/O流進行輸入輸出的方法第93頁/共240頁作業(yè)3.83.13第94頁/共240頁第04章控制結構第95頁/共240頁講授內(nèi)容順序結構:表達式語句和復合語句選擇結構:if語句、if-else語句和switch語句循環(huán)結構:while語句、do-while語句、for語句控制轉(zhuǎn)移語句:continue語句、break語句及goto語句第96頁/共240頁4.1程序的基本控制結構順序結構:包括表達式語句和復合語句等選擇結構:if語句、if-else語句、switch語句循環(huán)結構:while語句、do-while語句、for語句。其它:空語句、continue語句、break語句、goto語句、return語句第97頁/共240頁4.2順序結構(1/3)表達式語句表達式;表達式語句示例:a=a+3; //賦值語句x=y=z=0; //多重賦值語句t=2,t+x+a; //逗號表達式語句z=i<j?x:x+y;//條件表達式語句f1(); //函數(shù)調(diào)用語句x1=exp(x);//函數(shù)表達式語句,計算exx2=pow(x,y);//函數(shù)表達式語句,計算xy第98頁/共240頁4.2順序結構(2/3)空語句空語句的形式如下:;
表達式語句和空語句示例:a=a+3; //賦值語句; //空語句第99頁/共240頁4.2順序結構(3/3)復合語句復合語句的語法:<復合語句>→‘{’<語句序列>‘}’
<語句序列>→{<語句>}復合語句示例:{a=a+3; //賦值語句x=y=z=0; //多重賦值語句t=2,t+x+a; //逗號表達式語句z=i<j?x:x+y;//條件表達式語句}第100頁/共240頁例子1:計算圓的周長和面積#include<iostream.h>#include<math.h>#definePI3.14intmain(){ doubleradius,area; radius=3.0; { doubleperimeter; perimeter=PI*2*radius; cout<<“Perimeteris:“<<perimeter<<"\n"; } area=PI*radius*radius; cout<<“Areaofthecircleis:“<<area<<"\n"; return0;}第101頁/共240頁4.3選擇結構(1/7)
if語句if(<條件表達式>)<語句><條件表達式>可以是任意表達式(一般為邏輯表達式)if語句示例:
if(grade>=60)cout<<"passed\n";第102頁/共240頁4.3選擇結構(2/7)
if-else語句
if(<條件表達式>)<語句1>else<語句2>if-else語句示例:
if(grade>=60)cout<<"Passed!\n";elsecout<<"Failed!\n";(錯:elsecout<<"Failed!\n";)第103頁/共240頁4.3選擇結構(3/7)
if-else語句if或if-else的嵌套:if或if-else中嵌套if或if-else
if(grade>=90)printf(“A”);elseif(grade>=80)printf(“B”);
elseif(grade>=70)printf(“C”);elseif(grade>=60)printf(“D”);elseprintf(“F”);注意else和if的匹配:在if語句后面若直接跟else,則把if語句、else和其后的語句一起作為if-else語句第104頁/共240頁4.3選擇結構(4/7)
if-else語句if或if-else的嵌套:if或if-else中嵌套if或if-elseif(grade>=60)if(grade==100)printf(“AAA”);elseif(grade==0)printf(“FFF”);不等價于
if(grade>=60){if(grade==100)printf(“AAA”);}elseif(grade==0)printf(“FFF”);第105頁/共240頁4.3選擇結構(5/7)
if-else語句復合語句應用示例if(grade>=60)
printf(“Passed.\n”);else{printf(“Failed.\n”);printf(“Doyoutakethiscourseagain?y/n”);cin>>answer;}第106頁/共240頁4.3選擇結構(6/7)
switch語句switch(<條件表達式>){case<常量表達式1>:<語句序列1>case<常量表達式2>:<語句序列2>
……case<常量表達式n>:<語句序列n>default:<語句序列n+1>}多個case分支和可選的default分支<條件表達式>的值為整數(shù)類型(int,char,…)每個<語句序列>的最后一個語句一般為break語句,每個<語句序列>也可以為空第107頁/共240頁4.3選擇結構(7/7)
switch語句流程┇falsetrue計算條件表達式的值條件表達式的值==常量表達式1語句序列1falsetrue條件表達式的值==常量表達式2語句序列2falsetrue條件表達式的值==常量表達式n語句序列n語句序列n+1┇第108頁/共240頁例子2:用switch語句實現(xiàn)成績轉(zhuǎn)換#include<iostream.h>
intmain(){ intscore;scorePhrase;
cout<<"Pleaseinputthescore:\n";cin>>score; if(score<0){ cout<<"Thescoreisillegal!"; return1; } scorePhrase=score/10; switch(scorePhrase) { case9: cout<<"Gradeis"<<'A'<<'.'<<endl; break;第109頁/共240頁例子2:用switch語句實現(xiàn)成績轉(zhuǎn)換 case8: cout<<"Gradeis"<<'B'<<'.'<<endl; break; case7: cout<<"Gradeis"<<'C'<<'.'<<endl; break; case6: cout<<"Gradeis"<<'D'<<'.'<<endl; break; case0:case1:case2:case3:case4:case5: cout<<"Gradeis"<<'E'<<'.'<<endl; break; default: cout<<"Thescoreisillegal!"<<endl; }return0;}第110頁/共240頁4.4循環(huán)結構(1/13)
while語句while(<表達式>)
<語句><表達式>的值?<語句>非00例外:break等四個控制語句第111頁/共240頁4.4循環(huán)結構(2/13)
while語句 intproduct=2; while(product<=1000)
product=2*product;product<=1000product=2*producttruefalse第112頁/共240頁例子3:while語句和switch語句的應用/*計算各級成績的人數(shù)*/#include<stdio.h>intmain(){ intgrade; intaCount=0,bCount=0,cCount=0,dCount=0,fCount=0;printf("Enterthelettergrades.\n");printf("EnterEOFtoend.\n");while((grade=getchar())!=EOF){ switch(grade){ case'A':case'a':++aCount;break;第113頁/共240頁例子3:while語句和switch語句的應用case'B':case'b':++bCount;break;case'C':case'c':++cCount;break; case'D':case'd':++dCount;break;case'F':case'f':++fCount;break;case'\n':case'':break;第114頁/共240頁例子3:while語句和switch語句的應用default:printf("Incorrectlettergradeentered.");printf("Enteranewgrade.\n");break;}}printf("\nTotalsforeachgradeare:\n");printf("A:%d\n",aCount);printf("B:%d\n",bCount);printf("C:%d\n",cCount);printf("D:%d\n",dCount);printf("F:%d\n",fCount);return0;}第115頁/共240頁程序運行結果Enterthelettergrades.EnterEOFtoend.ABCCADFCEIncorrectlettergradeentered.Enteranewgrade.DABTotalsforeachlettergradeare:A:3B:2C:3D:2F:1第116頁/共240頁4.4循環(huán)結構(3/13)while語句典型應用1:計數(shù)控制循環(huán)循環(huán)反復執(zhí)行,直到計數(shù)器達到特定的值,是定數(shù)循環(huán):即循環(huán)次數(shù)是已知的。示例:計算10個學生的平均成績第117頁/共240頁例子4:計算10個學生的平均成績#include<stdio.h>intmain(){ intcounter,grade,total,average; total=0; counter=1; while(counter<=10){ printf("Entergrade:"); scanf(“%d",&grade); total=total+grade; counter=counter+1; } average=total/10; printf("Classaverageis%d\n",average); return0;}第118頁/共240頁程序運行結果Entergrade:98Entergrade:76Entergrade:71Entergrade:87Entergrade:83Entergrade:90Entergrade:57Entergrade:79Entergrade:82Entergrade:94Classaverageis81
第119頁/共240頁4.4循環(huán)結構(4/13)while語句典型應用2:條件控制循環(huán)問題能計算任意個數(shù)學生的平均成績學生人數(shù)未知,是不定數(shù)循環(huán)程序如何結束?使用條件控制當用戶輸入信號量(標記值)時,循環(huán)結束信號量不能和一般數(shù)據(jù)混淆:特殊數(shù)據(jù)第120頁/共240頁例子5:計算N個學生的平均成績#include<stdio.h>intmain(){ floataverage; intcounter,grade,total; total=0; counter=0; printf("Entergrade,-1toend:"); scanf(“%d",&grade); while(grade!=-1){ total=total+grade; counter=counter+1; printf("Entergrade,-1toend:"); scanf(“%d",&grade);}第121頁/共240頁例子5:計算N個學生的平均成績 /*terminationphase*/ if(counter!=0) { average=(float)total/counter; printf("Classaverageis%.2f",average);} else printf("Nogradeswereentered\n"); return0;}第122頁/共240頁程序運行結果Entergrade,-1toend:75Entergrade,-1toend:94Entergrade,-1toend:97Entergrade,-1toend:88Entergrade,-1toend:70Entergrade,-1toend:64Entergrade,-1toend:83Entergrade,-1toend:89Entergrade,-1toend:-1Classaverageis82.50
第123頁/共240頁4.4循環(huán)結構(5/13)do-while語句 do <語句>
while(<表達式>);<表達式>的值?<語句>非00例外:break等四個控制語句第124頁/共240頁4.4循環(huán)結構(6/13)do-while語句示例1 intcounter=1; do printf(“%d\n",counter); while(++counter<=10); 打印整數(shù)1到10第125頁/共240頁4.4循環(huán)結構(7/13)do-while語句示例2 intcounter=1,sum=0; do sum=sum+counter; while(++counter<=100); counter=?sum=?第126頁/共240頁4.4循環(huán)結構(8/13)計數(shù)控制的循環(huán)舉例 intcounter=1; //初始化 while(counter<=10){//重復條件 printf(“%d\n”,counter); ++counter; //遞增 }或 intcounter=0; //初始化 while(++counter<=10) printf(“%d\n”,counter);第127頁/共240頁4.4循環(huán)結構(9/13)for語句
for(<初始化語句>;[<表達式2>];[<表達式3>])
<語句>
非00<初始化語句>[<表達式3>];<語句><表達式2>的值?當<表達式2>省略時其值為1例外:break等四個控制語句第128頁/共240頁4.4循環(huán)結構(10/13)for語句例子1
intcounter; for(counter=1;counter<=10;counter++) printf(“%d\n",counter);第129頁/共240頁4.4循環(huán)結構(11/13)for語句例子2
intcounter;
for(counter=1;counter<=10;counter++) printf(“%d\n",counter); 打印整數(shù)1到10.第130頁/共240頁4.4循環(huán)結構(12/13)for語句例子3 inti,j; for(i=0,j=0;j+i<=10;j++,i++) printf(“%d\n",j+i);第131頁/共240頁4.4循環(huán)結構(13/13)for語句和while語句的關系
若<語句>中不含continue語句,則 for(<表達式1>;<表達式2>;<表達式3>)
<語句>
等價于:
<表達式1>; while(<表達式2>){ <語句> <表達式3>;
}第132頁/共240頁例子6:2到100的偶數(shù)求和/*for循環(huán)求和*/#include<stdio.h>intmain(){intsum=0,number;for(number=2;number<=100;number+=2)sum+=number;printf("Sumis%d\n",sum);return0;}第133頁/共240頁4.5控制轉(zhuǎn)移語句(1/4)break語句 break;只能用于循環(huán)體或switch語句中,使程序控制退出while,for,do/while或switch結構程序執(zhí)行這些語句的后繼語句break語句的用途提早退出循環(huán)跳出switch結構第134頁/共240頁4.5控制轉(zhuǎn)移語句(2/4)continue語句 continue;只能用于循環(huán)體中,跳過while,for或do/while循環(huán)體中的剩余語句程序開始執(zhí)行下一次循環(huán)while和do/whilecontinue語句執(zhí)行后,馬上測試循環(huán)條件for語句continue語句執(zhí)行后,
計算遞增表達式,然后測試循環(huán)條件第135頁/共240頁例子7:在for循環(huán)結構中使用break語句#include<stdio.h>intmain(){ intx;for(x=1;x<=10;x++){ if(x==5) break; printf("%d",x);}printf("\nBrokeoutofloopatx==%d\n",x);return0;}第136頁/共240頁例子8:在for循環(huán)結構中使用continue語句#include<stdio.h>intmain(){ intx;for(x=1;x<=10;x++){ if(x==5) continue; printf("%d",x);}printf("\nUsedcontinuetoskipprintingthe value5\n");return0;}第137頁/共240頁4.5控制轉(zhuǎn)移語句(3/4)goto語句 goto<標號>;使程序控制轉(zhuǎn)移到前面帶有<標號>:的語句繼續(xù)執(zhí)行<標號>是一個非關鍵字標識符,<標號>:和goto<標號>;必須出現(xiàn)在同一個函數(shù)體中,<標號>:不能重復出現(xiàn)第138頁/共240頁4.5控制轉(zhuǎn)移語句(4/4)return語句 return<表達式>;或return;在主函數(shù)體中執(zhí)行return語句,使整個程序結束在其它函數(shù)體中執(zhí)行return語句,返回到調(diào)用函數(shù)的相應位置繼續(xù)執(zhí)行第139頁/共240頁學習目的檢測掌握利用復合機制編寫較復雜類的方法理解this指針的作用、原理,了解類和對象的實現(xiàn)機制掌握使用this指針編寫能連續(xù)調(diào)用的成員函數(shù)的方法掌握const對象和const成員函數(shù)的定義和使用方法掌握編寫友元函數(shù)的方法掌握友元類的用法第140頁/共240頁作業(yè)4.64.74.84.114.12第141頁/共240頁第5章函數(shù)第142頁/共240頁講授內(nèi)容函數(shù)的定義和函數(shù)原型函數(shù)調(diào)用和參數(shù)傳遞機制函數(shù)重載存儲類別和作用域遞歸函數(shù)設計和函數(shù)的遞歸調(diào)用類的復合預處理指令第143頁/共240頁5.1模塊化程序設計(1/3)復雜問題一般可以分解為若干稍簡單的問題每個問題的解決對應一個模塊的求解解決復雜問題的系統(tǒng)一般由逐級抽象的諸模塊組成每個模塊是一個類或函數(shù)第144頁/共240頁5.1模塊化程序設計(2/3)函數(shù)是C++程序構成的基礎任何C++程序至少包含一個函數(shù)——main()函數(shù)函數(shù)也是類的方法的實現(xiàn)手段函數(shù)的作用實現(xiàn)系統(tǒng)中按功能分解的各小任務實現(xiàn)類對象的方法C++程序的設計最終都落實到一個個函數(shù)的設計上第145頁/共240頁5.1模塊化程序設計(3/3)函數(shù)是C++源程序的基本模塊C++中的函數(shù)包括兩類:預定義函數(shù),C++提供了豐富的庫函數(shù),程序員可以在自己的程序中直接使用用戶自定義函數(shù),用戶根據(jù)需要編寫的函數(shù)一個C++程序可包含多個文件,一個文件可包含多個函數(shù)第146頁/共240頁5.2預定義函數(shù)的使用(1/2)C++提供了豐富的庫函數(shù),這些庫函數(shù)的聲明都放在相應的頭文件中要使用這些庫函數(shù),必須先包括相應的頭文件,然后直接使用例如:數(shù)學運算函數(shù)的聲明包含在math.h中,要使用這些函數(shù),程序中必須加上代碼#include<math.h>第147頁/共240頁5.2預定義函數(shù)的使用(2/2)函數(shù)調(diào)用的一般過程先計算實參表達式的值然后將計算的結果交給被調(diào)用函數(shù)再執(zhí)行被調(diào)用函數(shù)的代碼,直至返回語句return或到函數(shù)尾最后程序控制返回到函數(shù)的調(diào)用處,繼續(xù)執(zhí)行printf(“%.2f”,sqrt(900.0));的執(zhí)行過程以900.0為參數(shù)調(diào)用sqrt函數(shù),得到返回結果30.0以"%.2f"和30.0為參數(shù)調(diào)用printf函數(shù),實現(xiàn)格式化輸出第148頁/共240頁5.3函數(shù)定義與函數(shù)原型函數(shù)模塊化所有在函數(shù)體中說明的變量都是局部變量僅在定義的函數(shù)中有效參數(shù)函數(shù)間傳遞信息局部變量第149頁/共240頁5.3函數(shù)定義與函數(shù)原型函數(shù)的優(yōu)點分而治之有利于程序開發(fā)避免代碼重復軟件重用重用已有的函數(shù)來構造新的程序抽象-隱蔽內(nèi)部的細節(jié)第150頁/共240頁例子1:函數(shù)舉例#include<stdio.h>intmaximum(int,int,int);/*functionprototype*/intmain(){inta,b,c;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);printf("Maximumis:%d\n",maximum(a,b,c));return0;}/*Functionmaximumdefinition*/intmaximum(intx,inty,intz){intmax=x;if(y>max)max=y;if(z>max)max=z;returnmax;}第151頁/共240頁例子2:函數(shù)舉例#include<stdio.h>intmaximum(int,int,int);intmain(){inta,b,c,max;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);max=maximum(a,b,c);printf("Maximumis:%d\n",max);return0;}intmaximum(intx,inty,intz){intmax=x;if(y>max)max=y;if(z>max)max=z;returnmax;}第152頁/共240頁例子3:函數(shù)舉例#include<stdio.h>intmaximum(intx,inty,intz){intmax=x;if(y>max)max=y;if(z>max)max=z;returnmax;}intmain(){inta,b,c,max;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);
max=maximum(a,b,c);printf("Maximumis:%d\n",max);return0;}第153頁/共240頁例子4:函數(shù)舉例#include<stdio.h>voidmaximum(int,int,int);intmain(){inta,b,c,max;printf("Enterthreeintegers:");scanf("%d%d%d",&a,&b,&c);maximum(a,b,c);
return0;}voidmaximum(intx,inty,in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年教育信息化解決方案銷售與服務合同模板3篇
- 二零二五版機動車質(zhì)押典當與汽車后市場專業(yè)服務合同3篇
- 二手車個人買賣合同書樣本版B版
- 2025年度中小企業(yè)創(chuàng)新基金貸款合同簽訂與創(chuàng)業(yè)孵化服務
- 二零二五年度終止勞動合同員工離職后社會保障待遇合同
- 二零二五年度轉(zhuǎn)租協(xié)議甲乙丙三方及物業(yè)管理服務合同
- 2025年度退定金協(xié)議:旅游度假村預訂退訂合同
- 二零二五年度無子女無財產(chǎn)快速離婚協(xié)議指南
- 2025年度魚塘承包經(jīng)營權變更及合作開發(fā)協(xié)議
- 二零二五年度庭院租賃房屋院落環(huán)保改造合同
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報告
- 【地理】地圖的選擇和應用(分層練) 2024-2025學年七年級地理上冊同步備課系列(人教版)
- (正式版)CB∕T 4552-2024 船舶行業(yè)企業(yè)安全生產(chǎn)文件編制和管理規(guī)定
- JBT 14588-2023 激光加工鏡頭 (正式版)
- 2024年四川省成都市樹德實驗中學物理八年級下冊期末質(zhì)量檢測試題含解析
- 九型人格與領導力講義
- 廉潔應征承諾書
- 2023年四川省成都市中考物理試卷真題(含答案)
- 泵車述職報告
- 2024年山西文旅集團招聘筆試參考題庫含答案解析
- 恢復中華人民共和國國籍申請表
評論
0/150
提交評論