程序設計基礎期末復習_第1頁
程序設計基礎期末復習_第2頁
程序設計基礎期末復習_第3頁
程序設計基礎期末復習_第4頁
程序設計基礎期末復習_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、程序設計基礎期末復習考試題型和分值。一、單選題 (20 小題,每題 2 分) 二、填空題(共 20 題,計 20 分)三、編程填空題 ( 給出程序的輸出結果,共 5 題,14 分) 四、讀程序題 ( 補充程序,共 2 小題,共 26 分 )程序練習:1.輸出110之間所有的偶數(shù)和它們的平方。輸出所有的水仙花數(shù)。從鍵盤輸入一行字符,統(tǒng)計其中有多少個單詞。假設單詞之 間是以空格分開。編程先由計算機“想”一個 1100 之間的數(shù)請人猜, 如果人2.3.4.猜對了,則結束游戲,并在屏幕上輸出人猜了多少次才猜對此數(shù),以此 來反映猜數(shù)者“猜”的水平;否則計算機給出提示,告訴人所猜的數(shù)是太 大還是太小,直到

2、人猜對為止。5. 編寫程序, 要求在 main 函數(shù)接受一個整型變量, 將其作為參 數(shù)傳入 IsPrime 函數(shù)中, IsPrime 函數(shù)根據(jù)傳入的值確定返回 值,如果 <2,返回 0;如果不是素數(shù),返回 1;如果是素數(shù), 返回 2。主函數(shù)根據(jù)返回值輸出相應的提示信息: 輸入不合法, 不是素數(shù),是素數(shù)。6編寫程序:給學生出一道加法運算題,然后判斷學生輸入的答案對錯與否。通過輸入兩個加數(shù)給學生出一道加法運算題,如果輸入答案正確,則顯示“ Right! ”,否則提示重做,顯示Not correct! Try again!”,重復要求輸入答案,直到輸入結果正確,程序結束。要求:用Add函數(shù)來進

3、行兩個整數(shù)的加法運算;用 Print函數(shù)判斷輸入的答案正確與否;用 main 函數(shù)輸入兩個相加的數(shù)和學生的答案,然后調用 Add 函數(shù)和 Print 函數(shù)判進行判斷和顯示輸出。7. 利用指針編寫兩個整數(shù)交換的函數(shù)。8. 從 10 個元素的數(shù)組中找出最大值和最小值,并記錄最大值和最小值對應的元素的下標位置。9. 給定 10 個數(shù),按照要求進行排序并輸出排序的結果。 程序設計 ABC1. 程序運行的方式分為哪兩種? (編譯運行和解釋運行) 2 . 什么叫編譯器,其功能是什么?(把程序設計語言轉換成目 標代碼的軟件稱為編譯器)數(shù)據(jù)類型、運算符與表達式1. C 程序的特點 ?函數(shù)是 C 程序的基本單位

4、。一個 C 程序有且僅有一個 main 函數(shù)(主函數(shù)),總是從 main 函數(shù)開始執(zhí)行,在 main 函數(shù)中結束,與其位置無關; 函數(shù)由函數(shù)頭和函數(shù)體組成C程序的書寫格式:C語句都以分號結束;允許一行多句,但最好一行一句并按照鋸齒形 (縮進式) 書寫,提高可讀性 和可測試性; 適當使用注釋 (注釋中的語句不參與編譯, 能發(fā)現(xiàn)其中的拼寫錯誤) 。2. C 語言標識符的命名規(guī)則,會判斷哪些是合法的哪些不合法。3.如何判斷表達式的數(shù)據(jù)類型?(取高精度的)4.常量:程序運行過程中其值不變的量。實型常量的表示。分為十進制小數(shù)( 123.45 、-0.5 、.98 、 18.均合法)和指數(shù)形式(1e-2、

5、4.5e3、3.e2 > .8e-5 均 合法, e3 、2e3.5 、.e3 不合法)。字符常量的表示。除了轉義字符外單引號中僅有一個字符X 'X' “X” XY' )、轉義字符。 ( n ' 表示一個字符 )( P23)5.字符串常量。雙引o號。注意與字符常量的區(qū)別)6.宏常量。如何聲明一個宏常量?例如: #define PI 3.14159#define A(x) 3*x*x -2printf( “%d”, A(1+3);結果?7. 變量:程序運行過程中其值可以改變的量。變量的聲明與初始化。遵循“先定義、后使用”。變量名由用戶定義的標識符。變量的屬性

6、:變量名、變量類型、變量的值、變量的存儲單 元地址使用變量注意的問題8. 常用運算符及表達式。不能給表達式賦值。例如: x+y=3優(yōu)先級和結合性。算術運算符。 ( 1)兩個整數(shù)相除結果為整數(shù)。 6/4=1(2) 有一個操作數(shù)為實數(shù), 結果為 double 型。6./4=1.5 (3) 求余運算的兩個操作數(shù)必須為整數(shù)。將算術表達式轉換為 C 語言表達式。(常見錯誤 P34)例如: 3 < x < 4 ”或” x < -5關系運算符。 ,=,=關系運算符運算+ 2出的結果為 0 和非 0)(常見錯誤見 P35) 邏輯運算符。邏輯運算符兩側的運算對象可以是任意合法的表達式。&

7、;&(同真為真,否則為假。 )、 |有一個為真結果為真,同假為假)a 的值不變)例如:判斷是否為字母;例如: 當 a=1,b=2,c=3,x=4,y=3時 !b<a && a != c |x+y <=3 的值?語句 while(!E)中的條件 !E 等價條件是: E=0會將自然語言翻譯成邏輯、關系表達式。例如:收入(in come)大于5000并且小于10000賦值運算符。左邊只能是變量。復合運算符,例如:n *= m三目運算符: w < x ? w : y增量( + + )和減量(一一)運算符。注意前置和后置運算:若單獨一個增量或減量運算符,則相當于

8、執(zhí)行加 1 或減 1操作,若用在復合語句中就有區(qū)別。m = n+ ;m= +n ; printf(“ d”, n); printf(“ d”,n);9. 類型轉換。 不會自動進行四舍五入; 將取值范圍小的類型轉為范圍大的類型是安全的。反之是不安全的。注意表達式賦值后的類型轉換例如: int x1 = 1, x2 = 2, x3 =3;x3 = 1.0/x2*x1;結果是什么類型?簡單的 C 程序設計1.表達式和表達式語句的區(qū)別。2.字符輸入 / 輸出。字符輸出函數(shù) putchar(ch) :向終端顯示屏幕輸出一個字符 ch。字符輸入函數(shù) getchar (),使用格式:變量=getchar功能

9、:從鍵盤輸入一個字符,按回車表示輸入結束,函數(shù)值為從輸入設備接收的字符。3.格式輸入 / 輸出。scanf :不要忘記 &符號;多個變量輸入值之間的符號;特 別要注意類型的匹配;忽略修飾符等。 (具體見書)printf :注意類型匹配;域寬、精度等。 (具體見書 3)4. 要能夠判斷程序的錯誤。 (如變量、常量的聲明、輸入輸出格式等問題)。程序的控制結構1什么是算法?什么是程序?算法的五個特性是什么?程序:是為解決某一問題而用特定的計算機語言編寫的, 用以指揮計算機完成預定功能的一系列計算機指令; 算法是程序處理問題的步驟和方法; 算法的特性:有窮性、確定性、有效性、沒有輸入或多個 輸

10、入、有一個或多個輸出。 (要清楚各個特性的含義)2程序的三種基本結構。3邏輯運算符和關系運算符的使用。4選擇結構。if形式、ifelse形式、 ifelse嵌套形式、switch 多路開關特別注意括號的使用、 else 與 if配對問題、關系判斷使用=、浮點數(shù)不能進行=比較。使用條件語句應注意以下問題:是否需要包含相等的情況。表達相當?shù)年P系使用的是=,不要把if(a=b) 寫成 if(a=b) 。例如:int x = 2, y=3, z = 4;if( x = y)printf(%dn”,z);elseprintf(%dn”,y);對于float 變量,由于存在精度問題,所以要避免使用“”或“

11、!=”進行數(shù)字比較??梢栽O法轉換成“ >=”或“ <=”形式。語句嵌套結構中if 與 else 的配對!if 和 else 配對原則:缺省 時, else 總是和它上 面離它最近的未配對的 if 配對。實現(xiàn) if else 正確配對方法:加 。switch 多路開關:switch( 表達式 )case 常量 1:表達式需為整型、字符型或枚舉型。各常量表達式的值必須互不相同; 需用 break 跳出; case 后可包含多個可執(zhí)行語句,且不必加 ; switch 可嵌套,多個 case 可共用一組執(zhí)行語句;default 可以省略,但建議使用。例如: i=0;while(i <

12、 3)switch(i)case 0: printf(%d”,i);case 2: printf(%d”,i);default: printf(%d”,i);i+;4. 循環(huán)結構。循環(huán)的三種形式以及語法。循環(huán)的要素:循環(huán)入口、重復執(zhí)行的內容、循環(huán)測試、終 止條件、循環(huán)退出。注意:在 for 和 while 語句之后一般沒有分號, do-while 的while 后必須有分號。循環(huán)體有多條語句必須用 括起來。有分號表示循環(huán)體就是分號之前的內容(空循環(huán)體)i);while (i < 100);i+;for(i = 1; ifor (i = 0; i < 100; i+);< 5;

13、 i += 2)printf("%d",printf("%d", i);選擇循環(huán)的一般原則如果循環(huán)次數(shù)已知,用for ;如果循環(huán)次數(shù)未知,用while ;如果循環(huán)體至少要執(zhí)行一次,用do-while 。x+;循環(huán)的嵌套:外層、內層循環(huán)的次數(shù)。例如:main()int i, x = 0;for (i = 2; i < 5; i+)doif ( i%3)continue;while( !i);x+;printf( “x=%dn” ,x);流程的轉移控制:break 語句:可以用在 switch 結構中,終止當前 case ; 可以用在循環(huán)結構中,退出當

14、前所在的循環(huán)。continue 語句:用于循環(huán)結構中,中斷此次循環(huán)體的執(zhí)行,也就是停止 continue 語句后面的內容,開始下一次。第三章 函數(shù)1.熟悉一些簡單的數(shù)學庫函數(shù)。2.函數(shù)的定義。函數(shù)定義的語法。函數(shù)名”是函數(shù)的唯一標識,其命名規(guī)則與命名雷同。函數(shù)不能嵌套定義,可以嵌套調用。函數(shù)頭和函數(shù)體之間不能有分號。3.函數(shù)原型,也叫函數(shù)聲明。函數(shù)原型就是不帶函數(shù)體的函數(shù)聲明; 函數(shù)原型就是函數(shù)頭加分號; 函數(shù)原型必須放在調用者之前,通常放在 main 函數(shù)之前;函數(shù)原型和函數(shù)定義中的函數(shù)返回類型、函數(shù)名和形參數(shù) 表(形參的個數(shù)、類型、位置)必須完全一致,否則,編 譯器會報告有編譯錯誤。4.

15、函數(shù)參數(shù)。 形參:子函數(shù)(被調函數(shù))內部準備接受數(shù)據(jù)的參數(shù)叫形 參。形參必須指定類型。形參在函數(shù)被調用前不占內存; 函數(shù)調用時為形參分配內存;調用結束,內存釋放。 實參:調用者提供的參數(shù)叫實參,實參是實際參與運算的 數(shù)據(jù)。實參必須有確定的值。5. 函數(shù)調用。 調用函數(shù)將實參的值傳給(賦值)被調函數(shù)的形參,此時 實參和形參就有各自的存儲空間,所以形參值的變化不會 影響實參。函數(shù)調用時,調用者提供的參數(shù)個數(shù)、類型、順序應與子 函數(shù)聲明、定義時相同。有返回值調用。 放到一個數(shù)值表達式中, 如 c = max(a, b); 作為另一個函數(shù)調用的參數(shù),如 c = max( max(a,b) ,c); p

16、rintf("%dn", max(a,b) );例如:int fun(int n)return (n/3);main()int x,y;scanf( “ %d” ,&x);y = fun(fun(fun(x);printf( “%dn”,y); / 結果: 45無返回值函數(shù)的調用 函數(shù)調用表達式,單獨一行使用,如 display(a, b); 函數(shù)的遞歸調用。例如:int fun(int n) int m;if ( n = 0 | n = 1)return 1;m = n -fun(n -2);return m;main() printf("%dn&quo

17、t;, fun(5);6. 函數(shù)的返回值。 函數(shù)返回值的類型最終取決于函數(shù)定義時函數(shù)首部所說明 的函數(shù)類型 返回值只有一個,可以是除了數(shù)組之外的任何類型,也可 以是 void 類型;有返回值函數(shù)必須有 return 語句,無返回值函數(shù)不要求有 return 語句。7. 變量的作用域。作用域是指在源程序中定義變量的位置及其能被讀寫訪問 的范圍。變量作用域規(guī)則:每個變量僅在定義它的語句塊(包含下 級語句塊)內有效,并且擁有自己的內存空間。 同一個語句塊內不能定義同名變量。 (不同的函數(shù)中可以使 用相同名字的變量)8. 局部變量 在語句塊內定義的變量 形參也是局部變量 定義時不會自動初始化,除非程序

18、員指定初值。 進入語句塊時獲得內存,僅能由語句塊內語句訪問,退出 語句塊時釋放內存,不再有效。 (函數(shù)退出后失效,再次 進入函數(shù),變量值重新初始化。 ) 并列語句塊各自定義的同名變量互不干擾9. 全局變量 在所有函數(shù)之外定義的變量。 在程序中定義它的位置以后都有效; 從程序運行起即占據(jù)內存,程序運行過程中可隨時訪問, 程序退出時釋放內存; 使函數(shù)之間的數(shù)據(jù)交換更容易,也更高效。 因為誰都可以改寫全局變量,所以很難確定是誰改寫了 它。10. 靜態(tài)變量 在變量類型前面用 static 修飾; 變量的值可以保存到下次進入函數(shù), 使函數(shù)具有記憶功能。 靜態(tài)變量和全局變量都是靜態(tài)存儲類型 若沒有被初始化

19、,則自動被初始化為 0; 從靜態(tài)存儲區(qū)分配,生存期為整個程序運行期間。數(shù)組1. 數(shù)組的定義和初始化數(shù)組的概念:由若干類型相同的相關數(shù)據(jù)按順序存儲在一起形成的一組同類型有序數(shù)據(jù)的集合,稱為數(shù)組。什么是數(shù)組元素?什么是下標?下標的取值是多少 (下界、上界)?什么是維數(shù)?定義數(shù)組的大小必須使用整型常量或者整型常量表達式, 不允許使用變量。數(shù)組大小最好用宏來定義,以適應未來 可能的變化。C語言的數(shù)組在內存中是按行存放的。二維數(shù)組的數(shù)組元素的存放順序是也是按行存放。數(shù)組占用的內存空間如何計算? 數(shù)組定義后的初值仍是隨機數(shù),一般需我們來初始化。int a5 = 12, 34, 56 ,78 ,9 ;int

20、 a5 = 0 ;int a5 = 1,2; 是怎樣賦值的?int a = 11, 22, 33, 44, 55 ;int a4 = 0,0;int a34;/ 第 5個元素是誰?行下標范圍?列下標范圍?int a34 = 1,2,0,4,5,8.10/a23值?2. 向函數(shù)傳遞一維數(shù)組。用數(shù)組名作參數(shù),就是將數(shù)組的首地址傳遞給函數(shù)。 實參數(shù)組與形參數(shù)組占用同一段內存。 若在被調函數(shù)中改變形參數(shù)組元素的值,則實參數(shù)組元素 的值也會隨之發(fā)生改變,這是由于形參和實參兩數(shù)組在內 存中因指向統(tǒng)一地址而共享這一段內存造成的。 對形參數(shù)組進行說明時,在方括號內可以給出數(shù)組的長度 說明,即說明為固定長度數(shù)組

21、,也可以不給出數(shù)組的長度 說明,即說明為可變長度數(shù)組,一般此時用另一個整型參 數(shù)來給定數(shù)組長度。3. 字符串一串以 0'結尾的字符在C語言中被看作字符串。用雙引號括起的一串字符是字符串常量,C語言自動為其添加 0 '終結符。C語言并沒有為字符串提供任何專門的表示法,完全使用字o號。符數(shù)組(一維數(shù)組)和字符指針來處理。 要區(qū)分字符和字符串的概念。 不要用錯了單引號和雙引4. 字符數(shù)組 每個元素都是字符類型的數(shù)組。 初始化:可以采用逐個字符進行初始化(若沒有' 0 ', 僅僅是字符數(shù)組, 不能把它當作字符串來處理) ;也可以采 用字符串常量賦值。 一個字符型的一維數(shù)

22、組并不一定是一個字符串,只有當字 符型一維數(shù)組中的最后一個元為' 0 ',它才構成字符串。 用字符型數(shù)據(jù)對數(shù)組進行初始化 ehar str6 = 'C','h','i','n','a','0' 用字符串常量直接對數(shù)組初始化 ehar str6 = "China" ehar str6 = "China"Char str =“ ehina ” ;ehar str5 =“China”;Sunday” , ”Monday”, ”tuesdayFrida

23、y ”, ” Saturday ”;Sunday” , ”Monday” , ”tuesday ”ehar weekday710= ”, ”Wednesdat” ” Thursday ”, ” ehar weekday 10= , ”Wednesdat” ,”Thursday ”, ”Friday ”, ”Saturday ” ; 字符數(shù)組的輸入和輸出: 按 e 格式一個字符一個字符地單獨輸入 / 輸出 :%e (需 要用到循環(huán)結構) 按 s 格式符將字符串作為一個整體輸入 / 輸出 :%s ehar str10;seanf( “%s”,str);printf(“%s”, str);字符數(shù)組名本身代表該數(shù)組存放的字符串的首地址,故用seanf的 s格式輸入字符串時,字符數(shù)組名的前面不能再加取地址運算符,其后也不需要用方括號指明下標。輸入字符串時應確保輸入的字符串長度不超過數(shù)組所能容納的空間大小。 空格、回車或跳格符(Tab)作為按 s格式輸 入字符串的分隔符, 因而不能被讀入, 輸入遇到這些字符時, 系統(tǒng)認為字符串輸入結束。用字符串處理函數(shù) gets() 或 puts() 輸入 / 輸出一個字符 串。字符串處理函數(shù)。 <string.h>china ”字符串復制 strcpy (字符數(shù)

溫馨提示

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

最新文檔

評論

0/150

提交評論