郝斌C語言詳細(xì)筆記_第1頁
郝斌C語言詳細(xì)筆記_第2頁
郝斌C語言詳細(xì)筆記_第3頁
郝斌C語言詳細(xì)筆記_第4頁
郝斌C語言詳細(xì)筆記_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

郝斌教師的C語言:講堂講解全程動(dòng)手敲代碼,講解細(xì)致,對(duì)于重要知識(shí)點(diǎn)的講解誨人不倦,是一個(gè)可貴的C語言入門教程.在這里對(duì)教師的辛勤付出暗示感謝.之袁州冬雪創(chuàng)作郝斌c語言視頻教程,概述:課程計(jì)劃為什么學(xué)習(xí)c語言:Fortran語言主要用于迷信計(jì)算,在第三代語言中,以1980年為分水嶺,分為布局化和面向?qū)ο笳Z言.Basic語言是vb的前生,pascal語言一般是用于講授.C語言是最重要的,其他的語言一般很少用了.布局化的代表語言是c語言.布局化語言的數(shù)據(jù)和操縱是分離的,導(dǎo)致在寫大項(xiàng)目標(biāo)時(shí)候,會(huì)出現(xiàn)各種各樣莫明其妙的問題.在面向?qū)ο蟮恼Z言中c++是最復(fù)雜的語言.由于c++語言太復(fù)雜,sun公司對(duì)c++停止了改裝,發(fā)生了java語言.而c#是由微軟開辟的,和java相似,幾乎一模一樣.在高級(jí)語言的執(zhí)行速度上,c是最快的,c++其次,而java和c#是最后的.Java和c#風(fēng)行,主要的一個(gè)原因是可以跨平臺(tái).C語言的發(fā)展和過程:■產(chǎn)生時(shí)間:1972-1973■產(chǎn)生地點(diǎn):美國貝爾實(shí)驗(yàn)室(Bell)■創(chuàng)始人:Dennis.M.RKchie和Ken.Thompson■目的: 改寫UNIX操作系統(tǒng)■C語言發(fā)展過程-1983年ANSIC,1987年ANSIC87■1994年C99C語言的特點(diǎn):■優(yōu)點(diǎn):代碼量小,速度快,功能強(qiáng)大.■缺點(diǎn):危險(xiǎn)性高,開辟周期長,可移植性弱.危險(xiǎn)性高:寫同一個(gè)程序,在java中會(huì)報(bào)錯(cuò),而在c中不會(huì)報(bào)錯(cuò),為什么呢,因?yàn)閏認(rèn)為程序你想怎么寫就怎么寫,c語言認(rèn)為你寫的程序不是很離譜,他都認(rèn)為你寫的這個(gè)程序有特殊的含義.可以直接通過,而java則不成以.開辟周期長:c語言是面向過程的語言,面向過程的語言的特點(diǎn)就是在開辟大項(xiàng)目標(biāo)時(shí)候,很容易崩潰,好比蓋大樓,C語言還要造大量的磚塊、鋼筋等布局原資料,而C++C#JAVA則停止了一定的繼承封裝等操縱,相當(dāng)于原資料直接給你,你只需要用它蓋樓即可.現(xiàn)在市場上的語言分三塊C/C++:單純的學(xué)習(xí)c是什么都做不了的.JavaC#可移植性不強(qiáng):這是針對(duì)java來講的,因?yàn)閖ava的可移植性太強(qiáng)了,所以就感覺說c的可移植性不強(qiáng).金山公司最主要是靠wps辦公軟件來發(fā)展的.Wps是c語言開辟的,其裝置包比Office少了10多倍.三大操縱系統(tǒng):windows,unix,linuxWindows內(nèi)核是c語言寫的,而外殼是c++寫的.Java永遠(yuǎn)不成能寫操縱系統(tǒng).因?yàn)閖ava運(yùn)行速度太慢了.而linux和unix都是純c寫的.操縱系統(tǒng)節(jié)制了硬件,如果說操縱系統(tǒng)的運(yùn)行速度慢,那末當(dāng)我們?cè)谶\(yùn)行軟件的時(shí)候,運(yùn)行速度會(huì)更慢.為什么使用c語言寫操縱系統(tǒng)呢,首先是因?yàn)閏的運(yùn)行速度快,然后是因?yàn)閏可以直接節(jié)制硬件,而其他語言不成以.沒有指針的語言是不克不及直接訪問硬件的.C語言的應(yīng)用范疇:驅(qū)動(dòng)一般是用c和匯編來寫的.數(shù)據(jù)庫一般是用c和c++來寫的C語言的重要性:雖然應(yīng)用場合相對(duì)較窄,但貼近系統(tǒng)內(nèi)核,較底層.病毒最基本的是要感染系統(tǒng),數(shù)據(jù)布局,c,c++這三門語言是必須要學(xué)習(xí)的.牛人牛語:怎樣學(xué)習(xí)c語言要將編程當(dāng)成一項(xiàng)事業(yè)來運(yùn)營,而不是糊口的工具.多思考,多上機(jī).不克不及光看,光聽,而要排錯(cuò),調(diào)試.在犯錯(cuò)誤中成長.參考資料王爽寫的c++也很不錯(cuò)學(xué)習(xí)的方針:掌握簡單的算法一處理問題的方法和步調(diào).

熟悉語法規(guī)則.能看懂程序并調(diào)試程序.C語言的關(guān)鍵字:C語言程序的格式:一定要養(yǎng)成杰出的習(xí)慣:代碼規(guī)范邊寫邊保管,括號(hào)成對(duì)出現(xiàn),應(yīng)用空格VC6.0軟件操縱:新建保管關(guān)閉(關(guān)閉空間).cpp是原始文件,可單獨(dú)拷貝到其它電腦.第二講:(14)c語言編程必備知識(shí)Cpu,內(nèi)存條,硬盤,顯卡,主板,顯示器之間關(guān)系.Cpu不克不及直接處理硬盤上的數(shù)據(jù),必須要先調(diào)入內(nèi)存什么是數(shù)據(jù)類型數(shù)據(jù)類型一數(shù)據(jù)的分類存儲(chǔ).可以分為A:基本數(shù)據(jù)類型:整型什么是數(shù)據(jù)類型數(shù)據(jù)類型一數(shù)據(jù)的分類存儲(chǔ).可以分為A:基本數(shù)據(jù)類型:整型整型int短整型shortint長整型longint浮點(diǎn)型對(duì)編程而言,首要思索問題是數(shù)據(jù)的輸入和--4字節(jié)一字節(jié)byte=8位bit-2-8單精度浮點(diǎn)數(shù)float:存儲(chǔ)范圍小-4雙精度浮點(diǎn)數(shù)double:存儲(chǔ)范圍大-8Float和Double都不克不及包管將小數(shù)完全準(zhǔn)確保管字符char:c語言中是沒有字符串string-1(區(qū)別于JAVA、C#中有string且C#中char為2字節(jié))B:復(fù)合類型:就是把基本類型拼湊在一起布局體列舉 實(shí)用共用體一基本淘汰什么是變量變量的實(shí)質(zhì)是內(nèi)存中一段存儲(chǔ)空間.IntI;i=5;I是變量,程序向系統(tǒng)申請(qǐng)了一個(gè)內(nèi)存單元,在程序運(yùn)行中,i的值可以改變,但程序竣事后,其所占的空間不是釋放,而是被系統(tǒng)收回權(quán)限.5Cpu,內(nèi)存條,,操縱系統(tǒng)之間的關(guān)系.6變量為什么必須初始(即賦值)軟件運(yùn)行與內(nèi)存關(guān)系(渣滓數(shù)據(jù)-9868598658)軟件在運(yùn)行前需要向操縱系統(tǒng)申請(qǐng)存儲(chǔ)空間,在內(nèi)存空間足夠閑暇時(shí),操縱系統(tǒng)將分配一段內(nèi)存空間并將該外存中軟件拷貝一份存入該內(nèi)存空間中,并啟動(dòng)該軟件運(yùn)行.在軟件運(yùn)行期間,該軟件所占內(nèi)存空間不再分配給其他軟件.當(dāng)該軟件運(yùn)行完畢后,操縱系統(tǒng)將回收該內(nèi)存空間(注意:操縱系統(tǒng)其實(shí)不清空該內(nèi)存空間遺留下來的數(shù)據(jù)),以便再次分配給其他軟件使用.《操縱系統(tǒng)》一門課中系統(tǒng)分配表中會(huì)講到,用1標(biāo)識(shí)表記標(biāo)幟暗示內(nèi)涵是被占用的,用0標(biāo)識(shí)表記標(biāo)幟暗示是閑暇的.綜上所述,一個(gè)軟件所分配到的空間中極可以存在著以前其他軟件使用過后的殘留數(shù)據(jù),這些數(shù)據(jù)被稱之為渣滓數(shù)據(jù),所以通常情況下我們?yōu)橐粋€(gè)變量,為一個(gè)數(shù)組,分配好存儲(chǔ)空間之前都要對(duì)該內(nèi)存空間初始化.7如何定義變量數(shù)據(jù)類型變量稱號(hào)二賦予的值;等價(jià)于數(shù)據(jù)類型變量名;變量名二要賦予的值;舉例子:inti=3;等價(jià)于inti;i=3;Inti,j;等價(jià)于inti;intj;Inti,j=3等價(jià)于inti;intj;j=3;IntI=3,j=5;等價(jià)于inti;intj;I=3;j=5;8什么是進(jìn)制-逢幾進(jìn)一我們規(guī)定八進(jìn)制前面加0(零),十六進(jìn)制前面加0x.常常使用計(jì)數(shù)制對(duì)照表:Printf的基本用法:9常量在c中是如何暗示的當(dāng)個(gè)字符使用單引號(hào)括起來,多個(gè)字符串使用雙引號(hào)括起來(指針、數(shù)組).在c中,默許是double類型的.在后面加F暗示當(dāng)做float來處理,否則會(huì)有正告提示一丟失部分字節(jié).10常量以什么樣的二進(jìn)制代碼存儲(chǔ)在計(jì)算機(jī)中?編碼:整數(shù)是以補(bǔ)碼的形式轉(zhuǎn)換為二進(jìn)制代碼存儲(chǔ)在計(jì)算機(jī)浮點(diǎn)數(shù)是以ieee754尺度轉(zhuǎn)換為二進(jìn)制代碼存儲(chǔ)字符實(shí)質(zhì)實(shí)際是與整數(shù)的存儲(chǔ)方式相同,ASII碼尺度.第三次課:代碼規(guī)范化,可以參考林銳《高質(zhì)量c/c++編程》■代碼的規(guī)范化非常的重要,是學(xué)習(xí)一門編程語言的基礎(chǔ),代碼可以允許錯(cuò)誤,但不克不及不規(guī)范.例如:成對(duì)敲括號(hào){}()加空格于運(yùn)算符和數(shù)字之間I=1+2;加縮進(jìn)分清上下級(jí)地位.換行一停止功能區(qū)域分隔or{}括號(hào)單獨(dú)成一行.■代碼規(guī)范化的好處1:整齊,他人和自己都容易看懂.2:代碼規(guī)范了,代碼不容易出錯(cuò).3:一般的程序可以分為三塊:a:定義變量b:對(duì)變量停止操縱c:輸出值什么是字節(jié)■存儲(chǔ)數(shù)據(jù)的單位,而且是硬件所能訪問的最小單位.內(nèi)存中存儲(chǔ)的最小單位是位bit(0或1),但是硬件節(jié)制的時(shí)候不克不及切確到位,只能切確到字節(jié)(8位),是通過地址總線來節(jié)制的,而切確到位是通過軟件來節(jié)制的,叫做位運(yùn)算符來切確到位的.1字節(jié)二8位1K=1024字節(jié)1M=1024K1G=1024M1T=1024G2G的內(nèi)存條的總空間:2*1024*1024*1024*8=4*1032分歧類型數(shù)據(jù)之間相互賦值的問題分歧數(shù)據(jù)類型之間最好不要相互轉(zhuǎn)換.如果需要大白這個(gè)知識(shí)點(diǎn),那末需要大白補(bǔ)碼什么是ASCII碼以char定義變量的時(shí)候,只能使用單引號(hào)括起一個(gè)字符才是正確的.在上圖中注釋的最后一樣是重復(fù)定義了ch的值,是錯(cuò)誤的,而下面的ch=‘c’是指把c賦值給ch,是正確的.上圖中輸出的值是98(將字符以整數(shù)%d的形式輸出)Ascll碼規(guī)定了ch是以哪一個(gè)值去保管,ascii碼不是一個(gè)值,而是一種規(guī)定,規(guī)定了分歧的字符是以哪一個(gè)整數(shù)值去暗示.其它規(guī)定還有GB2312UTF-8等.字符實(shí)質(zhì)上與整數(shù)的存儲(chǔ)方式相同【字符的存儲(chǔ)】基本的輸入和輸出函數(shù)的用法:第三次課Printf()將變量的內(nèi)容輸出到顯示器上.四種用法輸什么是輸出節(jié)制符,什么是非輸出節(jié)制符輸出節(jié)制符包含如下:Printf為什么需要輸出節(jié)制符:-01組成的代碼可以暗示數(shù)據(jù)也可以暗示指令.必須要有輸出節(jié)制符告訴他怎么去解讀.■如果01組成的代碼暗示的是數(shù)據(jù)的話,那末同樣的01代碼組合以分歧的格式輸出就會(huì)有分歧的輸出成果,所以必須要有輸出節(jié)制符.在上圖中,intx=47,如果前面加0(零)048暗示的是八進(jìn)制,如果前面加0x(零x)0X47則暗示的是十六進(jìn)制,而在輸出的時(shí)候,則是。(字母o)暗示八進(jìn)制,ox(字母o,x)暗示十六進(jìn)制.非輸出節(jié)制符:非輸出節(jié)制符在輸出的時(shí)候會(huì)原樣輸出.Scanf()通過鍵盤將數(shù)據(jù)輸入到變量中有兩種用法:示例:非輸入節(jié)制符:在輸入的時(shí)候也會(huì)原樣輸入.但是強(qiáng)烈建議:在使用scanf的時(shí)候,不使用非輸入節(jié)制符.給多個(gè)變量賦值:需要記住,非節(jié)制符需要原樣輸入.如何使用scanf編寫出高質(zhì)量代碼運(yùn)算符:算術(shù)運(yùn)算符:加(+),減(一)乘(*)除(/)取余(%)關(guān)系運(yùn)算符:>,>=,<,<=,!=,邏輯運(yùn)算符:!(非),&&(且),||(或)賦值運(yùn)算符:二,+=,*=,/二例如:a+=3是等價(jià)于a=a+3,a/=3等價(jià)于a=a/3其優(yōu)先級(jí)別是算術(shù)〉關(guān)系〉邏輯〉賦值.取余的成果的正負(fù)只和被除數(shù)有關(guān)第四節(jié)流程節(jié)制(第一個(gè)重點(diǎn)):什么是流程節(jié)制程序代碼執(zhí)行的順序.流程節(jié)制的分類順序執(zhí)行選擇執(zhí)行定義:某些代碼可以執(zhí)行,可以不執(zhí)行,有選擇的執(zhí)行某些代碼.分類:ifIf最簡單的用法:如果想節(jié)制多個(gè)語句的執(zhí)行或者不執(zhí)行,那末需要使用{}括起來.3.if…else…的用法:if…elseif…else的用法:C錯(cuò)誤的if…elseif…else語句:在上圖中,當(dāng)執(zhí)行到哈哈那句時(shí),下面的else將會(huì)被算作別的一個(gè)語句來執(zhí)行,而在我們的c語言中,沒有以else開首的語句.所以會(huì)出錯(cuò).If實(shí)例:If罕見的問題:變量的替換求三個(gè)數(shù)字的大?。篊語言罕見誤區(qū):紙山君素?cái)?shù):只能被1和自己整除的數(shù),如1,5,9等.回文數(shù):正著寫和倒著寫一樣的數(shù).如1221,121,等編程實(shí)現(xiàn)求一個(gè)十進(jìn)制數(shù)字的二進(jìn)制形式:求一個(gè)數(shù)字的每位是奇數(shù)的數(shù)字取出來組合形成的新數(shù)字.求一個(gè)數(shù)字到過來的數(shù)字.1:如果不懂,那末就看答案.看懂答案在敲.沒錯(cuò)誤了,在測驗(yàn)測驗(yàn)改.如何看懂一個(gè)程序:流程:每一個(gè)語句的功能:試數(shù):對(duì)一些小算法的程序:測驗(yàn)測驗(yàn)自己編程終局.處理不了,看答案.關(guān)鍵是把答案看懂.看懂之后測驗(yàn)測驗(yàn)自己修改程序,且知道修改之后程序的分歧輸出成果的含義.照著答案去敲調(diào)試錯(cuò)誤不看答案,自己獨(dú)立把程序編出如果程序?qū)嵲谑峭耆珶o法懂得,就把他背會(huì).空語句的問題:在上圖中,最終的成果會(huì)是AAAA,BBBB,程序也不會(huì)報(bào)錯(cuò),為什么呢,因?yàn)樵诔绦驁?zhí)行的時(shí)候,會(huì)在;哪里認(rèn)為是一個(gè)空語句.也就是說,如果if成立,那末執(zhí)行空語句.If罕見錯(cuò)誤解析(重點(diǎn))上面這個(gè)程序是錯(cuò)誤的,為什么呢,在該程序中,總的有4個(gè)語句,而在以else開首的阿誰語句中是有錯(cuò)誤的,因?yàn)樵赾語言中是沒有以else開首的這種語法. #include tdio..h)intmain(voidj;(if(3立2:>printfCAAAA\.n");elseif(9.〉1printfrBBBB\n")_else IprintfCCCCC\n");return0;} 在上面這個(gè)程序中,最終的值是AAAA,雖說后面的3>1也知足條件,但是當(dāng)3>2知足條件后,該if語句就會(huì)終止,后面的語句是不會(huì)在執(zhí)行的.既然7行要寫表達(dá)式,就要寫if.循環(huán)的定義、分類.定義:某些代碼會(huì)被重復(fù)執(zhí)行.分類:forwhiledo while在上圖中,先執(zhí)行1,在執(zhí)行2,2如果成立,標(biāo)記著循環(huán)成立,那末在執(zhí)行4,最后在執(zhí)行3,3執(zhí)行完后代表一次循環(huán)完成,然后在執(zhí)行2.以此類推.1永遠(yuǎn)只執(zhí)行一次.++I等價(jià)于i+1求1-10的所有奇數(shù)的和:#include<.stdio..h?intmain'.(void){inti:intsum=0,(i=l;i幻0:i+=2^//i+=2;等價(jià)于i=i+£sum=sum+?.:.return0}求1-12之間的所有能被3整除的數(shù)字之和:For所節(jié)制的語句:在上圖中,for默許只能節(jié)制一個(gè)語句,但是如果要節(jié)制多個(gè)語句時(shí)候,那末需要使用{}把語句括起來.求1+1/2+1/3???.1/100的和在上圖中,重點(diǎn)是強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換也就是(float)(i)那句:如果把print那句換為下面這句會(huì)怎么樣呢:也是錯(cuò)的,為什么呢,因?yàn)閕是整型,1也是整型,所以不管你怎么轉(zhuǎn)換也是整型啊,如果想要這樣寫的話,那末我們需要把1改成也可以的.也就是:試數(shù)詳細(xì)步調(diào)舉例:浮點(diǎn)數(shù)存?。呵?-100之間所有奇數(shù)的和:求1-100之間的奇數(shù)的個(gè)數(shù):求1-100之間奇數(shù)的平均值:求1-100之間的奇數(shù)之和,在求1-100之間的偶數(shù)之和:多個(gè)for循環(huán)的嵌套使用:整體是兩個(gè)語句.上圖中,先執(zhí)行1,在執(zhí)行2,如果2成立,執(zhí)行4,在執(zhí)行5,如果5成立執(zhí)行A,在執(zhí)行6,在執(zhí)行5,如果5不成立,意味著外面的循環(huán)竣事,然后執(zhí)行3,在執(zhí)行2,如果2成立又執(zhí)行4,在執(zhí)行5,如果5成立在執(zhí)行6,在執(zhí)行5,如果5不成立,在執(zhí)行3,在執(zhí)行2,如果2不成立,意味著本次循環(huán)竣事,在執(zhí)行B,在上圖中,需要注意的是,如果2成立的話,那末每次4都需要執(zhí)行.進(jìn)制之間的轉(zhuǎn)換:如234為5進(jìn)制,那末轉(zhuǎn)換成10進(jìn)制是多少:2x5x5+3x5+4的值就是轉(zhuǎn)換成的10進(jìn)制.234e是16進(jìn)制,轉(zhuǎn)換成2進(jìn)制是多少:2x16x16x16+3x16x16+4x16+12的值就是轉(zhuǎn)換成10進(jìn)制的值.

注意上面的規(guī)律.那末把十進(jìn)制轉(zhuǎn)換成r進(jìn)制呢,其實(shí)很簡單,就是把10進(jìn)制數(shù)除以r,直到商是0的時(shí)候.然后取余數(shù),余數(shù)倒序擺列:(185)偵=(185)I。(185)偵=(185)I。=(10111001)2瑣碎的運(yùn)算符:自增自減:和自增一樣.三目運(yùn)算符:最終的輸出成果是1.格式(A,B,C,D)功能:從左到右執(zhí)行[最終表達(dá)式的循是最后一項(xiàng)的值|最終成果是6.上圖中,逗號(hào)是個(gè)順序點(diǎn),即所有的副作用必須在下個(gè)語句前生效,其最后成果為1,j+2只是發(fā)生姑且值,并沒有把j+2的值賦個(gè)j.如果寫成j+=2,那最后的值則變成5.For的嵌套使用舉例:上例中輸出的成果是9個(gè)哈哈,1個(gè)嘻嘻.在上圖中,整個(gè)程序分成3個(gè)語句,輸出的成果是3個(gè)嘿嘿,3個(gè)哈哈,1個(gè)嘻嘻.其成果是:While(先付錢后吃飯)1:執(zhí)行的順序:2:與for的相互比較:用for來求1-100之和:律include tdioHh關(guān)intmain\void){intsum=0,inti:for(i=li<101;++i){sum=sum+i;}printf.("sum=:%d\n\sum);return0:) 用while實(shí)現(xiàn)1-100之和.只需要把for語句替換為:i=1:while(i〈101){.君um=sum+i:++i;}"For和while是可以相互轉(zhuǎn)換的,可以用下面的表達(dá)式來暗示:for⑴2;3)等價(jià)于1;whi1e(2){A;3;&While和for在邏輯上完全等價(jià),但是for在邏輯上更強(qiáng).更容易懂得,更不容易出錯(cuò).推薦多使用for3:while舉例:試數(shù):通過上面的試數(shù),應(yīng)該能很快的懂得回文數(shù)的算法.4:什么時(shí)候使用while,什么時(shí)候使用for:沒法說,用多了就自然而然知道了Do…while(先吃飯后付錢)一元二次方程:ftinclude<stdio_h>ftinclude<math.h>intmain(uoid)<doublea,b,c;doubledelta;doublex1,x2~charch;dopZ.ntFL請(qǐng)輸入一元二次方程的三個(gè)系數(shù):\n'');printFf'a=")-scanFC^lF",&a);printFf'b=");scanFC^lF",&b);printFf'c=");scanFC'^lF",&c);delta=b*b-4*a*cjiF(delta>9)<x1=(-b+sqrt(delta))/(2*a}-x2=(-b-sqrt(delta))/(2*a}-printFC有兩個(gè)■燧,x1=您IF,x2=tlF\n",x1,x2);>elseif(9==delta)<x1=x2=(-b)/(2*a);printFC有唯一解,x1=x2=Uf\n",x1,x2);>else<Prints"無實(shí)數(shù)解?\n");>printFL您想繼續(xù)么(V/N):"J;scanF("&ch);〃如前面必須得加一個(gè)至格原因略}while(,y':==ch||'V'^=ch);return9;>Switch的用法電梯程序:Case是程序的入口,當(dāng)進(jìn)入程序后,程序會(huì)從上往下執(zhí)行,如果有break,那末會(huì)中斷程序,如果沒有,那末會(huì)一直執(zhí)行.Break的用法:在多層循環(huán)中,Break只能終止他最近的循環(huán).在多層switch中,break也是只能終止間隔他最近的switch.Break只能用于循環(huán)和switch,不克不及用于if.如果用于if,必須要當(dāng)循環(huán)中嵌套if的時(shí)候.Continue的用法上圖中,如果執(zhí)行continue,那末C,D將不會(huì)被執(zhí)行,會(huì)執(zhí)行3.在上圖中,如果執(zhí)行了continue,那末后面的C,D將不再執(zhí)行,而會(huì)去執(zhí)行表達(dá)式.數(shù)組:一非重點(diǎn)數(shù)組的使用:為什么需要數(shù)組1:為了處理大量同類型數(shù)據(jù)的存儲(chǔ)和使用問題.2:用數(shù)組可以摹擬現(xiàn)實(shí)世界.Inta[25]:一維數(shù)組,可以當(dāng)做一個(gè)線性布局.Inta[8][6]:可以當(dāng)做一個(gè)平面,意思是8行6列.有48個(gè)元素.Inta⑶[4][5]:可以當(dāng)做一個(gè)三維平面.Inta[3][4][5][6]:可以當(dāng)做一個(gè)四維空間.數(shù)組的分類一維數(shù)組怎樣定義一維數(shù)組:■為n個(gè)變量分配存儲(chǔ)空間:數(shù)組內(nèi)存空間是持續(xù)的.■所有的變量類型必須相同:數(shù)組不成能第一個(gè)元素是整形,第二個(gè)元素是浮點(diǎn)型.■所有變量所占用的字節(jié)必須相等.例子: int[5]數(shù)組不是學(xué)習(xí)重點(diǎn)的原因?數(shù)組一旦定義,其長度是死的.有關(guān)一維數(shù)組的操縱一都需要自己別的編程序?qū)崿F(xiàn)而我們通常常使用第三方軟件(工具)如數(shù)據(jù)庫等方便直接地實(shí)現(xiàn).對(duì)數(shù)組的操縱:初始化賦值排序求最大/小值倒置查找拔出刪除■初始化:上圖中a[5]前面如果沒有加上數(shù)據(jù)類型,那末這里的a[5]不是指一個(gè)數(shù)組,其中的5只的是下標(biāo).上圖中,數(shù)組的5個(gè)元素不是用a來代表的,是用a0,a1???a4來代表的,所以說數(shù)組名a代表的不是數(shù)組的5個(gè)元素,數(shù)組名代表的是數(shù)組的第一個(gè)元素的地址.■賦值把一個(gè)數(shù)組元素給全部倒過來:■排序■求最大/小值?倒置?查找?拔出?刪除二維數(shù)組:二維數(shù)組inta[3][4]:總共是12個(gè)元素.可以當(dāng)傲3行4列看待“這12個(gè)元素的名字依次是a[0][0]aLO][1]a[O][2]aLO}[3]all]LOJall]LUa[l]E2]alll[3][2][3]a[2][0]a[2][1]a[2][2]aja[i][jl表示第i+1有第j+1列的元素[2][3]遂flW.該雄"3苗伯置的…能二維數(shù)組的初始化:輸出二維數(shù)組內(nèi)容:多維數(shù)組:是否存在多維數(shù)組:不存在因?yàn)閮?nèi)存是線性一維的,在內(nèi)存中是不分行不分列的.N維數(shù)組可以當(dāng)做每一個(gè)元素是n-1維數(shù)組的一維數(shù)組.函數(shù)(第二個(gè)重點(diǎn)):為什么需要函數(shù):■防止了重復(fù)性操縱.■有利于程序的模塊化.(自上而下,逐步細(xì)化,大問題分解成小問題)用它作為參照,可以對(duì)比JAVA和C#面向?qū)ο蟮乃枷?C語言基本單位是函數(shù),C#、C++和JAVA基本單位是類.什么叫做函數(shù)■邏輯上:可以完成特定功能的獨(dú)立的代碼塊.物理上:可以接納數(shù)據(jù)【也可以不接納數(shù)據(jù)】,可以對(duì)接納的數(shù)據(jù)停止處理【也可以分歧錯(cuò)誤數(shù)據(jù)停止處理】,可以將數(shù)據(jù)處理的成果返【也可以沒有返回值】.■總結(jié):函數(shù)是個(gè)工具,他是為了處理大量近似問題而設(shè)計(jì)的,函數(shù)可以當(dāng)做黑匣子(外部原理不必管).如何定義函數(shù)■函數(shù)的返回值,函數(shù)的名字(函數(shù)的形參列表){函數(shù)的執(zhí)行體}■函數(shù)定義的實(shí)質(zhì):詳細(xì)描繪函數(shù)之所以可以實(shí)現(xiàn)某個(gè)特定功能的詳細(xì)方法.函數(shù)中的變量叫做形參;數(shù)組中的變量叫元素.一旦函數(shù)執(zhí)行完畢,其外部的形參所占空間就被收

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論