(2016年修訂)
一、考試性質
上海市高等學校計算機等級考試是上海市教育委員會組織的全市高校統一的教學考試,是檢測和評價高校計算機基礎教學水平和教學質量的重要依據之一。該項考試旨在規範和加強上海高校的計算機基礎教學工作,提高學生的計算機應用能力。考試物件主要是上海市高等學校學生,每年舉行一次,通常安排在當年的十月下旬、十一月上旬的星期六或星期日。凡考試成績達到合格者或優秀者,由上海市教育委員會頒發相應的證書。
本考試由上海市教育委員會統一領導,聘請有關專家組成考試委員會,委託上海市教育考試院組織實施。
二、考試目標
上海市高等學校計算機等級考試(二級)主要內容是基於不同語種的程式設計。通過程式設計的教學和考核,旨在訓練大學生的計算思維和程式設計技術,重在培養大學生應用程式設計語言編寫程式解決實際問題的能力。
C語言是當前常用的一種簡潔、高效、功能豐富的程式設計語言,是理工科大學生學習計算機程式設計能力、理解計算機解決問題的方法的`重要工具。學生通過該課程的學習,應能瞭解、掌握C語言的語法和使用它進行程式設計的方法,並能上機除錯執行解決簡單實際問題。
《C程式設計》的考試目標是測試考生掌握C語言知識的程度和綜合運用語言知識進行程式設計的能力。
三、考試細則
1. 考試時間:120分鐘。
2. 考試方式:考試採用基於網路環境的無紙化上機考試。
3. 考試環境:
Ø 上海市高校計算機等級考試通用平臺。
Ø 作業系統:Windows 7中文版。
Ø 程式開發環境:Visual Studio 2010中文版中的Visual C++ 2010或其它C語言程式設計環境。
四、試卷結構
序號 | 題型 | 題量 | 計分 | 考核目標 |
一 | 單選題 | 10題 | 15分 | 基本概念 語義知識 |
二 | 程式填空題 | 2題 | 20分 | 常用演算法 程式理解 程式設計 |
三 | 程式除錯題 | 3題 | 30分 | 基本語句 程式除錯 程式設計 |
四 | 程式設計題 | 2題 | 35分 | 常用演算法 綜合應用 |
合 計 | 17題 | 100分 |
五、考試內容和要求
序號 | 內容 | 知識點 | 要求 | |
1 | C程式的組成、結構及書寫規則 | |||
C語言源程式結構 | · 預處理命令 · 外部資料定義 · 函式main和其它函式定義 | 理解 知道 理解 | ||
程式的書寫格式 | · 基本詞法單位、識別符號/常量/運算子等構成規則 · 程式的書寫格式與風格 | 理解 知道 | ||
C語言程式設計步驟 | ·VC程式設計環境的操作使用 · 程式的編輯/編譯/連線/除錯/執行 | 掌握 掌握 | ||
2 | 基本資料型別 | |||
C語言資料型別 | · 基本型別、陣列、結構、指標型別、空型別 | 掌握 | ||
C語言常量 | · 常量和變數 · 整型、實型(單/雙精度)、字元型和字串常量的表示方法 | 掌握 理解 | ||
C語言變數和C語言基本資料型別 | · 各種型別變數的定義和說明 · 變數的初始化 | 掌握 掌握 | ||
3 | 基本運算和表示式 | |||
運算子 | · 運算子種類、功能、目數、優先順序、結合性和副作用 | 理解 | ||
算術運算 | · 自動型別轉換規則 | 掌握 | ||
關係和邏輯運算 | · 關係和邏輯運算規則 · 邏輯運算的優化規則 | 掌握 理解 | ||
位運算 | · 位運算規則和簡單位運算 | 知道 | ||
賦值運算 | · 賦值運算中自動型別轉換規則(以左值型別為準轉換) · 複合賦值 | 掌握 理解 | ||
其他運算 | · 條件、逗號、求儲存空間大小運算 | 知道 | ||
表示式 | · 表示式組成規則、各類表示式 · 描述計算過程/條件判斷的表示式 · 各型別資料混合運算中求值順序 · 表示式運算中的隱式型別轉換和強制型別轉換 · 基本運算執行順序、表示式結果型別 | 理解 理解 掌握 理解 掌握 | ||
4 | 語句 | |||
基本語句及順序結構語句 | · 定義/說明語句,表示式語句,空語句,複合語句、函式呼叫語句 | 掌握 | ||
選擇結構語句 | · 描述條件和情況的if,switch語句、 · 選擇語句巢狀 | 掌握 | ||
迴圈結構語句 | · 描述迴圈執行的while,do-while,for語句 · 迴圈語句巢狀 | 掌握 | ||
轉移語句 | · 改變程式流程執行次序的break,continue,return語句 | 掌握 | ||
5 | 陣列 | |||
一維陣列 | · 一維陣列定義、引用和初始化 | 掌握 | ||
二維陣列 | · 二維陣列定義、引用和初始化 | 掌握 | ||
字元陣列和字串 | · 字元陣列定義、引用和初始化 · 字串結束標誌、初始化、字串處理函式 | 掌握 理解 | ||
6 | 函式定義和呼叫 | |||
函式的定義方法 | · 函式原型、函式名、形式引數、函式返回值、函式體----函式執行過程的描述 | 掌握 | ||
函式型別和返回值 | · 不同型別函式定義、預設型別、空型別 | 理解 | ||
函式傳值呼叫 | · 形參、實參及其引數單向傳遞 | 掌握 | ||
函式說明 | · 函式原型及作用 · 使用者定義函式說明 · 系統庫函式說明---用標頭檔案包含 | 理解 理解 理解 | ||
函式引數型別和函式的傳址呼叫 | · 傳值呼叫和傳址呼叫 · 陣列名作為函式引數 | 掌握 理解 | ||
函式巢狀呼叫和遞迴呼叫 | · 遞迴函式的定義和呼叫 · 遞迴函式的執行過程 | 知道 理解 | ||
7 | 變數的儲存類別和編譯預處理 | |||
變數儲存類別的概念 | · 自動、暫存器、外部及內部靜態/外部靜態各種變數型別 | 理解 | ||
變數的作用域 | · 在函式外部、函式內部、複合語句內定義變數的作用域 | 理解 | ||
變數的生存期和有效期 | · 自動、外部及內部靜態/外部靜態變數的生存期和有效期 | 知道 | ||
編譯預處理 | · 檔案包含和巨集定義 | 知道 | ||
8 | 指標 | |||
指標概念 | · 地址、指標和指標變數的含義和表示 | 掌握 | ||
指標與地址運算子 | · 取地址運算子&和取內容運算子* | 理解 | ||
用指標處理陣列、字串 | · 陣列、字串的指標以及指向陣列、字串的指標變數 · 通過指標引用以上各型別資料 | 理解 理解 | ||
用指標作函式引數 | · 通過指標型別引數傳遞計算結果,改變主調函式實參值 | 理解 | ||
指標的高階功能 | · 函式指標---返回指標值的的指標函式 · 指標陣列、指向指標的指標 ·main函式的命令列引數簡介 | 知道 知道 知道 | ||
9 | 結構體與共用體 | |||
結構體型別資料 | · 結構定義方法和引用方法 · 結構體變數初始化 | 理解 理解 | ||
結構體陣列 | · 結構體陣列定義、初始化 | 理解 | ||
結構體指標變數 | · 指向結構體型別變數的指標變數 · 指向結構體型別陣列的指標變數 | 理解 知道 | ||
連結串列 | · 用指標和結構體構成連結串列、單向連結串列的建立、輸出、刪除與插入(包括動態空間申請與釋放) | 理解 | ||
10 | 檔案 | |||
基本概念 | · 檔案型別—文字檔案/二進位制檔案、檔案指標 | 理解 | ||
檔案操作 | · 檔案的開啟和關閉 · 定位 · 檔案的讀/寫 | 掌握 | ||
常用庫函式 | · 常用的庫函式: 開啟和關閉:fopen、fclose 檔案結束判斷:feof() 定位:fseek、rewind 讀/寫:fputc、fgetc、fputs、fgets、 fprintf、fscanf、fwrite、fread等 | 理解 | ||
11 | 演算法和資料結構的簡單知識 | |||
演算法和結構化程式設計 | · 演算法概念、表示 · 結構化程式設計 | 知道 | ||
單鏈表、棧和佇列的操作 | · 單鏈表建立、查詢、插入、刪除和合並 · 棧和佇列的建立和基本操作 | 知道 | ||
排序和查詢 | · 簡單的排序演算法和查詢演算法 | 理解 | ||
六、說明
1. 建議學時數:64-72學時,其中實驗不低於32學時。
2. 參考教材:
Ø 《C程式設計》(譚浩強主編),清華大學出版社。
Ø 《C/C++程式設計》(夏寶嵐主編),華東理工大學出版社。