27080 C語言程序設計
2025-07-08 來源:中國教育在線
一、課程性質與設置目的要求 C程序設計課程是江蘇省高等教育自學考試機械制造及自動化專業的一門基礎課;是一門考核考生運用計算機編程能力的課程。考生在學習C程序設計課程之前,應已學習過《計算機基礎教程》和《高等數學》兩門課程。 本課程的教學目的是使自學應考者全面掌握C程序設計的語法與編制程序,培養考生用C語言編制程序來解決本專業或其他的一些實際問題,并為進一步學習其他的計算機語言課程打下基礎。 設置本課程的具體要求是:(1)使考生掌握C語言的基本語法規則。(2)使考生掌握編制簡單C程序的方法。(3)使考生能運用C語言解決一。些實際的問題。(4)使考生掌握一些解決問題的算法。二、考試內容與考核目標(考核知識點、考核要求)
第一章 C 語言概述
一、學習目的和要求
通過本章的學習,了解C語言出現的背景,C語言的特點,通過簡單C程序的介紹,初步認識C程序,并初步掌握C程序的上機步驟。
二、考試內容
第一節 C 語言出現的歷史背景
(一)C語言的性質:C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合于作為系統描述語言,即用來寫系統軟件,也可用來寫應用軟件。 (二)C語言的發展過程:C語言是在B語言的基礎上發展起來的,即1972年至1973年間,貝爾實驗室的D.M.Ritchie在 B語言的基礎上設計出了C語言。 (三)C語言的種類:包括Microsoft C.Turbo C.Quick C等,本課程運用的是Turbo c 2.O版本。
第二節 C 語言的特點
C語言的主要特點如下:(1)語言簡潔、緊湊、使用方便、靈活;(2)運算符豐富;(3)數據結構豐富,具有現代化語言的各種數據結構;(4)具有結構化的控制語句;(j)語法限制不太嚴格,程序設計自由度大;(6)允許直接訪問物理地址;(7)生成目標代碼質量高,程序執行效率高;(8)用C語言寫的程序可移植性好。
第三節 簡單的C 程序介紹
C程序的構成:(1)C程序是由函數組成的;(2)C程序總是從main函數開始執行;(3)C程序書寫自由,一行內可寫多個語句,一個語句可寫在多行上;(4)每個語句和數據的意義最后必須加一個分號;(5)可用/*...*/對C程序中的任何部分作注釋。
第四節 C程序的上機步驟
(1)C程序的界面進入;(2)編輯源文件;(3)編譯源程序;(4)執行程序;(5)退出Turbo C系統,回到DOS命令狀態。
三、考核知識點
(一)C語言的特點及構成 (二)C語言的上機步驟
四、考核要求
(一)C語言的特點 (二)C語言的構成 (三)C語言的上機步驟
第二章 數據類型、運算符與表達式
一、學習目的和要求
通過本章的學習,掌握C程序常量與變量;整型、實型、字符型數據的各種表示形式;變量賦初值的方式;各類數據間混合運算時類型的轉換;算述運算符和算術表達式;賦值運算符和賦值表達式;逗號運算符和逗號表達式的定義及內涵。
二、考試內容
第一節 常量與變量
(一)常量和符號常量: 1.常量的定義:在程序運行過程中,其值不能改變的量。 2.常量的變型:整型常量、實型常量、字符常量。 (二)變量: 1.標識符的定義:由字母、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。標識符是用來標識變量名、符號常量名、函數名、數組名、類型名、文件名的有效字符序列。 2.變量的使用規則:先定義,后使用
第二節 整型數據
(一)整型常量的形式:十進制整數;八進制整數;十六進制整數。 (二)整型變量:1.整型變量的分類:基本型(in+型)、短整型(Short int型)、長整型(long int型)、無符號型。 2.各種類型整型變量數的范圍。
第三節 實型數據
(一)實型常量的表示形式:十進制數形式;指數形式。 (二)實型變量的分類:單精度(float型);22精度(double型)。
第四節 字符型數據
(一)字符常量: 1.字符常量的定義:用單引號括起來的一個字符。 2.轉義字符的形式及功能 (二)字符變量:用來存放字符常量,只能放一個字符。 (三)字符串常量:用一對雙引號括起來的字符序列 (四)字符常量與字符串常量的區別
第五節 變量賦初值
變量賦初值的方法:
第六節 各類數值型數據間的混合運算
整型、實型(包括單、雙精度)、字符數據問一起運算時的數據類型轉換
第七節 算術運算符和算術表達式
(一)基本的算術運算符:+、-、*、/、% (二)算術表達式和運算符的優先級與結合性 (三)強制類型轉換的形式:(類型名)(表達式) (四)自增、自減運算符:++i,--i,i++,i--,其作用是使變量的值增1(或減1)
第八節 賦值運算符和賦值表達式
(一)賦值運算符:= (二)復合的賦值運算符:十二如:x*=y+8;等價于x= x*(y+8); (三)賦值表達式的一般形式:(變量>(賦值運算符)(表達式)
第九節 逗號運算符和逗號表達式
(一)逗號表達式的一般形式:表達式1,表達式2
三、考核知識點
(一)標識符 (二)整型變量數、實型變量數的取值范圍 (三)自加、自減運算符 (四)逗號表達式
四、考核要求
(一)標識符: 1.識別判斷合法與不合法的標識符 (二)整型變量: 1.掌握四種整型變量的取值范圍 2.掌握整型變量的定義方式 (三)實型變量:1.掌握實型變量的定義方式 (四)字符型數據: 1.掌握字符變量的定義方式 2.掌握轉義字符的形式及功能 3.掌握字符常量與字符串常量的區別 (五)變量賦初值:掌握變量初始化的方法 (六)各類數值型數據間的混合運算;掌握各種類型數據間混合運算時,數據間的相互轉換關系。 (七)算術表達式: 1.掌握算術運算符的優先級和結合性 2.掌握強制類型轉換的形式 3.掌握自增、自減運算符的規則 (八)賦值表達式:掌握一般賦值運算符和復合賦值運算符的含義 (九)逗號運算符及逗號表達式: 1.掌握逗號運算符的運算形式 2.掌握逗號運算符和號數間分隔符間的區別
五、重點、難點
(一)自增、自減運算符
(二)逗號表達式
第三章 最簡單的C程序設計
一、學習目的和要求
通過本章的學習,掌握C程序的三種基本結構、賦值語句、數據輸出、輸入的方式,并會編制簡單的C程序。
二、考試內容
第一節 C語句概述
C語句的種類:1.控制語句;2.函數調用語句;3。表達式語句;4.空語句;5.復合語句。
第二節 程序的三種基本結構
(一)C程序的三種基本結構:1.順序結構;2.選擇結構;3.循環結構 (二)循環結構的種類:1.豎型循環結構;2.直到型循環結構
第三節 賦值語句
(一)賦值語句的形式:賦值表達式加上一個分號 (二)賦值語句和賦值表達式的區別
第四節 數據輸出
(一)數據輸出函數種類:1、字符輸出函數Putchar;2、格式輸出函數Printf. (二)Putchar函數及Printf函數的功能:Putchar是向終端輸出一字符,Printf是向終端輸出若干個任意類型的數據。 (三)Printf函數的一般格式:Printf(格式控制,輸出表列) (四)格式字符的種類:1、d格式符;2、o格式符;3、x格式符;4、u格式符;5、c格式符;6、s格式符;7、f格式符;8、e格式符;9、g格式符。 (五)d格式符、c格式符、s格式符、f格式符、o格式符、x格式符、u格式符、e格式符的各種用法。
第五節 數據輸入
(一)數據輸入函數的種類:1、字符輸入函數getchar;2、格式輸入函數scanf。 (二)getchar函數和scanf函數的功能:getchar函數的從終端輸入一個字符,scanf函數是從終端輸入任何尖型的多個數據。 (三)scanf函數的一般形式:scanf(格式控制,地址表列) (四)scanf函數的具體應用
第六節 程序舉例
編制簡單C程序的基本方法
三、考核知識點
(一)數據的輸出函數的用法 (二)數據的輸入函數的用法 (三)編制簡單C程序
四、考核要求
(一)C語句:掌握C語句的5種分類形式 (二)程序的三種基本結構:掌握理解三種基本結構的形式及作用 (三)數據輸出: 1.掌握Putchar函數的用法及作用 2.掌握Printf函數的各種輸出格式 (四)數據輸入: 1.掌握getchar函數的用法及作用 2.掌握scanf函數的用法及作用
五、重點、難點
(一)Printf函數輸出時的格式控制 (二)scanf函數的格式及用法
第四章 邏輯運算和判斷選取控制
一、學習目的和要求
通過本章的學習,掌握關系運算符和關系表達式、邏輯運算符和邏輯表達式、if語句、Switch語句的用法,并能運用上述語句編寫程序。
二、考試內容
第一節 關系運算符和關系表達式
(一)關系運算符及其優先次序:C語言提供了6種關系運算符:<;<=;>;>=;=;!=。前4種優先級相同,后2種相同,前4種高于后2種。 (二)關系表達式的值:"1"代表真,"O"代表假。
第二節 邏輯運算符和邏輯表達式
(一)邏輯運算符及其優先次序:δδ(邏輯與)、!!(邏輯或)、!(邏輯非)優先次序:!>δδ>!!,即"!"為三者最高。 (二)邏輯表達式的求解過程
第三節 if語句
(一)if語句的三種形式:1.if(表達式)語句;2.if(表達式);語句1 else語句2;3.if(表達式1)語句1 else if(表達式2)語句2...else if(表達式m)語句m else語句n。 (二)if語句的嵌套 (三)條件運算符的一般形式:表達式1?表達式2:表達式3; (四)Switch語句(多分支選擇語句)的一般形式:
Switch(表達式) ζcase 常量表過式1:語句1 case 常量表達式2:語句2 ┇ case 常量表達式n:語句n default : 語句 n+1
三、考核知識點
(一)關系運算符、邏輯運算符、關系表達式及邏輯表達式的求解方法 (二)if語句及條件運算符的用法 (三)switch 語句留用法
四、考核要求
(一)關系運算符的關系表達式:
1、掌握6種關系運算符間的優先次序 2、掌握求解關系表達式的方法
(二)邏輯運算符和邏輯表達式:
1、掌握邏輯運算符及其優先次序 2、掌握求解邏輯表達式的方法
(三)if語句:
1、掌握if語句的三種基本形式的用法 2、掌握if語句的嵌套 3、掌握條件運算的用法
(四)Switch 語句:掌握Switch 語句的語法特點及用法
五、重點、難點
(一)邏輯表達式的求解 (二)if語句的嵌套 (三)條件運算符 (四)Switch 語句
第五章 循環控制
一、學習目的和要求
通過本章的學習,要求掌握循環控制的三種形式(while,do~while,for);循環的嵌套及Continue 語句、break 語句,并能利用上述語句編寫程序
二、考試內容
第一節 概述
三種形式的循環語句:豎型循環(while),直到型循環(do~ while),步長型循環(for)。
第二節 while 語句
(一)while 語句的一般形式:while(表達式)語句; (二)while 語句的特點:先判斷表達式,后執行語句;
(三)while 語句的用法;
第三節 do-while 語句
(一)do~while 語句的一般形式:do 語句 while(表達式); (二)do~while 語句的特點:先執行語句,后判斷表達式; (三)do~while 語句的用法; (四)while 語句和d0~while 語句的區別;
第四節 for 語句
for 語句的一般形式為:for(表達式1;表達式2;表達式3)語句; (二)for 語句的執行過程; (三)應用for 語句所要注意的問題; (四)for 語句的用法。
第五節 循環的嵌套
(一)循環嵌套意義:一個循環體內包含另一個完整的循環結構。 (二)三種循環(while 循環,do~while 循環,for 循環)互相嵌套的6種形式
第六節 n 種循環的比較
while 循環,do~while 循環,for 循環的區別
第七節 break 語句和 Continue 語句
(一)break 語句的作用:結束循環,接著執行循環下面的語句。 (二)continue 語句的作用:結束本次循環,即跳過循環體中下面尚未執行的語句,接著進行下一次是否執行循環的判定。 (三)break 語句和 continue 語句的用法。
第八節 程序舉例
學會編制帶有循環語句的 C 程序
三、考核知識點
(一)while 循環、do~while 循環、for 循環 (二)循環的嵌套 (三)break 語句和 continue 語句
四、考核要求
(一)while 語句:1.掌握while語句的應用 (二)do~while 語句:1.掌握do~while 語句的用法 2.掌握while 語句和do~while 語句之間的區別
(三)for 語句:1.掌握for 語句的用法 2.掌握for 語句的特點 (四)循環的嵌套:掌握三種循環六種嵌套形式 (五)break 語句和 continue 語句: 1.掌握 break 語句在循環中的含義 2.掌握 continue 語句在循環中的含義
五、重點、難點
(一)for 語句的用法 (二)break 語句和continue 語句的功用及區別
第六章 數組
一、學習目的和要求
通過本章的學習,掌握一維數組、二維數組、字符數組的定義形式和應用方式,并會用數組編寫程序。
二、考試內容
第一節 一維數組的定義和使用
(一)一維數組的定義方式:類型說明符數組名[常量表達式] (二)一維數組元素的引用:數組名[下標] (三)一維數組的初始化:共用4種初始化方法
第二節 二維數組的定義和引用
(一)二維數組的定義方式:一般形式為:類型說明符數組名[常量表達式][常量表達式] (二)二維數組元素的引用:數組名[下標][下標] (三)二維數組的初始化:共用4種初始化方法
第三節 字符數組
(一)字符數組的定義方式:類型說明符數組名[常量表達式] (二)字符數組的初始化方式 (三)字符數組的引用形式 (四)字符串和字符串結束標志 (五)字符數組的輸入輸出 (六)字符串處理函數:puts(字符數組)、gets(字符數組)、strcat(字符數組1,字符數組2),ostrcpy(字符數組1,字符串2)、strlen(字符數組)、strlwr(字符串)、strupr(字符串)
三、考核知識點
(一)一維數組的定義及引用 (二)二維數組的定義及引用 (三)字符數組的定義及引用
四、考核要求
(一)一維數組:掌握一維數組的定義和引用及初始化的方法 (二)二維數組:掌握二維數組的定義,初始化及引用的方法 (三)字符數組:1.掌握字符數組的定義及初始化的方法 2.掌握字符串和字符串結束標志 3.掌握字符數組的輸入輸出方法 4.掌握8個字符串處理函數
五、重點、難點
(一)一維數組的引用 (二)二維數組的引用 (三)字符數組的引用及字符串處理函數
第七章 函數
一、學習目的和要求
通過本章的學習,掌握函數的定義和調用;函數的嵌套調用、遞歸調用;數組作函數參數;局部變量和全局變量;動態和靜態存儲變量;了解內部函數;外部函數,并會用函數編制程序。
二、考試內容
第一節 概述
(一)函數的分類;1.從用戶使用的角度可分為:(1)標準函數;(2)用戶自定義函數;
2.從函數的形式可分為:(1)無參函數;(2)有參函數
第二節 函數定義的一般形式
(一)無參函數的定義形式:類型標識符 函數名( ) {說明部分 語句} (二)有參函數定義的一般形式:類型標識符 函數名(形式參數表列) 形式參數說明 {說明部分 語句}
(三)"空色數"的定義形式:類型說明符函數名( ) { }
第三節 函數參數和函數的值
(一)形式參數和實際參數: 1.實參與形參的類型應一致2.實參變量對形參變量的數據傳遞是單向值傳遞 (二)函數的返回值:1.函數返回值的定義:通過函數調用使主調函數得到的一個確定的值 2.函數值的類型
第四節 函數的調用
(一)函數調用的一般形式:函數名(實參表列)
(二)函數調用的方式:1.函數語句 2。函數表達式 3.函數參數 (三)對被調用函數的說明: 1.使用庫函數;#include"stdio.h" 2.調用用戶自定義函數:類型標識符 被調用函數的函數名( ); 3.使用數學庫中的函數:#include"math.h"
第五節 函數的嵌套調用
(一)函數嵌套調用的定義:在調用一個函數的過程中,又調用另一個函數 (二)函數嵌套調用的執行過程 (三)函數嵌套調用的方式
第六節 函數的遞歸調用
(一)函數遞歸調用的定義:在調用一個函數的過程中又出現直接或間接地調用該函數本身 (二)函數遞歸調用的實現方法
第七節 數組作為函數參數
(一)數組元素作函數實參的實現方式 (二)數組名作函數參數的實現方式:實參與形參都應用數組名 (三)多維數組作函數參數的實現方式
第八節 局部變量和全局變量
(一)局部變量:1.局部變量的定義2.局部變量的作用域 (二)全局變量:1.全局變量的定義2.全局變量的作用域
第九節 動態存儲變量和靜態存儲變量
(一)變量的存儲類別; (二)局部變量的存儲方式; (三)全局變量的存儲方式;
第十節 內部函數和外部函數
(一)內部函數的定義形式:static 類型標識符 函數名(形參表) (二)外部函數的定義形式:extern 類型標識符 函數名(形參表)
三、考核知識點
(一)函數的種類 (二)函數的定義形式 (三)函數的參數和函數的返回值 (四)函數的一般調用、嵌套凋用、遞歸調用 (五)數組作為函數參數 (六)局部變量和全局變量 (七)動態存儲變量和靜態存鍺變量
四、考核要求
(一)概述:掌握函數的種類 (二)函數定義的一般形式:掌握函數定義的三種基本形式 (三)函數參數和函數的值:掌握形參與實參的含義及相互關系,掌握函數的返回值的形式 (四)函數的調用:1.掌握函數調用的一般形式 2.掌握函數的調用方式 (五)函數的嵌套調用:1.理解函數嵌套調用的執行過程 2.掌握函數嵌套調用的方式 (六)函數的遞歸調用:掌握函數遞歸調用的方式 (七)數組作函數參數:掌握數組元素、數組名、多維數組作函數參數的方式 (八)局部變量和全局變量:1.掌握局部變量的含義和作用域 2.掌握全局變量的含義及作用域 (九)動態存儲變量和靜態存儲變量: 1.掌握局部變量的存儲方式 2.掌握全局變量的存儲方式
五、重點、難點
(一)函數的定義及調用的一般形式 (二)形參與實參的值傳遞 (三)函數返回值 (四)函數的嵌套調用、遞歸調用 (五)數組作函數參數
(六)局部變量和全局變量 (七)動態存儲變量和靜態存儲變量
第八章 編譯預處理
一、學習目的和要求
通過本章的學習,掌握宏定義的方式及應用,了解文件包含和條件編譯。
二、考試內容
第一節 宏定義
(一)不帶參數的宏定義的一般形式:#define 標識符字符串 (二)帶參數的宏定義的一般形式:#define宏名(參數表)字符串 (三)宏定義的作用域:
第二節 文件包含
(一)文件包含的定義:一個源文件可以將另外一個源文件的全部內容包含進來。 (二)文件包含的一般形式:#include“文件名”
第三節 條件編譯
(一)條件編譯的定義:對源程序中滿足一定條件的其中一部分內容進行編譯。 (二)條件編譯的幾種形式:1.#ifdef 標識符 程序段1 #else 程序段2 #endif 2.#ifdef 標識符 程序段1 #else 程序段2 #endif 3.#if 表達式 程序段l #else 程序段2 #endif
三、考核知識點
(一)宏定義 (二)文件包含 (三)條件編譯
四、考核要求
(一)宏定義:1.掌握不帶參數宏定義的定義形式和用法 2.掌握帶參數宏定義的定義形式和用法 3.掌握宏定義的作用域 (二)文件包含:掌握文件包含的用法 (三)條件編譯:掌握條件編譯的用法
五、重點、難點
不帶參數的宏定義和帶參數的宏定義的用法及作用域
第九章 指針
一、學習目的和要求
通過本章的學習,掌握指針的概念、數據組的指針、字符串指針、函數指針、返回指針值的函數、指針數組及指向指針的指針,并會用指針編程來解決實際問題。
二、考試內容
第一節 指針的概念
(一)指針的定義:變量的地址即為變量的指針 (二)指針和指針變量的區別
第二節 變量的指針和指向變量的指針變量
(一)指針變量定義的一般形式:類型標識符 *標識符 (二)指針變量的引用 (三)指針變量作函數參數的用法
第三節 數組的指針和指向數組的指針變量
(一)指向數組元素的指針變量的定義與賦值 (二)通過指針引用數組元素 (三)數組名作函數參數1.形參和實參都用數組名;2.實參用數組名,形參用指針變量;3.實參形參都用指針變量;4.實參為指針變量,形參為數組名 (四)指向多維數組的指針和指針變量: 1.多維數組的地址 2.多維數組的指針
第四節 字符串的指針和指向字符串的指針變量
(一)字符串的表示形式: 1.用字符數組實現 2.用字符指針實現 (二)字符串指針作函數參數; (三)字符指針變量與字符數組;
第五節 函數的指針和指向函數的指針變量
(一)用函數指針變量調用函數:指向函數的指針變量的一般意義形式為數據類型標識符(*指針變量名)( ); (二)把指向函數的指針變量作函數參數
第六節 返回指針值的函數
(一)返回指針值的函數一般定義形式:類型標識符 *函數名(參數表);
第七節 指針數組和指向指針的指針
(一)指針數組: 1.指針數組的定義形式:類型標識*數組名[數組長度說明] 2.指針數組的含義及應用 (二)指向指針的指針 (三)指針數組作main函數的形參: 1.一般形式:main(argc,argv) 2.argc、argv的含義
三、考核知識點
(一)變量的指針和指向變量的指針變量; (二)數組的指針和指向數組的指針變量; (三)字符串的指針和指向字符串的指針變量;
(四)函數的指針和指向函數的指針變量; (五)返回指針值的函數; (六)指針數組和指向指針的指針
四、考核要求
(一)指針的概念:掌握指針、指針變量的定義及兩者之間的區別 (二)變量的指針和指向變量的指針變量: 1.掌握指針變量的引用方式 2.掌握指針變量作為函數參數的方式 (三)數組的指針和指向數組的指針變量: 1.掌握指向數組元素的指針變量的定義與賦值方式;2掌握通過指針引用數組元素的方法;3.掌握數紕名作函數參數的方式;4.掌握指向多維數組的指針和指針變量的用法 (四)字符串的指針和指向字符串的指針變量:1.掌握字符串的表示形式;2.掌握字符串指針作函數參數的用法;3.掌握字符指針變量與字符數組的用法 (五)函數的指針和指向函數的指針變量:1.掌握用函數指針變量調用函數的方法;2.掌握指向函數的指針變量作函數參數的方法 (六)返回指針值的函數:掌握返回指針值的函數的使用方法 (七)指針數組和指向指針的指針:1.掌握指針數組的概念及使用方法;2.掌握指向指針的指針的用法;3.掌握指針數組作 main函數的形參的方式;4.掌握argc、argv的具體含義
五、重點、難點
(一)指針變量作函數參數 (二)數組的指針和指向數組的指針變量 (三)字符串指針和指向字符串的指針變量 (四)函數的指針和指向函數的指針變量 (五)指針數組及指向指針的指針 (六)指針數組作main函數的形參
第十章 結構體與共用體
一、學習目的和要求
通過本章的學習,掌握結構體類型變量定義方式、結構體類型變量的引用和初始化,掌握結構體數組、指向結構體類型數據的指針及用指針處理鏈表,了解共用體,枚舉類型和typedef定義類型。
二、考試內容
第一節 概述
定義一個結構體類型的一般形式:struct結構體名{成員表列};
第二節 定義結構體類型變量的方法
定義結構體類型變量的方法有三種:1.先定義結構體類型再定義變量名;2.在定義類型的同時定義變量;3.直接定義結構類型變量
第三節 結構體類型變量的引用
結構體變量的引用應遵守四T規則
第四節 結構體變量的初始化
(一)對外部存儲類型的結構體變量進行初始化的方法 (二)對靜態存儲類型的結構體變量進行初始化的方法
第五節 結構體數組
(一)結構體數組的定義 (二)結構體數組的初始化 (三)結構體數組的應用
第六節 指向結構體類型數據的指針
(一)指向結構體變量的指針 (二)指向結構體數組的指針 (三)用指向結構體的指針作函數參數
(四)指向結構體類型數據的指針的應用
第七節 用指針處理鏈表
(一)鏈表的概述:1.鏈表的定義 2.處理鏈表的三個有關函數 (二)建立鏈表的方法 (三)輸出鏈表的方法 (四)對鏈表的刪除操作方法 (五)對鏈表的插入操作方法
第八節 共用體
(一)共用體的概念: 1.共用體類型變量的定義形式:union共用體名 {成員表列)變量表列: (二)共用體變量的引用方式: (三)共用體類型數據的特點 (四)共用體類型變量的應用
第九節 枚舉類型
枚舉類型變量的定義及特點
第十節 用 typedef 定義類型
用 typedef 定義變量的方式
三、考核知識點
(一)結構體 (二)用指針處理鏈表 (三)共用體
四、考核要求
(一)結構體:1.掌握定義結構體類型變量的方法 2.掌握結構體類型變量的引用 3.掌握結構體變量的初始化 4.掌握結構體數組 5.掌握指向結構體類型數據的指針 (二)用指針處理鏈表:1.掌握建立鏈表的方法2.掌握輸出鏈表的方法 3.掌握對鏈表的刪除操作 4.掌握對鏈表的插入操作 (三)共用體:1.掌握共用體的概念;2.掌握共用體變量的引用方式;3.掌握共用體數據類型的特點 (四)枚舉類型:掌握枚舉類型的定義方式及特點 (五)typedef 類型:了解typedef 定義類型的方式
五、重點、難點
(一)結構體數組及指向結構體類型數據的指針 (二)鏈表的操作
第十一 章位運算
一、學習目的和要求
通過本章的學習,掌握數值的三種表示方法:原碼、反碼、補碼;掌握位運算符的含義及所實現的功能,了解位段的內涵。
二、考試內容
第一節 概述
(一)原碼、反碼、補碼的定義及正負數用原碼、反碼、補碼的表示形式。
第二節 位運算符
(一)位運算符的種類:δ(按位與)、|(按位或)、∧(按位異或)、~(取反)、《(左移、)》(右移) (二)各種位運算符所實現的功能
第三節 位段
(一)位段的定義:是以位為單位定義長度的結構體類型中的成員 (二)位段的應用
三、考核知識點
(一)正負數原碼、反碼、補碼的表示形式 (二)位運算符所實現的功能
四、考核要求
(一)掌握正負數原碼、反碼、補碼的表示形式 (二)掌握位運算符的種類及功能 (三)了解位段的定義及應用形式
五、重點、難點
(一)正、負數的反碼、補碼 (二)位運算符的具體應用形式及所實現的功能
第十二章 文件
一、學習目的和要求
通過本章的學習,掌握文件的定義、文件類型指針、文件的打開與關閉、文件的讀寫;了解文件的定位及出錯的檢測方法。
二、考試內容
第一節 C 文件概述
(一)文件的含義:存儲在外部介質上數據的集合
(二)文件的存取方式:字符
第二節 文件類型指針
(一)定義文件型指針變量的方式:FILE * fp;
第三節 文件的打開與關閉
(一)文件的打開(fopen函數)通用方式:FILE * fp; fp=fopen(文件名,使用文件方式) (二)使用文件方式及含義 (三)打開文件的常用方法: if((fp=fopen("filel","r"))=NULL) {printf("cannot open this file\n"); exit(0);} (四)文件的關閉的一般形式:fclose(文件指針);
第四節 文件的讀寫
(一)fputc 函數:1.fputc 函數的一般形式:fputc(ch,fp);2. fputc 函數的作用:把一個字符寫到磁盤文件上 (二)fgetc 函數:1.fgetc 函數的調用形式:ch=fgetc(fp); 2.fgetc 函數的作用:從指定文件讀入一個字符 (三)fputc 函數和fgetc函數的應用 (四)fprintf 函數的一般調用方式:fprintf(文件指針,格式字符串,輸出表列)
(五)fscanf 函數的一般調用方式:fscanf(文件指針、格式字符串、輸出表列)
第五節 文件的定位
(一)rewind 函數的作用:使位置指針重新返回文件的開頭 (二)fseek 函數的作用:改變文件的位置指針 (三)fseek 函數的調用方式:fseek(文件類型指針.位移量,起始點)
第六節 出錯的檢測
(一)ferror 函數的一般調用方式:ferror(fp); (二)clearerr 函數的作用:使文件錯誤標志和文件結束標志置為0。
三、考核知識點
(一)文件的打開與關閉 (二)fputc函數;fgetc函數、fprintf函數、fscanf函數
四、考核要求
(一)掌握文件的定義及文件的存取單位; (二)掌握文件類型指針變量的定義力式; (三)掌握文件的打開與關閉的方法; (四)掌握fputc函數、fgetc函數、fprintf函數及fscanf函數 (五)了解文件的定位函數及檢測文件出錯的函數
五、重點、難點
(一)文件的打開與關閉 (二)fputc、fgetc、fprintf、fscanf 函數的用法
三、有關說明與實施要求
為了使本大綱的規定在個人自學和考試命題中得到貫徹和落實,特對有關問題作如下說明,并提出具體實施要求。
1。考核目標的說明:為使考試內容具體化和考試要求標準化,本大綱在列出各章節考試內容的基礎上,對各章規定了考核目標、考核知識點、考核要求及重點難點。明確考核目標,使自學應考者能明確考試內容和要求,可有目的地系統學習教材,使考試命題明確考核范圍,更準確地安排試題的難易度。
本大綱中要求掌握的內容是考試必考內容,要求了解的內容不作考試要求。
2.學習方法指導:
(1)認真閱讀教材:閱讀教材是自學的基本環節。閱讀教材前,應先了解自學考試大綱中的學習目的和要求、考核知識點、考核要求及考試重點、難點。理解每一章的基本要點,然后系統地讀書。讀書過程中應當記憶基本概念、語法,并閱讀教材中的例程序,弄懂編寫程序的步驟和基本方法。
(2)做好讀書筆記:寫讀書筆記是鞏固所學知識的一種重要方法,閱讀教材是理解課程內容的基礎,要切實深刻地理解掌握課程內容,必須把讀書與思考結合起來,通過寫讀書筆記用自己的語言表達出來變成自己的東西。
(3)認真作練習:在閱讀教材后,應按照教材上的范例,多做語法練習題及編程題和上機調試程序,把C語言的語法和C程序的設計方法在平時的練習中逐步消化。
3.關于自學教材:自學教材為《C程序設計》,譚浩強主編,清華大學出版社1991年以后版本
4.考試時間長度:120分鐘
5.考試的題型:填空題、選擇題、分析程序輸出結果題、完善程序題
6.題型舉例及解答要求:
一、填空題:
1.將下列表達式(1)-(6)作為printf("%x",--)的第二個參數,請把相應的輸出填在( )中。(int a=5;) (1)-1( ) (2)!a∧a( ) (3)a‖O( ) (4)17δ20( ) (5)a<<5( ) (6)sizeof(int)( ) 解答要求:在認真閱讀上述內容的基礎上,在每個括號中填入一個答案。
二、選擇題:在下列備選答案中,先選出一個正確答案,將其序號填在題后的括號內。
1.下列說明中正確的是( ) A、char a,b;*c; B、char a;*b,c; C、char *a,b,c; D、char a,b,*c;
2.以下程序的輸出是( )。 main( ){printf("%d",NULL);} A、'\O' B、1 C、O D、無定義 三、分析下列程序的輸出結果:閱讀程序后,在輸出結果后的括號內填入正確的答案。
1.long fun(int n) {long s; if(n= =‖n= =2) S=2; else s=n+fun(n-1); return(s);} main( ) {long x; x=fun(4); printf(″%ld ″,x);} 輸出結果:( )
四、完善下列程序:在程序中標有數碼的空缺中填入正確的答案,每空只能填寫一條。
#define SIZE 12 main( ) {int a[SIZE],i,j,t; for(i=o;i<SIZE;(++) scanf(″%d″,(1)); i=o;j=(2); while(i<j) {t=a[i];(3);(4);i++;j(5);} for(i=o;i<SIZE;i++) printf(″%3d″,a[i]);printf(″ ″);}