Ⅰ.考試性質(zhì)
《程序設(shè)計(jì)基礎(chǔ)》是信息技術(shù)(IT)類專業(yè)的一門學(xué)科核心基礎(chǔ)課,是培養(yǎng)學(xué)生掌握程序設(shè)計(jì)思維、理念、方法的入門課程,其代表語言為C語言。
熟悉程序設(shè)計(jì)思維和理念,掌握C語言程序設(shè)計(jì)的最基本的知識(shí)、技術(shù)和方法,具備最基本的程序設(shè)計(jì)能力是專科學(xué)生進(jìn)入本科學(xué)習(xí)必備要素,也是進(jìn)一步學(xué)習(xí)其他程序設(shè)計(jì)課程和進(jìn)行軟件開發(fā)的基礎(chǔ)。
本課程考試在考核上述必備要素的基礎(chǔ)上,選拔成績合格的??粕M(jìn)入學(xué)校本科高年級(jí)階段修讀。符合條件者還將獲得計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)工學(xué)學(xué)士學(xué)位。
Ⅱ.考試內(nèi)容及要求
一考試基本要求
《程序設(shè)計(jì)基礎(chǔ)》課程考試要求學(xué)生初步掌握C語言程序設(shè)計(jì)的知識(shí)和技能,即C語言程序設(shè)計(jì)的基本概念;C程序的基本結(jié)構(gòu);C語言的語法、句法;能熟練地閱讀、理解簡短的C語言程序;會(huì)分析一般性、典型的應(yīng)用問題,確定其算法并編寫相應(yīng)程序。
二、考核知識(shí)點(diǎn)及考核要求
本大綱的考核要求分為“識(shí)記”、“領(lǐng)會(huì)”、“應(yīng)用”三個(gè)層次,具體含義是:
識(shí)記:能正確認(rèn)識(shí)和表達(dá)名詞,能解釋有關(guān)的概念、知識(shí)的含義。
領(lǐng)會(huì):在識(shí)記的基礎(chǔ)上,能掌握基本原理、基本方法,能掌握有關(guān)概念、原理、方法的區(qū)別與聯(lián)系。
應(yīng)用:在理解的基礎(chǔ)上,能運(yùn)用基本概念、基本理論、基本方法分析和解決一般性理論問題和應(yīng)用問題。
專題一C語言程序設(shè)計(jì)及算法
一、考核知識(shí)點(diǎn)
1、C語言及其特點(diǎn)
2、C程序結(jié)構(gòu)
3、C程序的編譯與運(yùn)行
4、程序=算法(對操作的描述)+數(shù)據(jù)結(jié)構(gòu)(對數(shù)據(jù)的描述)
5、算法的三種表示方法:自然語言法、流程圖法、偽代碼法。
二、考核要求
1、識(shí)記
(1)C語言及其特點(diǎn)
(2)程序=算法(對操作的描述)+數(shù)據(jù)結(jié)構(gòu)(對數(shù)據(jù)的描述)
(3)結(jié)構(gòu)化程序的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
(4)認(rèn)識(shí)流程圖的各種框圖
2、領(lǐng)會(huì)
(1)算法的意義
(2)流程圖表示算法的思路
(3)結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)的區(qū)別
3、應(yīng)用
(1)書寫最簡單C語言程序
(2)會(huì)進(jìn)行C程序的編輯、編譯與運(yùn)行
專題二數(shù)據(jù)類型、運(yùn)算符和表達(dá)式
一、考核知識(shí)點(diǎn)
1、C語言字符集
2、常量與變量的表示和書寫
3、常量與變量的取值范圍
4、運(yùn)算符的書寫和意義
5、表達(dá)式的構(gòu)成
6、表達(dá)式求值
二、考核要求
1、識(shí)記
(1)常用數(shù)據(jù)類型:整型、字符型、實(shí)型、數(shù)組、指針的認(rèn)識(shí);變量及標(biāo)識(shí)符的命名規(guī)則
(2)整型、字符型、單精度實(shí)型數(shù)據(jù)的取值范圍
(3)算術(shù)運(yùn)算符;賦值運(yùn)算符;逗號(hào)運(yùn)算符的認(rèn)知及其運(yùn)算法則
(4)字符常量;英文字符的ASCII碼;轉(zhuǎn)義字符;字符變量的定義
(5)自增、自減運(yùn)算符認(rèn)知和運(yùn)算法則
(6)C語言表達(dá)式的意義和構(gòu)成
2、領(lǐng)會(huì)
(1)賦值運(yùn)算符“=”的操作過程
(2)字符與字符串的區(qū)別,字符與字符串的賦值方法
(3)數(shù)據(jù)的取值范圍及變量值溢出
(4)賦值運(yùn)算“=”與值相等“==”的區(qū)別;如何交換兩個(gè)變量的值
(5)自增運(yùn)算、自減運(yùn)算的前置及后置的區(qū)別
(6)算術(shù)表達(dá)式運(yùn)算順序
(7)混合運(yùn)算時(shí)如何確定表達(dá)式值得類型
3、應(yīng)用
(1)能根據(jù)數(shù)據(jù)類型正確定義變量
(2)會(huì)定義字符和字符串
(3)能正確書寫算術(shù)表達(dá)式
(4)會(huì)進(jìn)行賦值、算術(shù)、逗號(hào)、自增和自減運(yùn)算
(5)掌握賦值數(shù)據(jù)類型轉(zhuǎn)換規(guī)則,會(huì)對一般算術(shù)表達(dá)式和簡單逗號(hào)表達(dá)式求值
專題三順序程序設(shè)計(jì)和格式化輸入、輸出
一、考核知識(shí)點(diǎn)
1、C語句書寫規(guī)則和分類
2、格式輸出函數(shù)printf認(rèn)識(shí)和作用
3、格式輸入函數(shù)scanf認(rèn)識(shí)和作用,“&“符號(hào)的意義
4、順序程序執(zhí)行過程
5、字符輸入、輸出函數(shù)
二、考核要求
1、識(shí)記
(1)printf及其格式控制符%d、%ld、%c、%f認(rèn)識(shí),輸出表列中表項(xiàng)的計(jì)算順序(自右向左。)
(2)scanf及其格式控制符%d、%c、%f、%s;認(rèn)識(shí),鍵盤輸入時(shí)數(shù)據(jù)的分隔,控制字符串中的非格式字符
2、領(lǐng)會(huì)
(1)“&“符號(hào)的意義
(2)printf及其格式控制符%d、%ld、%c、%f的作用
(3)scanf及其格式控制符%d、%c、%f、%s的作用
3、應(yīng)用
(1)會(huì)使用printf函數(shù)輸出數(shù)據(jù)
(2)會(huì)使用scanf函數(shù)輸出數(shù)據(jù)
(3)會(huì)使用putchar函數(shù)和getchar函數(shù)輸出、輸入字符
專題四選擇結(jié)構(gòu)程序與循環(huán)結(jié)構(gòu)程序
一、考核知識(shí)點(diǎn)
1、關(guān)系運(yùn)算符和表達(dá)式
2、邏輯運(yùn)算符和邏輯表達(dá)式
3、if語句和if…else…語句
4、if語句嵌套
5、switch多分支選擇結(jié)構(gòu)和break語句
6、條件運(yùn)算符和條件表達(dá)式
7、循環(huán)結(jié)構(gòu)程序的構(gòu)成,
8、while循環(huán)
9、do……while循環(huán)
10、for循環(huán),for循環(huán)中的三個(gè)表達(dá)式
11、二重循環(huán)
12、循環(huán)的中斷退出(break)和本次循環(huán)的提前結(jié)束(continue)
二、考核要求
1、識(shí)記
(1)六種關(guān)系運(yùn)算符及其運(yùn)算優(yōu)先級(jí)
(2)邏輯運(yùn)算符(&&、||、!)的理解,邏輯表達(dá)式的書寫
(3)條件運(yùn)算符(?:)
(4)邏輯表達(dá)式的值:
系統(tǒng)在輸出邏輯表達(dá)式值時(shí),以數(shù)值1代表“真”,以0代表“假”
而在輸入一個(gè)值讓系統(tǒng)判斷“真”、“假”時(shí),以0代表“假”,以非0代表“真”
(5)if語句的書寫格式
(6)while、do—while、for語句的書寫格式
(7)for循環(huán)中三個(gè)表達(dá)式(循環(huán)變量賦值表達(dá)式,循環(huán)條件表達(dá)式,循環(huán)變量增值表達(dá)式)的構(gòu)成規(guī)則
2、領(lǐng)會(huì)
(1)賦值運(yùn)算符=和關(guān)系運(yùn)算符==的區(qū)分
(2)邏輯運(yùn)算與算術(shù)運(yùn)算的區(qū)別
(3)邏輯表達(dá)式的求值過程
(4)條件表達(dá)式的求值過程(自右向左);如:a>b?a:c>d?c:d相當(dāng)于:a>b?a:(c>d?c:d)
(5)if語句
單選擇if語句“if(表達(dá)式)語句;”的執(zhí)行過程
雙選擇if語句“if(表達(dá)式)語句1;else語句2;”的執(zhí)行過程,程序分支后的匯合點(diǎn)
(6)對稱if語句與條件表達(dá)式的互換
(7)嵌套if語句中else與if的配對規(guī)則
(8)switch結(jié)構(gòu)和break語句,switch結(jié)構(gòu)執(zhí)行過程
(9)條件循環(huán)(while循環(huán)和dowhile循環(huán))執(zhí)行過程,兩種循環(huán)的區(qū)別
(10)計(jì)數(shù)循環(huán)(for循環(huán))for循環(huán)的執(zhí)行過程及循環(huán)次數(shù);for循環(huán)中三個(gè)表達(dá)式(循環(huán)變量賦值表達(dá)式,循環(huán)條件表達(dá)式,循環(huán)變量增值表達(dá)式)的構(gòu)成規(guī)則與注意事項(xiàng)
(11)死循環(huán)發(fā)生的條件,如何避免死循環(huán)
(12)循環(huán)的中斷退出(break)和本次循環(huán)的提前結(jié)束(continue)的執(zhí)行路線
3、應(yīng)用
(1)會(huì)求邏輯表達(dá)式的值
(2)依據(jù)漢語表述書寫邏輯表達(dá)式,例如:閏年的判斷、判斷一個(gè)字符是大寫或小寫字母。
(3)單選擇if語句結(jié)構(gòu)程序和雙選擇if語句結(jié)構(gòu)程序的閱讀及編寫
(4)條件循環(huán)(while循環(huán)和dowhile循環(huán))和計(jì)數(shù)循環(huán)(for循環(huán))程序的閱讀及編寫
(5)二重循環(huán)結(jié)構(gòu)程序閱讀和編寫
(6)典型應(yīng)用程序例
專題五函數(shù)
一、考核知識(shí)點(diǎn)
1、程序模塊與函數(shù)
2、函數(shù)的定義與分類
3、函數(shù)的調(diào)用與返回
4、被調(diào)用函數(shù)的聲明和函數(shù)原型
5、形式參數(shù)和實(shí)際參數(shù)
6、函數(shù)的嵌套調(diào)用
7、數(shù)組元素和數(shù)組名作為函數(shù)參數(shù)
8、局部變量和全局變量
9、變量的作用域和生存期
10、變量的聲明和定義
11、內(nèi)部函數(shù)和外部函數(shù)
二、考核要求
1、識(shí)記
(1)C程序的構(gòu)成,main()函數(shù)
(2)函數(shù)定義與被調(diào)函數(shù)的聲明
(3)標(biāo)準(zhǔn)函數(shù)(庫函數(shù))與用戶自定義函數(shù)
(4)函數(shù)值與函數(shù)的參數(shù)
(5)形參和實(shí)參的定義,實(shí)參和形參在數(shù)量上,類型上,順序上應(yīng)嚴(yán)格一致。
(6)局部變量和全局變量的定義
(7)變量的作用域和生存期
(8)變量的聲明
(9)內(nèi)部函數(shù)和外部函數(shù)定義
2、領(lǐng)會(huì)
(1)多函數(shù)構(gòu)成的C程序的執(zhí)行過程
(2)變量為什么要聲明?會(huì)聲明局部變量和全局變量
(3)為什么要聲明被調(diào)函數(shù)?如何聲明被調(diào)函數(shù)?
(4)函數(shù)的調(diào)用與返回的執(zhí)行過程
(5)形參和實(shí)參如何結(jié)合并傳遞數(shù)值?
(6)函數(shù)的返回值的類型
(7)函數(shù)調(diào)用的三種形式:
函數(shù)語句(無函數(shù)值返回);
函數(shù)表達(dá)式(被調(diào)函數(shù)作為表達(dá)式中的一項(xiàng)參加運(yùn)算);
函數(shù)實(shí)參(被調(diào)函數(shù)作為另一函數(shù)實(shí)參);
(8)數(shù)組元素和數(shù)組名作為函數(shù)參數(shù)時(shí)的“傳值”和“傳址”,“傳值”的單向性和“傳址”時(shí)實(shí)現(xiàn)數(shù)值傳遞的雙向性。
(9)理解變量的作用域和生存期
3、應(yīng)用
(1)能正確定義函數(shù)、定義形參和實(shí)參
(2)會(huì)編寫多函數(shù)構(gòu)成的程序
(3)熟悉典型程序例
專題六數(shù)組和指針
一、考核知識(shí)點(diǎn)
1、一維數(shù)組定義和引用
2、二維數(shù)組定義和引用
3、字符數(shù)組
4、指針即是變量在內(nèi)存中的首地址
5、指針變量
6、通過指針引用數(shù)組
7、通過指針引用字符串
8、指向函數(shù)的指針
9、返回指針值的函數(shù)
10、指針數(shù)組
二、考核要求
1、識(shí)記
(1)數(shù)組的定義:數(shù)組是一組同類型數(shù)據(jù)的有序集合
(2)一維數(shù)組的定義
(3)二維數(shù)組的定義
(4)字符數(shù)組的定義,字符數(shù)組的初始化
(5)字符串的賦值,字符串的結(jié)束標(biāo)志
(6)字符串函數(shù):strcat、strcpy、strcmp、strlen、strlwr、strupr
(7)變量的屬性
一個(gè)變量有如下幾個(gè)屬性:
變量名
變量值(類型)
變量存儲(chǔ)地址-------指針
變量作用域
變量生存期
①指針其實(shí)就是變量的地址。
②地址也是一種數(shù)據(jù)類型,它可以存放在一種特殊的變量-----“指針變量”中
③定義指針的目的是為了通過指針去訪問變量(存取變量的值)。
(8)指針和指針變量區(qū)別
(9)指針運(yùn)算符“*”
(10)取變量地址運(yùn)算符“&”
(11)指針變量的定義
定義包括三個(gè)內(nèi)容:●定義變量為一個(gè)指針變量
●指針變量的名稱
●指針?biāo)赶虻淖兞康臄?shù)據(jù)類型
(12)由指針作為數(shù)組元素構(gòu)成的指針數(shù)組
2、領(lǐng)會(huì)
(1)一維數(shù)組名中存放數(shù)組的首地址,一維數(shù)組的長度,下標(biāo)的起止范圍
(2)二維數(shù)組名中存放數(shù)組的首地址,二維數(shù)組元素的輸入與輸出、下標(biāo)的起止范圍
(3)數(shù)組名與指針的關(guān)系
(4)二維數(shù)組的行指針
(5)字符串的實(shí)際長度與存儲(chǔ)長度,字符串函數(shù)的一些使用規(guī)則:
例如:
if(字符串1和字符串2相同)返回函數(shù)值為0。
If(字符串1>字符串2)返回函數(shù)值為正數(shù),其值是ASCII碼的差值。
If(字符串1<字符串2)返回函數(shù)值為負(fù)數(shù),其值也是ASCII碼的差值。
(6)變量的訪問
①直接訪問方式
按變量地址(程序編譯后,變量名就成為了內(nèi)存地址)存取變量值的方式稱為直接訪問方式。如語句:printf(“%d”,i);scanf(“%d”,&i);
②間接訪問方式
假設(shè)已經(jīng)用int*p;定義了指針變量p,其中存放著整型變量i的地址(如:2000H)。而指針變量本身被分配到內(nèi)存單元3010H和3011H存放。
通過執(zhí)行語句“p=&i;”將整型變量i的地址存放到指針變量p中,即p的值為變量i所對應(yīng)的內(nèi)存單元的起始地址2000H。現(xiàn)在要存取i的值可以這樣做:
找到存放i的地址的內(nèi)存單元地址(3010H和3011H),從中取出變量i的地址值2000H,對2000H和2001H單元進(jìn)行存取——這就稱為間接訪問。
(7)變量的指針和指向指針的指針變量的區(qū)別
①指針運(yùn)算符“*”(間接訪問變量的值)
用“*”表示指針變量和它所指向的變量之間的聯(lián)系。
②取變量地址運(yùn)算符“&”
取地址運(yùn)算符“&”與一個(gè)變量連用,可以得到該變量的內(nèi)存地址。如:&a即是變量a的地址。
(8)數(shù)組名和指針作為函數(shù)的參數(shù)
由于被調(diào)函數(shù)中形參接收到的值是指針(實(shí)參的地址),于是形參和實(shí)參同時(shí)指向若干內(nèi)存單元,于是在被調(diào)函數(shù)中就可以引用這些地址而修改其內(nèi)存單元的值,從而達(dá)到修改主調(diào)函數(shù)中相應(yīng)變量值的目的。
3、應(yīng)用
(1)會(huì)在程序中引用一維數(shù)組及其數(shù)組元素
(2)會(huì)在程序中引用二維數(shù)組及其數(shù)組元素
(3)會(huì)在程序中輸入和輸出字符串,會(huì)使用字符串函數(shù)編程
(4)指針變量的賦值和引用
①指針變量的賦值
●指針變量在使用之前必須賦值。
●指針變量只能賦予變量的地址值。
可以用以下兩種方式給指針賦值:
●用指針變量初始化的方法,即:inta;int*p=&a;
●用賦值語句的方法:inta;int*p;p=&a;
②指針變量的引用
(5)會(huì)在程序中使用指針引用數(shù)組、字符串
(6)能在程序中使用數(shù)組和指針作為函數(shù)的參數(shù)
專題七文件
一、考核知識(shí)點(diǎn)
1、什么是文件?程序文件和數(shù)據(jù)文件
2、文件的相關(guān)知識(shí):
文件名;文本文件和二進(jìn)制文件;文件緩沖區(qū);文件類型指針
3、打開與關(guān)閉文件
4、順序讀寫數(shù)據(jù)文件
5、隨機(jī)讀寫數(shù)據(jù)文件
6、文件讀寫的出錯(cuò)檢測
二、考核要求
1、識(shí)記
(1)什么是文件
文件是存儲(chǔ)在外部介質(zhì)(磁介質(zhì)、光介質(zhì))上的數(shù)據(jù)集合。只有在使用時(shí)才調(diào)入內(nèi)存中來。
(2)文件分類
程序文件
數(shù)據(jù)文件
(3)C語言的數(shù)據(jù)文件是流式文件:
C語言系統(tǒng)把它們都看成是一連串的字符,即字符流(stream)。對文件的存取以字符(字節(jié))為單位,按字節(jié)進(jìn)行處理。輸入輸出字符流的開始和結(jié)束只由程序控制而不受物理符號(hào)(如回車符)的控制。
C語言的數(shù)據(jù)文件屬于“緩沖區(qū)文件系統(tǒng)”。數(shù)據(jù)讀寫都要經(jīng)由內(nèi)存“緩沖區(qū)”來進(jìn)行。
(4)文件類型指針
對于每個(gè)被使用的文件,系統(tǒng)都在內(nèi)存中建立一個(gè)名為FILE的“結(jié)構(gòu)體”,用來存放該文件的有關(guān)信息,(文件名、緩讀寫沖區(qū)的大小、文件狀態(tài)、讀寫位置等),為了方便地獲取文件的這些信息,定義一個(gè)“指針變量”來訪問FILE結(jié)構(gòu)體,這個(gè)指針變量稱之為“文件指針”,一個(gè)文件對應(yīng)一個(gè)文件指針。
2、領(lǐng)會(huì)
(1)文件目錄(文件夾)和路徑,文件主名和擴(kuò)展名
(2)C語言文件的讀寫是字節(jié)為單位進(jìn)行的
(3)文件類型指針和文件內(nèi)部讀寫指針的區(qū)別
文件指針是指向整個(gè)文件的,須在程序中定義說明,只要不重新賦值,文件指針的
值是不變的。文件內(nèi)部的讀寫指針用以指示文件內(nèi)部的當(dāng)前讀寫位置,每讀寫一次,該指針均要發(fā)生移動(dòng),其值由系統(tǒng)自動(dòng)改變的。
(4)文件為什么要及時(shí)關(guān)閉?
(5)順序文件和隨機(jī)文件的區(qū)別
3、應(yīng)用
(1)認(rèn)知文件操作函數(shù)并熟悉其功能
(2)簡單順序文件的建立、打開、讀寫和關(guān)閉
(3)簡單隨機(jī)文件的建立、打開、讀寫和關(guān)閉
Ⅲ.考試形式及試卷結(jié)構(gòu)
試卷特點(diǎn)是難度不大但題量充足,考查最基本的知識(shí)和能力。
1、考試形式為閉卷,筆試,考試時(shí)間為120分鐘,試卷滿分為100分。
2、試卷內(nèi)容比例:第1~2專題約占25%,第3~5專題約占55%,第6~7專題約占20%,
3、試卷題型比例:客觀題40分(單項(xiàng)選擇題30%、判斷題10%);主觀題60分,(填空題20%、程序閱讀題20%、編程題20%)。
4、試卷難以比例:易、中、難大致分別為30%、50%、20%。
Ⅳ.參考書目
《C程序設(shè)計(jì)(第四版)》,譚浩強(qiáng)著,清華大學(xué)出版社,2010年6月
《C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo)》,譚浩強(qiáng)編著,清華大學(xué)出版社,2010年7月
Ⅴ.題型示例
一、單項(xiàng)選擇題(從各題的4個(gè)備選答案中選出一個(gè)正確答案,將其代號(hào)寫在題干空白處。選錯(cuò)或未選者不得分,每小題1分,共30分。)
1、用戶用C語言編寫的程序稱為()。
A.C語言執(zhí)行程序B.C語言源程序C.C語言目標(biāo)程序D.C語言編譯程序
二、判斷題(你認(rèn)為下列命題是正確的,就在其題號(hào)前的方框中加“√”,錯(cuò)誤的加“×”。每小題1分共10分。)
□1、與其他高級(jí)語言一樣,C語言不能對二進(jìn)制位(bit)進(jìn)行操作。
三、填空題(每個(gè)空白1分,共20分。)
1、關(guān)系式10≤X≤100對應(yīng)的C語言邏輯表達(dá)式是()
四、程序閱讀題(閱讀程序,給出程序運(yùn)行結(jié)果。每小題4分,共20分。注:一行中的格式控制其空格數(shù)不做嚴(yán)格要求)
程序運(yùn)行結(jié)果是:
五、程序設(shè)計(jì)題(分析題意,編寫程序。每小題5分,共20分。)
1、鍵盤輸入兩個(gè)實(shí)數(shù),從小到大順序輸出這兩個(gè)數(shù)。