考試科目代碼:[833]
考試科目名稱:C程序設計
一、考試目標
通過對本課程的學習,使學生初步具備分析問題、解決問題的能力,養成良好的程序設計風格,積累和提高基本的程序設計能力及結構化程序設計基本思想。提高程序設計和調試的技能。為后續課程的學習打下良好的基礎。
二、考試結構
(一)考試時間:180分鐘,滿分:150分
(二)題型結構
1. 選擇(40分,20題,每題2 分),
2. 閱讀程序、寫出程序的運行結果(30分,5題,每題6分),
3. 閱讀程序、請在畫線處填上代碼(30分,3題程序代碼 )
4. 編程題(50分,4題,1~2題每題10分,3~4題每題15分)
三、答題方式
答題方式為閉卷筆試。
四、考試內容
(一)數據類型、運算符與表達式,10%(15分)
考試內容:數據的存儲與基本數據類型;常量與變量;數據的輸入與輸出;類型轉換;表達式。
考試要求:
(1) 掌握基本數據類型(整型、實型、字符型)的常量和變量的說明方式,定義于基本數據類型之上的各種運算。
(2) 掌握表達式(算術、賦值、關系、邏輯、條件、逗號、位運算)中各種運算的優先級及結合方向。
(3) 掌握數據的存儲和類型轉換。
(二)分支結構程序設計,10%(15分)
考試內容:字符類型;分支結構程序設計;switch語句;
考試要求:
(1)掌握邏輯表達式及應用
(2)掌握雙路選擇語句(if語句):if語句的形式,if語句的嵌套
(3)掌握 switch語句的正確使用以及case、break的結合應用
(4)編程基本要求:分段函數、四則運算、成績轉換、統計字符和數字個數。
(三)循環結構程序設計,10% (15分)
考試內容:for循環、while循環、do while循環、break與continue、嵌套結構的循環
考試要求:
(1) 主要考查考生循環語句的合理使用;多重循環程序設計;
(2) 掌握循環結束條件、循環控制變量的使用;指定循環的提前結束方法
(3)主要涉及的程序算法有:求階層、求和、級數計算、判斷素數、判斷回文、猜數游戲、求多項式、找最大數和最小數、窮舉算法(枚舉法)、 完數、最大公約數和最小公倍數、兔子繁衍問題、求組合數列、打印各種圖案等。
(四)數組程序設計,20%(30分)
考試內容:一維數組、二維數組、字符數組和字符串操作。
考試要求:
(1)一維數組的概念與應用;二維數組和字符數組的概念與應用;字符串的基本操作
(2)編程基本要求: 數值排序和字符串排序(選擇、冒泡序);矩陣操作(加、減、乘);字符串操作(拷貝、追加、連接、求字符串的長度等); 查找(順序查找、二分查找); 進制的轉換等。
(五)函數程序設計,20%(30分)
考試內容:函數的定義和調用方法;常見變量與函數的關系及其作用范圍和生命周期;遞歸函數;宏定義。
考試要求:
(1)掌握函數的定義與聲明方法
(2)掌握函數的調用方法與參數傳遞方式
(3)掌握變量與函數的關系;幾種常用變量(局部變量、全局變量以及靜態局部變量)的作用范圍和生命周期。
(4)掌握函數的嵌套調用和遞歸調用。
(5)編程基本要求: 能編寫用戶自定義函數;能用遞歸函數實現求階層、求和、最大公約數、Fabonacci數列等。
(六)指針10%(15分)
考試內容:指針的基本概念;指針變量及基本運算指針作為函數參數; 指針與數組;指針與字符串;函數指針與指針函數、指針數組與數組指針。
考試要求:
(1)掌握指針的基本概念
(2)掌握指針變量的定義、初始化和使用
(3)掌握指針變量的基本運算
(4)掌握指針作為函數參數的作用和方法
(5)理解指針與數組地址的關系,掌握使用指針變量對數組元素進行操作的方法
(6)掌握數組名作為函數參數的方法以及冒泡排序法
(7) 掌握常用字符串函數以及使用指針操作字符串的方法
(七)、結構體、共用體和枚舉類型,10%(15分)
考試內容:結構體和共用體的概念與定義;結構體變量的定義和使用;結構體數組和結構體指針。
考試要求:
(1)掌握結構類型的概念、定義及元素的引用
(2)掌握結構數組的應用
(3)掌握結構指針的基本概念與使用
(4)編程基本要求,能對n個學生的記錄(例如:學號、姓名、成績)進入錄入、修改、插入、統計、排序。
(八)文件,10%(15分)
考試內容:C語言文件的概念;文件的打開與關閉;文件的讀寫操作
考試要求:
(1) 掌握文本文件與二進制文件的區別
(2) 掌握文本文件的打開與關閉方式(fopen()和fclose()函數)
(3)掌握文本文件的基本讀/寫操作(fputc函數和fgetc函數、fprintf函數和fscanf函數、fread函數和fwrite函數)
(4)編程基本要求:能實現文件的拷貝、追加。從文件中讀取數據并顯示。
五、 主要參考書目
何欽銘、顏暉,《C語言程序設計》(第二版),高等教育出版社。