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