第一部分:C 語言程序設(shè)計
I.課程簡介
一、內(nèi)容概述與要求
C 語言程序設(shè)計課程考試是為招收計算機類相關(guān)專業(yè)??粕究茖W(xué)生而實施的入學(xué)考試。
參加C 語言程序設(shè)計課程考試的考生應(yīng)理解 C 程序的基本構(gòu)成、C 程序中的數(shù)據(jù)類型及其運算、 結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu) (順序、選擇、循環(huán)) 、數(shù)組、函數(shù); 了解編譯預(yù)處理命令、指針、 結(jié)構(gòu)體與共用體、位運算等知識模塊所涉及的基本概念、語法規(guī)范;掌握運用以上語法知識進行結(jié)構(gòu) 化程序設(shè)計的基本方法;熟悉程序設(shè)計中簡單的數(shù)據(jù)結(jié)構(gòu)和算法,具有一定的分析和編寫簡單 C 程序 的能力,以及基本的糾錯和調(diào)試程序的能力??忌鷳?yīng)具有規(guī)范的結(jié)構(gòu)化編程思維,能夠綜合運用所學(xué) 知識分析并解決簡單的實際問題。
C 語言程序設(shè)計課程考試從兩個層次對考生進行測試,較高層次的要求為“理解”和“掌握” ,較低 層次的要求為“了解”和“會” 。這里“理解”和“了解”是指對概念與理論提出的要求?!罢莆铡焙汀皶笔侵?/p>
對使用方法、應(yīng)用能力提出的要求。
二、考試形式與試卷結(jié)構(gòu)
考試采用閉卷、筆試形式,全卷滿分為 150 分,考試時間為 75 分鐘。
試卷包括選擇題、程序閱讀題、程序填空題和編程題。選擇題是四選一型的單項選擇題;程序閱 讀題、程序填空題只要求直接填寫結(jié)果;編程題應(yīng)寫出完整的程序代碼,要求符合 C 語言的語法規(guī)范。
選擇題和程序閱讀題分值合計為 70 分,程序填空題和編程題分值合計為 80 分。
II.知識要點與考核要求
一、C 語言程序的結(jié)構(gòu)
( 一) 知識范圍
C 語言程序的基本構(gòu)成;頭文件、函數(shù)構(gòu)成以及程序中的注釋;C 程序的執(zhí)行過程;源程序的書 寫格式。
(二) 考核要求
1. 理解 C 程序的基本結(jié)構(gòu)及執(zhí)行過程。
2. 理解 C 程序中頭文件、注釋等概念,會在程序中正確使用文件包含命令以及添加注釋。
3. 理解 C 函數(shù)的構(gòu)成形式。
4. 了解 C 程序源代碼的書寫格式。
二、數(shù)據(jù)類型及其運算
( 一) 知識范圍
C 語言的基本數(shù)據(jù)類型 (整型、浮點型、字符型) 及其表示方法;常量與變量的使用;運算符的 種類、運算優(yōu)先級和結(jié)合性;常用表達式 (賦值表達式、算術(shù)表達式、關(guān)系表達式、邏輯表達式、條 件表達式、逗號表達式)的語法表示及其求值規(guī)則;不同類型數(shù)據(jù)間的轉(zhuǎn)換與運算。
(二) 考核要求
1. 掌握 C 語言的基本數(shù)據(jù)類型,了解不同數(shù)據(jù)類型常量的表示方法。
2. 掌握變量的定義、初始化和引用的基本方法。
3. 在編程中會根據(jù)需要合理確定常量與變量的類型并正確使用。
4. 理解各種運算符的優(yōu)先級和結(jié)合性,掌握其構(gòu)成表達式的語法表示和運算規(guī)則,會正確計算 表達式的值,會根據(jù)需要書寫正確的C 表達式。
5. 了解表達式中不同類型數(shù)據(jù)間的自動轉(zhuǎn)換規(guī)則,掌握強制類型轉(zhuǎn)換的使用方法。
三、順序結(jié)構(gòu)程序設(shè)計
( 一) 知識范圍
C 語言中的基本語句 (表達式語句、空語句、復(fù)合語句);字符數(shù)據(jù)的輸入與輸出;數(shù)據(jù)的格式 輸入與輸出;順序結(jié)構(gòu)程序設(shè)計方法。
(二) 考核要求
1. 了解 C 程序中常用的基本語句形式。
2. 掌握使用 getchar()和 putchar()標(biāo)準(zhǔn)庫函數(shù)實現(xiàn)字符數(shù)據(jù)輸入與輸出的方法。
3. 掌握使用 scanf()和 printf()標(biāo)準(zhǔn)函數(shù)實現(xiàn)不同類型數(shù)據(jù)的格式輸入與輸出的方法,在編程中會 根據(jù)需要正確輸入數(shù)據(jù)并合理設(shè)計輸出格式。
4. 掌握使用順序結(jié)構(gòu)設(shè)計簡單 C 程序的基本方法。
四、選擇結(jié)構(gòu)程序設(shè)計
( 一) 知識范圍
if 語句 (if 單分支、if-else 雙分支、else-if 嵌套);switch 語句;break 語句;選擇結(jié)構(gòu)的嵌套;選 擇結(jié)構(gòu)程序設(shè)計方法。
(二) 考核要求
1. 理解三種if 語句的語法結(jié)構(gòu),掌握使用if 語句設(shè)計選擇結(jié)構(gòu)程序的方法。
2. 理解 switch 語句的語法結(jié)構(gòu),掌握使用 switch 語句設(shè)計多分支選擇結(jié)構(gòu)程序的方法。
3. 理解 break 語句的語法結(jié)構(gòu),掌握 switch 語句中break 語句的使用方法。
4. 了解嵌套選擇結(jié)構(gòu)語句的語法表示,會分析嵌套選擇結(jié)構(gòu)程序的執(zhí)行過程。
5. 會正確分析選擇結(jié)構(gòu)程序的執(zhí)行過程,會合理選用語句形式設(shè)計正確的選擇結(jié)構(gòu)程序。
五、循環(huán)結(jié)構(gòu)程序設(shè)計
( 一) 知識范圍
while 循環(huán)語句;do-while 循環(huán)語句;for 循環(huán)語句;continue 語句;循環(huán)的嵌套。
(二) 考核要求
1. 理解 while、do-while 和 for 語句的語法結(jié)構(gòu),掌握使用三種循環(huán)語句設(shè)計循環(huán)結(jié)構(gòu)程序的方 法。
2. 理解 continue 語句的語法結(jié)構(gòu),掌握 continue 和 break 語句在循環(huán)結(jié)構(gòu)程序中的使用方法。
3. 了解嵌套循環(huán)結(jié)構(gòu)語句的語法表示,會正確分析嵌套循環(huán)結(jié)構(gòu)程序的執(zhí)行過程。
六、數(shù)組
( 一) 知識范圍
一維數(shù)組和二維數(shù)組的定義、初始化及其元素的引用;字符數(shù)組的定義、初始化和元素的引用, 使用字符數(shù)組存儲和操作字符串;字符串及其常用處理函數(shù)。
(二) 考核要求
1. 掌握一維數(shù)組和字符數(shù)組的定義、初始化及其元素引用的方法。
2. 熟悉二維數(shù)組的定義、初始化及其元素引用的方法。
3. 理解字符串的概念,掌握使用字符數(shù)組存儲和操作字符串的方法,熟悉常用字符串處理函數(shù) (puts 、gets 、strcmp 、strlen 、strcpy 、strcat 等) 的使用方法。
4. 在編程中會使用數(shù)組正確處理同質(zhì)數(shù)據(jù)的讀寫訪問操作,會使用字符串處理函數(shù)操作字符 串。
七、函數(shù)
( 一) 知識范圍
函數(shù)的定義;函數(shù)的參數(shù)與返回值;函數(shù)的調(diào)用;函數(shù)的嵌套調(diào)用;函數(shù)的遞歸調(diào)用;局部變量 和全局變量;變量的存儲類別 (自動、靜態(tài)、寄存器、外部)。
(二) 考核要求
1. 理解函數(shù)定義的語法形式,掌握一般函數(shù)的定義方法。
2. 理解函數(shù)的形式參數(shù)與實際參數(shù)、函數(shù)的返回值的概念和特點。
3. 理解函數(shù)調(diào)用的語法形式;理解函數(shù)原型的概念,掌握其聲明方法。
4. 理解函數(shù)傳值調(diào)用的參數(shù)傳遞機制和特點,會正確分析函數(shù)傳值調(diào)用的執(zhí)行過程,掌握使用 函數(shù)實現(xiàn)結(jié)構(gòu)化程序設(shè)計的方法。
5. 了解函數(shù)嵌套調(diào)用的概念,會正確分析函數(shù)嵌套調(diào)用的執(zhí)行過程。
6. 了解遞歸函數(shù)的概念,會正確分析遞歸函數(shù)調(diào)用的執(zhí)行過程。
7. 了解變量的作用域和生存期的概念,理解局部變量和全局變量的概念,掌握其使用方法;理 解自動變量、靜態(tài)局部變量的特點,掌握其使用方法;了解寄存器變量的使用方法,了解用 extern
聲明外部變量的方法,會根據(jù)程序中變量的定義位置和聲明方式正確分析變量的作用域和生存 期。
八、預(yù)處理命令
( 一) 知識范圍
編譯預(yù)處理的概念;宏定義命令;文件包含命令。
(二) 考核要求
1. 了解編譯預(yù)處理的概念、作用。
2. 理解宏定義命令的語法形式,掌握不帶參數(shù)以及帶參數(shù)宏定義的使用方法,會分析宏定義命 令在預(yù)編譯時的宏展開過程。
3. 了解文件包含命令的語法形式,在程序設(shè)計中會正確使用文件包含命令。
九、指針
( 一) 知識范圍
指針的概念;指針的基本運算;指向變量的指針變量的定義、賦值和引用;指向一維數(shù)組的指針 變量的定義、賦值和引用;指向字符串的指針變量的定義、賦值和引用,使用指針作為參數(shù)的函數(shù)調(diào) 用;返回指針值的函數(shù);指針數(shù)組和指向指針的指針。
(二) 考核要求
1. 了解指針的概念,理解指針運算符 (*) 和取地址運算符 (&) 的使用特點,掌握指向變量 的指針變量的定義、賦值和引用的方法,理解指針的賦值運算和算術(shù)運算的規(guī)則。
2. 掌握指向一維數(shù)組的指針變量的定義、賦值和引用的方法,會正確運用指針變量間接訪問一 維數(shù)組的元素。
3. 掌握指向字符串的指針變量的定義、賦值和引用的方法,會正確運用指針變量間接訪問字符 串。
4. 理解使用指針變量、數(shù)組名作為參數(shù)的函數(shù)調(diào)用的機制和特點,會正確分析指針型參數(shù)的函 數(shù)調(diào)用的執(zhí)行過程,在編程中會根據(jù)需要設(shè)計合理的函數(shù)參數(shù)類型并進行正確調(diào)用函數(shù)。
5. 了解返回指針值的函數(shù)的概念,熟悉指針數(shù)組、指向指針的指針概念和使用方法,會使用指 針數(shù)組和二級指針間接訪問二維數(shù)組元素。
十、結(jié)構(gòu)體與共用體
( 一) 知識范圍
結(jié)構(gòu)體和共用體類型的定義;結(jié)構(gòu)體和共用體變量的定義、初始化和成員引用;結(jié)構(gòu)體數(shù)組的定 義、初始化和元素引用;指向結(jié)構(gòu)體類型數(shù)據(jù)的指針;使用 typedef 定義類型名。
(二) 考核要求
1. 掌握結(jié)構(gòu)體類型的定義方法,以及結(jié)構(gòu)體變量的定義、初始化和成員引用的方法。
2. 掌握結(jié)構(gòu)體數(shù)組的定義、初始化和引用數(shù)組元素及其成員的方法,會正確運用結(jié)構(gòu)體數(shù)組處 理異質(zhì)數(shù)據(jù)的存儲和訪問操作。
3. 掌握指向結(jié)構(gòu)體類型數(shù)據(jù)的指針變量的定義、初始化和引用方法,會正確運用指向結(jié)構(gòu)體數(shù)
據(jù)的指針變量間接訪問結(jié)構(gòu)體數(shù)據(jù)及成員,熟悉結(jié)構(gòu)體指針作為參數(shù)的函數(shù)調(diào)用方法。
4. 了解和區(qū)分結(jié)構(gòu)體和共用體的概念,了解共用體類型的定義方法,以及共用體變量的定義、
初始化和成員引用的方法。
5. 會正確使用 typedef 語句定義新的類型名。
十一、位運算
( 一) 知識范圍
位運算符 (& 、| 、^ 、~ 、<< 、>>) 及其運算。
(二) 考核要求
1. 理解各種位運算符的含義,掌握各種位運算的運算規(guī)則和特點。
2. 會正確分析簡單的位運算程序,會正確使用位運算實現(xiàn)清零、置 1 、保留、移位等功能。