版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C語言教程大綱1. 第一章:設(shè)計語言的講解2. 第一章:程序的算法與結(jié)構(gòu)設(shè)計。3. 第二章:C程序的設(shè)計初步了解。4. 第二章:C程序的格式的講解。5. 第二章:C程序格式的幾個考點講解。6. 2.2 標識符、常量、變量 一7. 2.2 標識符、常量、變量 二8. 2.2 標識符、常量、變量 三9. 2.2 標識符、常量、變量 考點講解10. 2.3 整型常量 11. 2.3 整型變量12. 2.3 整型數(shù)據(jù)的分類13. 2.4 實型常量14. 2.4 實型變量15. 2.5 算術(shù)表達式、運算符優(yōu)先級及強制類型轉(zhuǎn)換16. 2.6 賦值表達式17. 2.7 復(fù)合表達式與賦值中的強制類型轉(zhuǎn)換18.
2、 2.7 + 和 的講解19. 2.7 逗號表達式與實例講解20. 課后習(xí)題的講解21. 課后習(xí)題的講解22. 課后習(xí)題的講解23. 第二章的總體回顧24. 3.2輸出語句的講解 一25. 3.2輸出語句的講解 二26. 3.2輸出語句的講解 三27. 3.2輸出語句考點例題講解。28. 3.3輸入語句的講解 一29. 3.3輸入語句的講解 二30. 3.3輸入語句考點例題講解。31. 3.4 復(fù)合語句與空語句32. 3.5 程序設(shè)計33. 課后習(xí)題講解34. 課后習(xí)題講解35. 課后習(xí)題講解36. 第三章總體回顧37. 4.1關(guān)系運算38. 4.1邏輯運算39. 4.2 IF語句40. 4.
3、2 IF語句41. 4.2 IF語句的嵌套42. 4.2 IF語句的嵌套43. 4.2 IF語句的幾個考試例題44. 4.3條件表達式45. 4.4 switch語句46. 4.4 switch語句與BREAK47. 4.4switch語句的幾個考試例題48. 課后習(xí)題49. 課后習(xí)題50. 課后習(xí)題51. 第四章的總體回顧52. 5.1while 語句53. 5.1while的幾個習(xí)題54. 5.2do while55. 5.3 FOR語句56. 5.3 FOR語句57. 5.4 for的嵌套58. 5.4FOR的嵌套59. 5.4素數(shù)的判定60. FOR語句的實例61. FOR語句的實例6
4、2. FOR語句的實例63. 5.5 break 與continue 64. 5.5 break 與continue65. 5.6 程序的舉例66. 例年考題講解67. 例年考題講解(上機題)68. 例年考題講解(上機題)69. 課后習(xí)題70. 課后習(xí)題71. 課后習(xí)題72. 6.1字符常量73. 6.1字符串常量與字符變量74. 6.3字符的輸入與輸出75. 6.3字符與其它數(shù)據(jù)類型混合的輸入與輸出76. 6.4程序舉例77. 課后習(xí)題講解78. 課后習(xí)題講解79. 課后習(xí)題講解80. 課后習(xí)題講解81. 第六章的總體回顧82. 7.1庫函數(shù)83. 7.2函數(shù)的應(yīng)用與說明84. 7.2函數(shù)的
5、定義與使用85. 7.2return的應(yīng)用86. 7.3函數(shù)的調(diào)用87. 7.3函數(shù)的調(diào)用88. 7.4函數(shù)的說明與調(diào)用函數(shù)的數(shù)據(jù)傳遞89. 7.6程序舉例90. 7.6程序舉例91. 例年考題講解92. 例年考題講解(上機)93. 例年考題講解(上機)94. 課后習(xí)題95. 課后習(xí)題96. 課后習(xí)題97. 第七章總體回顧98. 8.1變量的地址與指針99. 8.2指針變量的定義100. 8.2指針變量的定義101. 8.3給指針變量賦值102. 8.3給指針變量賦值103. 8.4指針變量的操作104. 8.4指針變量的操作105. 8.4指針變量的表示106. 8.4指針變量所指向的數(shù)據(jù)的
6、增減107. 8.4指針的移動108. 8.4指針的移動109. 8.5指針在函數(shù)調(diào)用中的應(yīng)用110. 8.5指針在函數(shù)調(diào)用中的應(yīng)用111. 例年考題講解112. 例年考題講解113. 例年考題講解(上機)114. 例年考題講解(上機)115. 課后習(xí)題分析116. 課后習(xí)題分析117. 課后習(xí)題分析118. 第八章總體回顧119. 第八章總體回顧120. 9.1數(shù)組的初步了解121. 9.1一維數(shù)組的定義122. 9.1一維數(shù)組的引用與始化123. 9.1一維數(shù)組的使用124. 一維數(shù)組的實例125. 9.2一維數(shù)組和指針126. 9.2一維數(shù)組和指針127. 9.2通過指針引用一維數(shù)組12
7、8. 9.3一維數(shù)組在函數(shù)調(diào)用中的應(yīng)用129. 9.3一維數(shù)組在函數(shù)調(diào)用中的應(yīng)用130. 9.3一維數(shù)組在函數(shù)調(diào)用中的應(yīng)用131. 9.4應(yīng)用舉例132. 9.4應(yīng)用舉例133. 9.4應(yīng)用舉例134. 9.5二維數(shù)組的定義135. 9.5二維數(shù)組的引用136. 9.5二維數(shù)組的初始化137. 9.5二維數(shù)組通過FOR語句初始化138. 9.6二維數(shù)組元素的地址表示 139. 9.6二維數(shù)組元素的地址表示140. 9.6通過指針來引用數(shù)組元素141. 9.6指針數(shù)組與數(shù)組指針142. 9.7二維數(shù)組在函數(shù)調(diào)用中的應(yīng)用143. 9.7二維數(shù)組在函數(shù)調(diào)用中的應(yīng)用144. 9.7二維數(shù)組在函數(shù)調(diào)用中
8、的應(yīng)用145. 9.8應(yīng)用舉例146. 9.8應(yīng)用舉例147. 9.8應(yīng)用舉例148. 例年考題講解149. 例年考題講解150. 例年考題講解(上機)151. 例年考題講解(上機)152. 例年考題講解(上機)153. 例年考題講解(上機)154. 課后習(xí)題155. 課后習(xí)題156. 課后習(xí)題157. 第九章總體回顧158. 第九章總體回顧159. 10.1字符與一維數(shù)組160. 10.1字符串與一維數(shù)組161. 10.2指針指向一個字符串162. 10.3字符串的輸入和輸出163. 10.4字符串數(shù)組164. 10.5幾個用于字符處理的函數(shù)與程序舉例165. 例年考題講解166. 例年考題
9、講解(上機)167. 課后習(xí)題168. 課后習(xí)題169. 課后習(xí)題170. 第十章總體回顧171. 11.1對函數(shù)的進一步討論172. 課后習(xí)題的講解173. 課后習(xí)題的講解174. 12.1局部變量與全局變量175. 12.2靜態(tài)變量176. 課后習(xí)題177. 課后習(xí)題178. 13.1宏179. 例年考題180. 14.1.結(jié)構(gòu)的初步認識181. 14.2結(jié)構(gòu)體的定義182. 14.2結(jié)構(gòu)體的初始183. 14.2結(jié)構(gòu)體成員的引用184. 14.3共用體與結(jié)構(gòu)體的區(qū)分185. 例年考題講解186. 15章位運算187. 16章文章188. 上機題思路分析189. 上機題思路分析190. 上
10、機題思路分析第一章 程序設(shè)計基本概念1.1程序和程序設(shè)計 程序:連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。 對于計算機來說,它不能識別由高級語言編寫的程序,它只能接受和處理由0和1的代碼構(gòu)成的二進制指令或數(shù)據(jù)。由于這種形式的指令是面向機器的,因此也被稱為“機器語言”。所以所有由高級語言編寫的程序都要經(jīng)過編譯,編譯成二進制代碼。這種具有翻譯功能的軟件稱為編譯程序。 語言有很多種,我們現(xiàn)在要談?wù)摰木褪荂語言。為什么計算機會能進行各種各樣的操作,就是由不同的指令來實現(xiàn)的。而不是只有C語言才可以實現(xiàn)這樣的功能。還有其它很多語言。但是我們一般說C語言是其它語言的母語。會了C語言其它的語言在學(xué)習(xí)的過程就會感
11、到輕松一些。1.1.2程序設(shè)計 1.確定數(shù)據(jù)結(jié)構(gòu) 2.確定算法 3.編碼 4.在計算機上調(diào)試程序 5.整理并寫出文檔資料1.2算法 定義:是指為了解決某個特定的問題而采取的確定且有限的步驟。1. 有窮性2. 確定性3. 可行性4. 有零個或多個輸入5. 有一個或多個輸出1.3結(jié)構(gòu)化程序設(shè)計和模塊化結(jié)構(gòu) 結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成1. 順序結(jié)構(gòu)語句1語句22. 選擇結(jié)構(gòu) 判斷表達式子不滿足語句1語句23. 循環(huán)結(jié)構(gòu)判斷表達式不滿足滿足循環(huán)體循環(huán)體判斷表達式滿足不滿足12)計算機能直接執(zhí)行的程序是(B )。A)源程序 B)目標程序 C)匯編程序 D)可執(zhí)行程序13)以下敘述中正確的是( D )&
12、#160;A)程序設(shè)計的任務(wù)就是編寫程序代碼并上機調(diào)試 B)程序設(shè)計的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu) C)程序設(shè)計的任務(wù)就是確定所用算法 D)以上三種說法都不完整第二章 :C程序設(shè)計的初步知識21 C語言程序的構(gòu)成和格式#include <stdio.h>Main()double a,b,area; a=1.2,b=3.6; /*將矩形的兩條邊長分別賦給a和b 變量*/area=a*b;printf(“a=%f,b=%f,area=%fn”,a,b,area);/*輸出矩形的兩條邊長和面積*/#include <stdio.h>:每當寫一個程序時
13、,第一條語句永遠是這個語句,因為一個程序可以沒有輸入但必須要有輸出,而這個語句就是控制輸入輸出的。所以任何一個程序都必須由這個語句開始。Main():是一個程序的主函數(shù)。一個程序是由多個函數(shù)組成的,而任何一個程序都要有一個主函數(shù),有且只有一個。任何程序都是由主函數(shù)開始執(zhí)行的。:它們兩個必須要成對出現(xiàn),它們中的語句是主函數(shù)體。包括定義部分和執(zhí)行部分。它們中的語句,每一條必須由;結(jié)束。;是C語句的一個組成部分而不是一個結(jié)束標識。/*/:注釋符一定要成對出現(xiàn),不允許嵌套。兩個符號間的語句不被執(zhí)行。 例年真題: #include<stdio.h> main() Int a;A=5; /*給
14、A變量賦值5A+=3; 再賦值后再加3*/Printf(“%d”,a);(11)以下敘述中正確的是( C )。A)C 程序的基本組成單位是語句 B)C 程序中的每一行只能寫一條語句二級C 語言程序設(shè)計試卷)C)簡單C 語句必須以分號結(jié)束 D)C 語句必須在一行內(nèi)寫完(11)以下敘述中正確的是( C ) A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面 B)C程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句 C)C程序書寫格式自由,一個語句可以寫在多行上 D)用C語言編寫的程序只能放在一個程序文件中 第二課:C語言的基礎(chǔ)知識2.2標識符,常量和變量2.2.1 標識符:定義:由字母,數(shù)字和下劃線組
15、成,并且第一個字符必須為字母或下劃線的。這樣的組成就是標識符。下列合法的是:else what #$123 34a a34 a_b a-b Ifa=3 A=4注意:在C中大寫字母與小字字母被認為是兩個不同的字符。分類: 關(guān)鍵字:在C中已經(jīng)定義好了的,不能用作它用的。如if double int 等等。 預(yù)定義標識符:如printf scanf 用戶標識符:用戶根據(jù)自己的需求來定義的。(12)以下選項中,能用作用戶標識符的是( C )A)voidB)8_8C)_0_D)unsigned(11)以下選項中合法的標識符是( C )A) 1-1 B)11 C)-11 D)1(12)以下選項中不合法的標
16、識符是 ( C ) A)print B)FOR C)&a D)_002.2.2常量: 定義:是指在程序的執(zhí)行的過程中,其值不會被改變的量。 分類:整型常量:沒有小數(shù)的常量 如:3 9 1234等等都是。 實型常量:有小數(shù)點的常量 如:3.9 3.0 3. 字符常量:由單個字符組成的量 如:a b 3 字符串常量:至少由一個字符組成的量 如:“a” “abc” “ beijing” 符號常量:符號常量的值到底是多少,這是由在來定義符號常量時來決定的 ?2*pi(13)以下選項中,能用作數(shù)據(jù)常量的是 ( D )A)o115 B) 0118 C)1.5e1.5 D) 115L(13)以下選項
17、中不能作為C 語言合法常量的是( A )。A)'cd' B)0.1e+6 C)"a" D)'011'(13)以下選項中不屬于字符常量的是 ( B ) A)'C' B)"C" C)'xCC0' D)'072'2.3整型常量與實型常量 整型常量的幾個表示方法 十進制數(shù): 八進制數(shù):以0開頭的數(shù)字,由0-7組成。 下列合法的八進制數(shù)是 A,0 B,028 C,-077 D,01.0 十六進制數(shù):以0X開頭,由0-9和A-F組成。 A,oxff B,0xabc C,0x11 D,0x
18、19 實型常量 123.4 小數(shù)形式:123.4 指數(shù)形式:1.234e2 1. 字母e和E之前必須要有數(shù)字 2.字母e和E之后的數(shù)字必須是整數(shù) 3.字母e和數(shù)字之間不能有空格。A,2.607E-1 0.8103E 2 -77.77 456E-2 0.1e+6 1.23E1.22.2.4變量: 1.定義:在程序的運行過程中其值可以被改變的量,就叫變量。 2.原則:變量必須先定義后使用。變量定義的過程就是給變量開辟存儲單元的過程。 3.分類: 整型變量:用關(guān)鍵字int來表示. short int 短整型 long int 長整型 在內(nèi)存中占4個字節(jié) 如123L unsigned 無符號 如有-2
19、00U這就是錯的。 變量的定義:int a 這是定義了一個整型變量a. 實型變量:用關(guān)鍵字 double 或float來表示。 float 單精度 在內(nèi)存中占4個字節(jié) double 雙精度 在內(nèi)存中占8個字節(jié)。2.2.5 算術(shù)表達式一、基本的算術(shù)運算符 + - * / % 這些是雙目運算符(就是指操作對象有兩個) 注意: 除%外,其它的運算符的運算對象可以是整型也可以是實型。%的操作對象只能是整型。 如10%3=1 10.7%3 10%4.5 x%3=0 + - 也可以做為單目運算。-5.4 +4.9 說明: 1.如果雙目運算符兩邊運算數(shù)的類型一致,則所得結(jié)果的類型與運算數(shù)的類型一致。如 1.
20、0/2.0=0.5 1/2=0 2.如果雙目運算符兩邊運算數(shù)的類型不一致,則系統(tǒng)會自動進行類型轉(zhuǎn)換,使兩邊的類型一致后,再進行運算。 1.0/2=0.5 3.所有的單精度數(shù)據(jù),在運算過程中都以雙精度進行運算。二、優(yōu)先級 () + - * / % + - 由高低 如 (5+1)/2=? 2.5.3 強制類型轉(zhuǎn)換表達式 格式:(類型名) (表達式) 例:(int)3.234=3 (double)10%3=?(14)表達式:4-(9)%2的值是( B ) A)0 B)3 C)4 D)5 (14)設(shè)變量已正確定義并賦值,以下正確的表達式是 ( C ) A)x=y*5=x+z B)int(15.8%5)
21、 C)x=y+z+5,+y D)x=25%5.02.6賦值表達式格式:變量名=表達式注:1.不可以顛倒(左邊必須是變量名,右邊必須是C語言中合法的表達式) 2.功能就是先求出右邊表達式的值,然后把此值賦值給賦值號左邊的變量。確切的說是把數(shù)據(jù)存入以該變量為標識的存儲單元中去。a=4 , a=7 3.結(jié)合性的優(yōu)先級僅高于逗號表達式。順序是自右向左的。如a=2+7/3 4."="是一個賦值號,不是一個等號。 5.x=y。變量的值也是可以傳遞和賦值的。它的意思就是將變量Y中的值賦值到X中去。同樣N=N+1也成立 6.賦值運算符的左側(cè)只能是變量,不能是常量或表達式 a+b=c這就是違
22、法的 7。賦值號的右邊也可以是一個賦值表達式。如a=b=7+1; 補充;表達式與語句的區(qū)別, 表達式后面加一個分號就是語句。 2.6.2復(fù)合賦值表達式例: a+=3-a=a+3 同理可得a*=3 /= -= a+=a-=a+a a 的初值是9 a+=a-=18 a+=(a=a-18) a+=(a=-9) a+=a -18(15)若有定義語句:int x=10;,則表達式x-=x+x的值為( B ) A)-20 B)-10 C)0 D)10(14)設(shè)有定義:int x=2;,以下表達式中,值不為6的是 ( D )A) x*=x+1 x=x*(x+1)B) x+,2*xC)x*=(1+x)D)2*
23、x,x+=2(17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是 (A)A)x=y=5;B)x=n%2.5; C)x+n=ID)x=5=4+1; 2.7 + 和 的講解+:自身加1-:自身減1如i=3 i+_I=i+1 i=4單目3+I I+當+在前,先自身加1,然后再干別人讓干的事情 。當+在后,先別人讓干的事情然后再干 自身加1。int i=3;int a;a=i+; a=3a=+I;a=4 第三課:輸入和輸出語句3.2輸出語句的講解 一、printf函數(shù)的一般調(diào)用形式 格式:printf(格式控制,輸出項1,輸出項2,.); 在printf函數(shù)的最后面寫上;號就是輸出語句。 1,
24、給輸出項白提供輸出格式說明 格式說明符: 作用:就是使數(shù)據(jù)按格式說明符的要求進行輸出。 組成:由%號和緊跟在其后的格式描述符組成。 int-%d float或double-%f或e% char-%c 2.提供原樣輸出的文字或字符 在 “ ” 中除了格式說明符之外的內(nèi)容要全部原樣輸出。 各個輸出項之間要用逗號隔開。 輸出項可以是任意合法的常量,變量或表達式。 printf中常用的格式說明 在格式說明符中,每一個格式說明符都必須以%號開頭由相應(yīng)的類型標識字母結(jié)束。但在他們之間可以有其它的一個內(nèi)容:%c :輸出一個字符%d:輸出一個十進制的數(shù)據(jù)%o:以八進制格式輸出。%X:以十六進制輸出%U:無符號
25、十進制輸出%f:以帶小數(shù)點的數(shù)字輸出%e:以指數(shù)形式輸出%s:輸出一個字符串。%:輸出一個%號%4d:輸出的數(shù)據(jù)長度是4個長度,當原來的長度大于4個時會自動突破。小于4個時會填充空格。%x.yf: x代表數(shù)制的寬度(包括小數(shù)點)。Y代表小數(shù)點后面的小數(shù)位數(shù)。注意事項:1.輸出比較自由一些,輸出有的各個數(shù)之到底是什么,取決于格式說明符之間的內(nèi)容。2.格式說明符要與輸出項一一對應(yīng)。3.輸出語句中還可以有 n r t a4.盡量不要在輸出語句中改變輸出變量的值。5.輸出的數(shù)據(jù)中如果存在變量,一定要定義過的。習(xí)題講解(13)閱讀以下程序 #include main() int case; float
26、printF; printf(“請輸入2個數(shù):”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %fn”,case,printF); 該程序編譯時產(chǎn)生錯誤,其出錯原因是( A ) A)定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標識符 B)定義語句出錯,printF不能用作用戶自定義標識符 C)定義語句無錯,scanf不能作為輸入函數(shù)使用 D)定義語句無錯,printf不能輸出case的值(16)有以下程序 #include main() int a=1,b=0; printf(“%d,”,b=a+b); printf(“%dn”
27、,a=2*b); 程序運行后的輸出結(jié)果是 ( D ) A)0,0 B)1,0 C)3,2 D)1,2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的輸出結(jié)果是 ( A )A)123.141593B)123.141593C)12,3.141593D)12 3.141593#include <stdio.h>main()double a=123.456;printf("%6.2f",a);輸入語句格式: scanf(格式控制,輸入項1,輸入項2,.);例如:想通過鍵盤輸入3個數(shù)分別給變量a,b,c
28、。并且他們分別為整型,浮點型,雙精度型。 輸入語句為scanf("%d%f%lf",&k,&a,&y);說明: 1.格式說明符與輸出語句一樣。 2.在格式串中,必須含有與輸入項一一對應(yīng)的格式轉(zhuǎn)換說明符。 3.在VC6.0的環(huán)境下,要收輸入的DOUBLE型數(shù)據(jù)的格式說明符一定要用%lf,否則數(shù)據(jù)不能正確的輸入4.由于輸入是一個字符流,所以當輸入的數(shù)據(jù)少于輸入項時,程序會等待用戶輸入,直到滿足要求。當輸入的數(shù)據(jù)多于輸入項時,多余的數(shù)據(jù)會自動作廢。例題:int x;x=11/3;int y=5;printf("%d,%dn",x,y);
29、 結(jié)果是:%d,%33.5 若變量已正確說明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是( D )A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c); D)scanf(“ %d%d%d”,&a,&b,&c);3.6 若變量已正確說明為float類型,要通過以下賦值語句給a賦予10、b賦予22、c賦予33,以下不正確的輸入形式是( A )A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33scanf(“ %
30、f %f %f” ,&a,&b,&c);復(fù)合語句:多個語句被括起來,當成一條語句來執(zhí)行??照Z句:最后的表示只有一個;程序舉例:1。編寫一個程序,從鍵盤上輸入兩個數(shù)字,讓后讓他們互換一下。#include<stdio.h>main()int a,b;printf("請輸入兩個數(shù)字:");scanf("%2d%3d",&a,&b);printf("qian:%d%d",a,b);int c;c=a,a=b,b=c;printf("后:%d%d",a,b);2。編寫程序
31、,對一個double型數(shù)據(jù)進行四舍五入運算。要求保留兩位有效小樹。123.4567123'4567*100=12345.6712345.67+0.5=12346.17(int)(12346.17)=1234612346/100=123.463。編寫程序,使從鍵盤中輸入的三位數(shù)倒著輸出。選擇題 3.1 若a、b、c、d、都是int類型變量且初值為0,以下選項中不正確的賦值語句是( C )A)a=b=c=d=100; B)d+; C)c+b; D)d=(c=22)-(b+);3.2 以下選項中不是C語句的是( C )A)int i; i+; printf(“%dn”,i); B); C)a
32、=5,c=10 D) ; 3.3 以下合法的C語言賦值語句是( D )A)a=b=58 B)k=int(a+b); C)a=58,b=58 D)-i;3.4 以下程序的輸出結(jié)果是( C )A)0 B)1 C)3 D)不確定的值 main( ) int x=10, y=3; printf(“%dn”,y=x/y); 3.5 若變量已正確說明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語句是( D )A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c); D)scanf(“ %d%d%d”,&am
33、p;a,&b,&c);3.6 若變量已正確說明為float類型,要通過以下賦值語句給a賦予10、b賦予22、c賦予33,以下不正確的輸入形式是( B )A)10 B)10.0,22.0,33.0 C)10.0 D)10 22 22 22.0 33.0 33 33 scanf(“ %f %f %f” ,&a,&b,&c);3.7 若變量已正確定義,要將a和b中的數(shù)進行交換,下面不正確的語句組是( C )A)a=a+b,b=a-b,a=a-b; B)t=a,a=b,b=t; C)a=t;t=b;b=a; D)t=b;b=a;a=t;3.8 若變量已正確定義,
34、以下程序段的輸出結(jié)果是( D )A) 輸出格式說明與輸出項不區(qū)配,輸出無定值 B)5.17C)5.168 D)5.169X=5.16894;Printf(“ %fn”,(int)(x*1000+0.5)/(float)1000);3.9 若有以下程序段,c3中的值是( A )A)0 B)1/2 C)0.5 D)1int c1=1,c2=2,c3;c3=c1/c2;3.10 若有以下程序段,其輸出結(jié)果是( B )A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3int a=0,b=0,c=0;c=(a-=a-5),(a=b,b+3); printf(“ %d,%d,%dn
35、”,a,b,c); 填空題3.21 若有以下定義,請寫出以下程序段中輸出語句執(zhí)行后的輸出結(jié)果。(1)-200,2500(2)i=-200,j=500 (3)i=-200 回車 j=2500int i=-200,j=2500;printf(“ (1) %d %d”,i,j);printf(“ (2) i=%d,j=%dn” ,i,j);printf(“ (3) i=%dn j=%dn”,i,j);3.22 變量i、j、k已定義為int類型并有初值0,用以下語句進行輸入時scanf(“ %d”,&I); scanf(“ %d”,&j); scanf(“ %d” ,&k);當
36、執(zhí)行第一個輸入語句,從鍵盤輸入:12.3<CR> <CR>表示Enter鍵則變量i、j、k的值分別是_12_、_0_、_0_。3.23 復(fù)合語句在語法上被認為是 一條語名??照Z句的形式是 ;3.24 C語句的最后用 ;結(jié)束。3.25 以下程序段,要求通過scanf語句給變量賦值,然后輸出變量的值。寫出運行時給k輸入100,給a輸入25.81,給x輸入1.89234 時的三種可能的輸入形式_、_、_。int k; float a; double x; scanf(“ %d%f%lf”,&k,&a,&x);pirntf(“ k=%d,a=%f,x=%
37、fn”,k,a,x);編程題和改錯題3.29 以下程序多處有錯。要按下面指定的形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時,請對該程序做相應(yīng)的修改。maindouble a,b,c,s,v;printf(input a,b,c:n);scanf(“%d%d%d”,a,b,c);s=a*b; /*計算長方形面積*/v=a*b*c; /*計算長方體體積*/printf(“%d %d %d”,a,b,c);printf(“s=%fn”,s,”v=%dn”,v);當程序執(zhí)行時,屏幕的顯示和要求輸入形式如下: input a,b,c:2.0 2.0 3.0 此處的2.0 2.0 3.0是用戶輸入的數(shù)據(jù) a=2.000000
38、,b=2.000000,c=3.000000 此處是要求的輸出形式 s=4.000000,v=12.0000003.30 編寫程序,把560分鐘換算成用小時和分鐘表示,然后進行輸出。3.31 編寫程序,輸入兩個整數(shù):1500和350,求出它們的商數(shù)和余數(shù)并進行輸出。3.32 編寫程序,讀入三個雙精度數(shù),求它們的平均值并保留此平均值小數(shù)后一位數(shù),對小數(shù)點后第二位數(shù)進行四舍五入,最后輸出結(jié)果。3.33 編寫程序,讀入三個整數(shù)給a、b、c,然后交換它們中的數(shù),把a中原來的值給b,把b中原來的值給c, 把c中原來的值給 a。第四課:C語言的程序結(jié)構(gòu)4-1節(jié)、關(guān)系運算與邏輯運算一、簡介 關(guān)系表達式與邏輯
39、表達式的運算結(jié)果都會得到一個邏輯值。就是“真”、“假” 在C語言中0表示“假”,非0(無論是負數(shù)還是正數(shù)都是真,更多時候用1來代替)表示“真”。二、幾個簡單的關(guān)系運算符 < <= > >= = != 注意: 1,由兩個字符組成的運算符,中間不能有空格 2,它們都是雙目運算符,具有自左至右的結(jié)合性。 3,上面的6個運算符中,前4個的優(yōu)先級要比后2個的優(yōu)先級要高。先計算,后判斷,最后進行賦值運算。三、幾個簡單的邏輯運算符 && 與 一假則假 | 或 一真則真 ! 非 非假則真,非真則假 1&&2=1 0&&6=0 int a=
40、4 ,b=7; a&&7=1int x=0,y=7; x+&&y+ ?x= 1 y= 7 +x&&y+ ?x=1 y=8同樣放在|中也是一樣的。4-2、4-3節(jié)、 if語句一、定義: 只有兩種結(jié)果。要么執(zhí)行這條語句,要么執(zhí)行那條語句。 if(條件表達式) 上述條件成立執(zhí)行的句子 else 上述條件不成立執(zhí)行的句子如: if(成績>60) 顯示及格 else 顯示不及格二、分類 1.不含有else的語句 if(表達式) 語句 if(a<b) t=a; a=b; b=t; 2.含有else語句 if(條件) 語句1; else 語句2;
41、語句3; 注: 1.沒有分號 2.控制的是與if或者else緊臨的“一條”語句。if(a<b) printf("%d",b);elseprintf("%d",a);if(a%3=0) yeselse no4-4節(jié)、結(jié)合一個例題來給大家分析if的嵌套輸入一個學(xué)生的成績,評定他的等級。每十分一個等級if()elseif()elseif()else if(a>=90) printf("a");elseif(a>=80) printf("b");elseif(a>=70) printf("
42、c");elseif(a>=60) printf("d");else printf("e");4-5、節(jié)7)設(shè)有定義:int a=1,b=2,c=3;,以下語句中執(zhí)行效果與其它三個不同的是 ( C ) A)if(a>b) c=a,a=b,b=c; B)if(a>b) c=a,a=b,b=c; C)if(a>b) c=a;a=b;b=c; D)if(a>b) c=a;a=b;b=c;(18)有以下程序應(yīng)該選( B )#include <stdio.h>main()int x;scanf(“%d”,&
43、;x);if(x<=3 ; elseif(x!=10)printf(“%dn”,x);程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果A)不等于10的整數(shù)B)大于3且不等于10的整數(shù)C)大于3或等于10的整數(shù)D)小于3的整數(shù)(19)有以下程序 ( C)#include<stdio.h>Main()int a=1,b=2,c=3,d=0;if(a= =1 &&b+= =2)if(b!=2 | c-!=3)printf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a,b,c);else printf(“%d,%d,%dn”,a
44、,b,c);程序運行后的輸出結(jié)果是A)1,2,3B)1,3,2C)1,3,3D)3,2,14-6節(jié)、條件表達式 是C語言中唯一的一個三目運算。格式 :表達式1?表達式2:表達式3 當1成立(非零時)時,表達 式的值就是2的值,否則就是3的值。如: 1.1<2?4:5 2.printf("%d",x<0?(-1)*+x:x+); (假定X的值為-3) 3.+X>3?(x<3?a:b):b4-7節(jié)、switch語句(一)switch(表達式) case 常量表達 式1:語句1case 常量表達 式2:語句2case 常量表達 式3:語句3case 常量表
45、達 式4:語句4case 常量表達 式5:語句5。case 常量表達 式N:語句N4-8節(jié)、switch語句(二)switch(A/10) case 10:printf("A"); case 9:printf("A"); case 8;printf("b"); case 7;printf("c"); case 6;printf("d"); default :printf("e");4-9節(jié)-4-15節(jié)、選擇題4.1 下列運算符中優(yōu)先級最高的運算符是( A )A)! B)% C
46、)-= D)&&4.2 下列運算符中優(yōu)先級最低的運算符是 ( A )A)| B)!= C) <= D)+4.3 為表示關(guān)系x>=y>=z, 應(yīng)使用的C語言表達式是 ( A )A) (x>=y)&&(y>=z) B) (x>=y)AND (y>=z)C) (x>=y>=z) D) (x>=y)&(y>=z)4.4 設(shè) a、b 和c 都是int 型變量,且a =3,b=4, c=5;則以下的表達式中,值為0的表達式是 ( D )A) a&&b B)a<=b C)a|b+c
47、&&b-c D)!(a<b)&&!c|1)4.5 以下程序的輸出結(jié)果是:( C )A) 0 B)1 C)2 D)3main() int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c+=1; printf(“%dn”,c);4.6 以下程序的輸出結(jié)果是:( A )A) 1 B) 2 C) 3 D) 4main() int w=4,x=3,y=2,z=1; printf(“%dn”,(w<x?w:z<y?z:x);4.7 若執(zhí)行以下程序時從鍵盤上輸入3和4,則輸出結(jié)果是( B ) A)14 B)
48、16 C)18 D)20 main() int a, b,s; scanf(“%d%d”,&a,&b); s=a; if (a<b) s=b; s*=s; printf(“%dn”,s);4.9 運行以下程序后,輸出( D ) A)# B)&&&&C)#&&&& D)有語法錯誤不能通過編譯 main() int k=-3;if (k<=0) printf(“*n”); else printf(“&&&&n”); 4.10 若a和b均是正整數(shù)型變量,以下正確的switch語句是 ( A )A) switch ( pow(a,2)+pow(b,2) (注:調(diào)用求冪的數(shù)學(xué)函數(shù)) case 1: case 3: y=a+b; break ; case 0: case 5: y=a-b; B) switch (a*a+b*b); case 3: case 1: y=a+b; break
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 珍稀動物養(yǎng)殖租賃協(xié)議
- 企業(yè)定制房產(chǎn)合同范本
- 咖啡館地坪施工協(xié)議
- 智能家居電工招聘合同樣本
- 八年級道德與法治開學(xué)摸底考試卷(山東濟南卷)(答題卡)A4版
- 佛山市辦公寫字樓租賃合同樣本
- 商務(wù)接待公寓租賃合同模板
- 研發(fā)工程師聘用合同
- 研究所墻地磚鋪設(shè)合同
- 雙方終止租房合同范例
- 質(zhì)量保證體系范文(必備14篇)
- 500強餐廳食品第二保質(zhì)期標準對照表
- 股權(quán)投資基金知識-課件
- 人工智能基礎(chǔ)與應(yīng)用課件
- 兒科運用PDCA循環(huán)改進提高病歷書寫質(zhì)量
- 聽神經(jīng)瘤講課課件
- 2022-2023學(xué)年廣州市南沙區(qū)小升初全真模擬數(shù)學(xué)檢測卷含答案
- 2023年食品安全糧食類理論知識考試題庫(含答案)
- 第六講 以新發(fā)展理念引領(lǐng)高質(zhì)量發(fā)展PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 會議記錄格式及范文電子版(24篇)
- 人教版五年級上冊數(shù)學(xué)《可能性》作業(yè)設(shè)計
評論
0/150
提交評論