版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言基礎語言基礎C語言有哪些數(shù)據(jù)類型?語言有哪些數(shù)據(jù)類型?整型、實型、字符型。為什么程序中的變量使用前必須為什么程序中的變量使用前必須先定義?先定義?C程序用到的變量都必須進行定義,即事先定義其類型。變量一經定義,系統(tǒng)就給分配存儲空間,以存放相應常量。算法和程序的區(qū)別是什么?算法和程序的區(qū)別是什么?算法是有窮的,程序是無窮的算法和程序的描述方法不一樣,程序是用計算機語言描述的;算法一般不可執(zhí)行,程序可以執(zhí)行算法算法是解決問題的方法、步
2、驟和思路。C語言源程序的文件的后綴是C,經過編譯后生成文件的后綴是OBJ,經過連接后生成文件的后綴是exe。C程序開發(fā)的四個步驟依次是提出問題、構造模型、選擇方法、出問題、構造模型、選擇方法、編寫程序編寫程序。數(shù)學式sin35xcos60的C語言表達式為Sin(35pi180)cos(60pi180)(其中其中pi=3.14)。表達式39%29%25的值為6。表達式6.0(12)的值為0。程序就是算法用某種計算機語言用某種計算機語言表示
3、出來的表示出來的。一個變量同時只能被定義為一種一種類型類型。程序中用到的所有變量必須先定先定義后使用義后使用。變量代表內存中具有特定屬性的一個存儲單元,它用來存放也就是變量的值,這些值是可以改變這些值是可以改變的。一個字符型變量字符型變量只能存儲一個字符若a是實型變量,在執(zhí)行了a=5后,a仍為實型變量仍為實型變量。若a和b類型相同,在執(zhí)行了a=b后,b中仍保留原值中仍保留原值。編制C語言程序并上機運行的一般過程是編輯、編譯、連接、編輯、
4、編譯、連接、運行運行。C語言規(guī)定用戶標識符由字母、字母、數(shù)字和下劃線數(shù)字和下劃線組成,且第一個字符必須是字母或下劃線。字母或下劃線。begin不是C語言的關鍵字。順序結構、選擇結構和循環(huán)結構順序結構、選擇結構和循環(huán)結構的程序設計的程序設計請寫出請寫出switch語句的一般格式語句的一般格式及注意事項及注意事項。一般格式:Switch(表達式){case常量表達式1:語句組1;break;Case常量表達式2:語句組2;break;……C
5、ase常量表達式n:語句組n;break;Default:語句組n1;}1switch中表達式可以是任意類型,常用的是字符或整型。2每個常量表達式的值不能相同。3語句組可以為任意語句。4break可以省略,然后執(zhí)行完本組語句后緊接著執(zhí)行其后的i1組語句。5多個case可以用一組執(zhí)行語句。6break的作用是跳出switch,執(zhí)行switch下面的語句。試說明試說明whilewhile語句和語句和dowhiledowhile語句的異同語句
6、的異同:二者相同點在于都可以進行次數(shù)確定的循環(huán)體的次數(shù)。不同點在于dowhile現(xiàn)執(zhí)行循環(huán)中的語句,然后再判斷條件是否為真,若為真則繼續(xù)循環(huán);若為假則終止循環(huán)。因此,dowhile循環(huán)至少要執(zhí)行一次循環(huán)語句。而while則是先判斷條件后執(zhí)行循環(huán)體簡述簡述ff語句的執(zhí)行過程及注意語句的執(zhí)行過程及注意事項事項:計算機表達式1表達式2非0?執(zhí)行語句s計算機表達式3循環(huán)結束,執(zhí)行下面的語句注意事項:f語句中的3個表達式可以省略但后面的分號不能省
7、略。試說明試說明continuecontinue語句和語句和breakbreak語句的作用及區(qū)別句的作用及區(qū)別:break的功能是跳出本層循環(huán)(對多層循環(huán)而言),接著執(zhí)行下面的語句。continue語句的作用是執(zhí)行continue時,循環(huán)體中continue下面的語句都不執(zhí)行,重新進行循環(huán)判斷以決定是否繼續(xù)進行下次循環(huán)。Break和continue的區(qū)別在于:continue只結束本次循環(huán)重新進行下次循環(huán)判斷,而break結束整個循環(huán)。
8、結構化程序的三種基本結構包括順序結構、選擇結構和循環(huán)結構順序結構、選擇結構和循環(huán)結構。C語言提供的選擇結構語句有ifif和switchswitch。有一段程序為:while(表達式)語句1;語句2;……當表達式的值為非零時,執(zhí)行語句1;當表達式的值為零值時執(zhí)行語句語句2。dowhile語句中while后的表達式的值最終應達到0值,才能正常退出循環(huán)。在C語言程序的循環(huán)體內,若遇到breakbreak語句時,則立即停止當前循環(huán);若遇到con
9、tinuecontinue語句時,則結束本次循環(huán),進行下一次循環(huán)判斷。C語言中,唯一的三目運算符是?:,而&.&.是雙目運算符。C語言中,運算符優(yōu)先級最高優(yōu)先級最高的是&.&.&.&.。C語言中,>﹦是關系運算符關系運算符。C語言中,要求運算符數(shù)據(jù)必須是整型的運算符是%C語言中,語句x=!a==b;的執(zhí)行的次序是先執(zhí)行先執(zhí)行!,再執(zhí)行,再執(zhí)行==,再執(zhí)行,再執(zhí)行=。3個關于個關于C語言的結論語言的結論:可以用while語句實現(xiàn)的循環(huán)一定
10、可以用f語句實現(xiàn);可以用f語句實現(xiàn)的循環(huán)一定可以用while語句實現(xiàn);可以用dowhile語句實現(xiàn)的循環(huán)一定可以用while語句實現(xiàn)。C語言程序中,continue語句只能用于循環(huán)結構循環(huán)結構。C語言中,if和switch語句屬于程序流程控制語句程序流程控制語句。C語言中,語句while后一對圓括號中的表達式可以是任意表達可以是任意表達式。C語言中,關于scanf()函數(shù)正確的敘述是利用利用scanfscanf()函數(shù)()函數(shù)可以給變量
11、提供數(shù)據(jù)可以給變量提供數(shù)據(jù)。C語言中,與語句while(!E)括號中的表達式含義等價的是E==0.C語言程序中,f循環(huán)語句中的主函數(shù)和其他函數(shù)不可不可調用。C語言程序的簡單語句必須用分必須用分號(;)做為語句的結束符號(;)做為語句的結束符。函數(shù)定義的形參可以有一個、多個,也可以沒有。C語言程序總是從main函數(shù)開始執(zhí)行。C語言是由主函數(shù)和若干子函數(shù)主函數(shù)和若干子函數(shù)構成。在一個源程序文件中定義的全局變量的有效范圍是從定義變量的從定義變
12、量的位置開始到源程序文件結束位置開始到源程序文件結束。指針指針對指針變量做自加對指針變量做自加1操作后,一操作后,一定增加一個字節(jié)嗎?為什么?定增加一個字節(jié)嗎?為什么?不一定,和數(shù)據(jù)的類型有關。分析分析“”“”在定義指針和引用指針在定義指針和引用指針變量時有什么不同?變量時有什么不同?定義語句中“p”前面的“”是說明p的類型是指針變量。而除定義語句外的其他語句中出現(xiàn)的“p”里的“”是對p所指變量的引用,即代表它指向的變量。試說明指針變量
13、可以進行哪些運試說明指針變量可以進行哪些運算。指針變量可以進行賦值和簡單的加減運算。指針又可稱為地址地址。專門的指針運算符是&和。只有先定義一個指針指針型變量,才能將另一個變量的地址存放在改變量中。若指針變量p指向整型變量i,則i變量又可用pp表示。若指針變量p指向float型數(shù)組a[10],且a的首地址為1000,則執(zhí)行p3后,p應該指向地址為10121012單元。mallocmalloc()()函數(shù)用來在內存中分配一個指定長度的存儲
14、空間。C語言中,若inta[5],i,p=a;,則與&a[i]等價的指針表示是pipi,與a[i]等價的指針表示是(pipi)。已知:inta[]={13579},ip=a;表達式ip2的值是5.已定義的一個指針變量可以存放定義相同類型的定義相同類型的內存單元的地址。指針變量作為形參時,實參也可也可以是不同類型的以是不同類型的指針變量。指針說明時指定的數(shù)據(jù)類型是指針變量指向的存儲單元的指向的存儲單元的數(shù)據(jù)類型。指針變量賦值時,賦的值是一
15、般變量而不是地址而不是地址。指針變量的值是可以改變的是可以改變的。變量的指針是變量存儲單元的地變量存儲單元的地址。指針變量是指存放變量地址的變存放變量地址的變量。若有定義:intx,pb;則正確的賦值表達式是pb=&xpb=&x。若有定義:ch;(1)使指針p可以指向變量ch的定義語句是p=&chp=&ch。(2)使指針p指向變量ch的賦值語句是p=&chp=&ch。(3)通過指針p給變量ch讀入字符的scanf函數(shù)調用語句是scanf
16、scanf(“%c”“%c”,p)。(4)通過指針p給變量ch賦字符的語句是ch=pch=p。(5)通過指針p輸出ch中字符的語句是putput(pp)。數(shù)據(jù)結構概論數(shù)據(jù)結構概論通常將數(shù)據(jù)結構表示為一個二元通常將數(shù)據(jù)結構表示為一個二元組(組(D,R),其中,其中D和R分別表示分別表示什么?什么?D代表數(shù)據(jù)節(jié)點的集合,R是D上的關系。什么是數(shù)據(jù)的邏輯結構?什么是什么是數(shù)據(jù)的邏輯結構?什么是數(shù)據(jù)的物理結構?一般情況下,數(shù)據(jù)的物理結構?一般情
17、況下,兩者之間有什么關系?這種關系兩者之間有什么關系?這種關系是如何反映的?是如何反映的?數(shù)據(jù)的邏輯結構是數(shù)據(jù)間的外在聯(lián)系(與計算機存儲無關);數(shù)據(jù)的物理結構是數(shù)據(jù)在計算機中的存儲表示,也稱數(shù)據(jù)的存儲結構。一般情況下,二者的關系是相互運算,如何把邏輯結構數(shù)據(jù)存入計算機;如何把機內表示的數(shù)據(jù)取出來參加運算,在邏輯結構和物理結構之間轉換以及其他運算過程中,數(shù)據(jù)如何組織才能即節(jié)省時間,又節(jié)約空間,更重要的是機內表示的數(shù)據(jù)取出來后要完全體現(xiàn)其邏
18、輯結構。什么是算法?算法與程序有何區(qū)什么是算法?算法與程序有何區(qū)別與聯(lián)系?別與聯(lián)系?算法就是解決特定問題的的方法。而程序是通過某種語言將算法的具體實現(xiàn)手段。算法的時間復雜度僅與問題的規(guī)算法的時間復雜度僅與問題的規(guī)模相關嗎?模相關嗎?不是。算法的時間復雜度還與算法中的語句頻度、數(shù)據(jù)的狀態(tài)等因素有關。數(shù)據(jù)結構是指邏輯結構和物理結邏輯結構和物理結構兩種,通常是指邏輯結構。構兩種,通常是指邏輯結構。選擇合適的存儲結構,通??紤]的指標有邏輯結構和
19、數(shù)據(jù)類型邏輯結構和數(shù)據(jù)類型兩個因素。數(shù)據(jù)結構按節(jié)點間的關系,可分為4種,分別是集合、線性結構、集合、線性結構、樹形結構和網狀結構。樹形結構和網狀結構。線性結構反映節(jié)點間的關系是一對一對一的,樹形結構反映節(jié)點間的關系是一對多一對多的,網狀結構反映節(jié)點間的關系是多對多多對多的。數(shù)據(jù)的邏輯結構是數(shù)據(jù)之間的外在聯(lián)系(與計算機存儲無關)。數(shù)據(jù)的邏輯結構與數(shù)據(jù)元素的相對位置相關。數(shù)據(jù)的邏輯結構與其所含數(shù)據(jù)元素的個數(shù)無關。數(shù)據(jù)元素之間的邏輯關系與存儲
20、單元的相鄰關系無關。在數(shù)據(jù)結構中,從邏輯上可以把數(shù)據(jù)結構分為線性結構和非線性線性結構和非線性結構。結構。數(shù)據(jù)結構是一門研究操作對象以及他們之間的關系和運算關系和運算等的學科。算法分析的目的是分析算法的效分析算法的效率以求改進率以求改進。算法分析的兩個主要方面是空間空間復雜性和時間復雜性復雜性和時間復雜性。計算機算法是指可讀性科文檔性。可讀性科文檔性。線性表線性表簡述單鏈表、循環(huán)單鏈表、循環(huán)簡述單鏈表、循環(huán)單鏈表、循環(huán)雙鏈表的結構特點。雙
21、鏈表的結構特點。(1)單鏈表的結構:由節(jié)點構成,每個節(jié)點有兩個成員:數(shù)據(jù)域和指針域。單鏈表的特點:每個節(jié)點都只有一個指向直接后繼節(jié)點的指針,最后一個節(jié)點的指針域為空,單鏈表是只有一個鏈域的鏈表。(2)循環(huán)單鏈表結構:由節(jié)點構成,每個節(jié)點有兩個成員:數(shù)據(jù)域和指針域。循環(huán)單鏈表特點:鏈表中最后一個節(jié)點的指針域指向頭結點,整個鏈表形成一個環(huán)。(3)循環(huán)雙鏈表結構:由節(jié)點構成,每個節(jié)點包括三個域:數(shù)據(jù)域、前驅指針域和后繼指針域。循環(huán)雙鏈表特點:
22、節(jié)點的next指針域指向后繼節(jié)點,pri指針域指向前驅節(jié)點。簡述順序表和鏈表的主要優(yōu)、缺簡述順序表和鏈表的主要優(yōu)、缺點及適用范圍。點及適用范圍。(1)順序表用一組地址連續(xù)的存儲單元存放線性表中的數(shù)據(jù),表中元素的物理關系和邏輯關系是一致的。表中元素可以隨機存取,但在程序執(zhí)行之前必須給出空間長度,容易造成空間浪費或者空間不夠的情況。鏈表用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素,利用指針實現(xiàn)了用不相鄰的存儲單元存放邏輯上相鄰的元素。存儲空間動
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論