《C語言程序設計》教學大綱_第1頁
《C語言程序設計》教學大綱_第2頁
《C語言程序設計》教學大綱_第3頁
《C語言程序設計》教學大綱_第4頁
《C語言程序設計》教學大綱_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 C 語言程序設計教學大綱課程名稱:中文名稱:C語言程序設計;英文名稱:C Language Programming課程編碼 : 161002學 分 : 4.5 分總 學 時 : 72 學時,其中, 理論學時 : 52 學時; 上機學時 : 20 學時。適用專業:全校理工科各專業先修課程:計算機基礎執筆人:審訂人:一、課程的性質與任務 C 語言程序設計 是為全校所有的理工科專業的學生開設的公共基礎課, 也是一門重要的必修課。其目的是使學生掌握程序設計的基本方法,培養學生掌握利用計算機處理問題的思維方法與應用能力。 要求學生掌握程序的三種基本結構及結構化的程序設計方法, 了解并掌握幾種典型的算法

2、,并且能夠熟練地運用 C 語言編寫各種應用程序,為進一步學習其它相關課程奠定基礎。二、教學內容與學時分配第一章 程序設計基本概念(3 學時 )本章重點:一、算法及特性;二、結構化程序設計方法。難點:算法設計及其表示。第一節程序和程序設計一、程序;二、程序設計。第二節算法第三節結構化程序設計方法第四節C 語言程序的基本結構第二章 數據類型、運算符和表達式(5 學時 )本章重點:一、標識符的正確使用;二、各種基本數據類型的使用;三、算術運算符的優先級和結合性;四、表達式計算中的類型轉換。難點:一、各種類型數據在計算機內存中的存儲形式;二、自增自減運算。第一節 C 語言的數據類型第二節常量與變量第三

3、節整型數據第四節實型數據第五節字符型數據第六節算術運算符與算術表達式第七節賦值運算符與賦值表達式一、賦值運算符和賦值表達式;二、復合的賦值表達式;三、自加、自減運算符;四、賦值運算中的類型轉換。第八節 逗號運算符與逗號表達式第三章 順序結構程序設計(4 學時 )本章重點:一、 printf 函數;二、 scanf 函數。難點:輸入與輸出時的格式控制。第一節 C 語句概述第二節賦值語句第三節數據的輸入與輸出一、 printf函數;二、 putchar 函數;三、 scanf 函數;四、 getchar 函數(4 學時 )第四節 順序結構程序舉例第四章 選擇結構程序設計本章重點:一、邏輯值的表示、

4、使用及其運算;二、關系運算符的運算規則及關系表達式;三、邏輯運算符的運算規則及邏輯表達式; 四、 if 語句; 五、 switch 語句的形式與執行過程。 難點: 一、邏輯表達式求值時的“非完全求解法” ;二、條件運算符具有的自右向左的結合性及條件表達式的求解過程; 三、 if 語句的嵌套使用問題; 四、 switch 語句的執行過程及在 switch 語句中正確使用 break 語句的方法。第一節 關系運算和邏輯運算一、邏輯量及其在C語言中的表示;二、關系運算符和關系表達式;三、邏輯運算符和邏輯表達式。第二節if 語句第三節條件運算符和條件表達式第四節switch語句第五節語句標號和goto

5、語句(本節內容僅要求一般了解)第六節選擇結構程序舉例第五章 循環結構程序設計(6 學時 )本章重點:一、 while 循環、 do-while 循環及 for 循環的構成、執行過程及使用方法;二、循環嵌套的使用方法;三、用循環結構實現的典型算法,如:累加、階乘、窮舉法、遞推法等。難點:一、 for 循環使用時的靈活性,如:表達式的缺省及其處理、循環體是空語句等;二、多重循環(即循環嵌套)的使用;三、 break 語句和 continue 語句的作用和區別。第一節while語句第二節 do-while 語句第三節 for 語句第四節循環的嵌套第五節break和 continue語句在循環體中的作

6、用一、 break 語句;二、continue 語句。第六節用 if 語句和 goto 語句構成的循環(本節內容僅要求一般了解)第七節循環結構程序舉例第六章 數組 (6 學時 )本章重點:一、各類數組的定義、 引用及初始化;二、用字符數組來處理字符串;三、數組應用的典型算法,如:求最大/ 最小值、排序等; 四、字符串處理函數。難點:一、二維數組的存儲結構;二、字符數組與字符串的關系;三、字符串的輸入輸出。第一節一維數組第二節二維數組第三節字符數組一、字符數組的定義與引用;二、字符數組的初始化;三、用字符數組來存放字符串;四、字符數組的輸入和輸出;五、用于字符串處理的函數;六、字符數組應用舉例。

7、第七章 函數(6 學時 )本章重點:一、庫函數的正確使用;二、函數的定義、調用和說明的方法;三、調用函數和被調用函數之間的數據傳遞規則;四、函數的遞歸調用方法。難點:一、函數定義、調用和說明三者的關系;二、傳值調用、傳址調用的含義及使用;三、遞歸的實現方法。第一節庫函數第二節函數的定義和返回值第三節函數的調用第四節函數的說明第五節調用函數和被調用函數之間的數據傳遞第六節函數的遞歸調用第七節程序舉例第八章 用戶標識符的作用域和存儲類型(4 學時 )本章重點:一、作用域與生存期的基本概念;二、局部變量、全局變量的作用域、生存期及各自使用時的特點; 三、 static 說明對局部變量和全局變量的影響

8、; 四、 擴展全局變量作用域的方法。難點:一、 4 種存儲類型變量的說明方式、特點及適用范圍;二、靜態局部變量的初始化及其對程序的影響;三、全局變量與局部變量同名時的處理。第一節局部變量、全局變量和存儲分類第二節局部變量及其作用域和生存期第三節全局變量及其作用域和生存期第四節函數的存儲分類第九章 編譯預處理(2 學時 )本章重點:一、不帶參數的宏定義;二、文件包含的作用;三、編譯預處理命令在程序中的實際作用。難點:一、帶參數的宏定義的替換過程;二、宏調用與函數調用的區別。第一節宏定義第二節文件包含第三節條件編譯(本節內容僅要求一般了解)第十章 指針(4 學時 )本章重點:一、指針和指針變量的概

9、念;二、指針變量的引用;三、一維數組與指針;四、指針變量作為函數的參數。難點:一、指針與內存地址的關系;二、指針與數組的地址的關系;三、函數指針;四、數組的三種引用方式(下標法、首地址增量法、指針變量法) 。第一節指針的基本概念第二節指針變量的定義與引用第三節函數之間地址值的傳遞第四節一維數組和指針第五節二維數組和指針(本節內容僅要求一般了解)第六節字符串與指針第七節函數與指針(本節內容僅要求一般了解)第十一章結構體、共用體和用戶定義類型(4 學時 )本章重點:一、結構體類型與結構體類型變量的定義;二、結構體類型變量的引用方法、 “ .操作符的意義以及其優先級;三、結構體數組的定義形式、初始化

10、及其引用方式;四、指向結構體的指針。難點:一、指向結構體的指針;二、結構體數組;三、鏈表的概念及其對鏈表的一些簡單操作;四、結構體變量的成員與共用體變量的成員在內存中的分布形式;五、結構體變量及結構體指針作為函數的參數。第一節結構體類型第二節結構體數組第三節指向結構體的指針第四節結構體與函數第五節鏈表第六節共用體(本節內容僅要求一般了解)第七節枚舉類型(本節內容僅要求一般了解)第八節 用 typedef 說明一種新類型名(本節內容僅要求一般了解)第十二章位運算(2 學時 )本章重點:一、位運算符的語義及作用;二、位運算的應用。難點:位段的概念及使用。第一節位運算的概念第二節位運算舉例第三節位段

11、(本節內容僅要求一般了解)第十三章文件(2 學時 )本章重點:一、文件指針的概念;二、文件打開和關閉;三、 fscanf 函數和 fprintf 函數。難點:各種文件打開方式的作用。第一節C 語言文件的概念第二節文件指針第三節文件的打開與關閉第四節文件的讀寫第五節文件定位函數(本節內容僅要求一般了解)三、教學基本要求本課程的基本要求是掌握程序設計的基本原理、概念和方法;在介紹算法、數據結構、計算方法、結構化程序設計方法的基礎上,主要介紹 C 語言及其程序設計方法及應用。主要內容包括:了解 C 語言的各種數據類型的特點及其運用方法; 掌握各類語句的語法及功能; 了解算法的描述方法,并掌握一些基本

12、的典型算法;了解程序的三種基本結構,并初步掌握結構化的程序設計方法;掌握在微機中運行C 程序的過程和程序調試的方法;能夠閱讀、理解簡單的 C 程序,并能自己動手編寫小型的應用程序。四、上機內容與學時分配1 、順序結構程序設計2學時2 、選擇結構程序設計2學時3 、循環結構程序設計4 學時4 、數組4 學時5 、函數4學時6 、指針2 學時7 、結構體與共用體2 學時五、大綱說明本大綱適用于全校理工科各專業。本課程宜安排在學生學完“計算機基礎”課程之后的第二學期進行,教學總時數為72 學時,其中課堂講授52 學時,計劃內上機學時為 20 學時,另外需要學生多利用業余時間自主安排上機學習。本課程的

13、課堂教學全面采用多媒體 CAI 技術,按照本大綱的內容進行教學。課程的重點是第三、四、五、六、七章的基本內容;難點主要是第六、七、十章的部分內容。六、主要參考書1、C語言程序設計第一版,杜友福主編,科學出版社, 2004年1月。2 、 C 語言程序設計導學第一版,杜友福主編,科學出版社, 2004 年 1 月。3、C程序設計第一版,譚浩強編著,清華大學出版社, 1991年7月。C語言程序設計實驗(上機)教學大綱實驗名稱:C語言程序設計課內上機學 時:20學時學 分:適用專業:全校理工科各專業執筆人:李新玉審訂人:杜友福一、實驗目的與任務計算機程序設計語言是在校大學生必須掌握的一種工具。理工科各

14、專業的學生通過本課程的課 內上機教學環節,應使學生在C語言編程方面得到實際訓練,使學生了解并掌握在微機中運行C語言程序的步驟及程序調試的基本技能,了解C語言的功能和適用領域,具備程序設計的知識和能力。二、教學基本要求通過上機實驗,加深對基礎理論知識和實例程序的理解,培養學生自己動手在微機中利用TurboC或Visual C+等集成開發環境編輯、調試和運行C語言程序的基本技能。要求學生熟練掌握實驗項目中所列C語言課程的基本知識點,學會綜合運用三種基本結構進行程序設計的基本方法。三、實驗項目與類型序 號實驗項目學 時實驗類型備注驗證設計綜合創新必做選做1順序結構程序設計2VV2選擇結構程序設計2V

15、VV3循環結構程序設計4VVVV4數組4VVVV5函數4VVVV6指針2VVVV7結構體與共用體2VVVV四、實驗教學內容及學時分配實驗一順序結構程序設計(2學時)1 .目的要求了解并掌握在 Turbo c 3.0或VC的集成開發環境中如何編輯、編譯、連接和運行一個 C程序的過程。掌握和理解 C程序的基本結構。掌握各種表達式的使用。掌握和理解本實驗中出現的一些基 本的C語言語句,體會算法在程序設計中的重要性。2 .方法原理參照C語言程序設計導學 中的“C語言上機指南”,將課本中的實例程序輸入計算機中編譯、 連接和運行,并觀察、分析運行結果。3 .實驗內容(1) printf函數中的格式控制字符

16、串。(2) 在printf函數中指定輸出數據的寬度。( 3 )在printf 函數中指定輸出數據的精度。( 4 )在printf 函數中指定輸出數據以左對齊的格式輸出。( 5 )字符型數據的輸入與輸出。(6)編程從鍵盤輸入圓的半徑radius,輸出圓的周長和圓的面積。( 7 )編寫程序,從鍵盤輸入一個以秒為單位的時間數,將其換算成幾小時幾分幾秒,然后進行輸出。實驗二 選擇結構程序設計(2學時 )1 目的要求進一步掌握C 程序的編譯、連接與運行的過程及各種表達式的使用。 利用 if 語句實現選擇結構,利用 switch 語句實現多分支選擇結構,練習調試與修改程序。2 實驗內容(1) 輸入任意三個

17、整數n1、n2、n3,求三個數中的最大值。( 2 ) 輸入三個整數,分別放在變量a、 b、 c 中,程序把輸入的數據重新按由小到大的順序放在變量a、 b、 c 中,最后輸出 a、 b、 c 中的值。( 3) 編寫程序,根據輸入的學生成績,給出相應的等級。 90 分以上的等級為A , 60 分以下的等級為E,其余每10分為一個等級。( 4 ) 編寫一程序實現符號函數的功能。( 5 ) 編寫程序,輸入能代表一個日期的三個整數(年:y 、月: m 、日:d) ,計算并輸出該日是該年的第幾天。( 6 ) 寫一程序,從鍵盤上輸入一個年號year( 4 位十進制整數) ,判斷該年是否閏年。( 7 ) 編程

18、求一元二次方程的解。實驗三 循環結構程序設計(4學時 )1 目的要求進一步熟悉選擇結構的程序設計,練習并掌握實現循環結構的三種方法,練習并掌握選擇結構與循環結構的嵌套,練習調試與修改程序。2 實驗內容( 1 )統計從鍵盤輸入的一行字符的個數。( 2 )從鍵盤輸入一組數據,以0 作為結束輸入數據的標志,求這組數據之和。(3) 編寫程序,用累加的方法求: 1+2+3+ +100 的值。( 4)循環嵌套的應用輸出九九乘法表。( 5 ) 在循環體中使用 break 語句。( 6 )在循環體中使用continue 語句。(7)計算并輸出500 以內最大的 10 個素數以及它們之和。( 8 )編程求解百錢

19、買百雞問題。(9) 要將一根長度為 323 米的鋼材截取成兩種規格a、 b 的長度分別為 17米和 27 米的短料 , 每種至少 1 段 , 問分割成 a, b 各多少段后,剩余的殘料r 最少?實驗四 數組 (4學時 )1 目的要求掌握數組的定義和數組元素的引用方法,掌握數組初始化的方法,理解字符數組與字符串之間的關系,掌握字符數組(字符串)輸入輸出的方法,掌握常用字符串處理函數的正確使用方法。2 實驗內容1 ) 編寫程序,定義一個含有30 個元素的 int 類型數組。依次給數組元素賦奇數1, 3 ,5, ;然后按每行10 個數順序輸出,最后再按每行10 個數逆序輸出。2 ) 用一維數組來實現

20、斐波那契數列。(3)通過鍵盤給NX N的二維數組輸入數據,然后求出其主、次對角線元素之和。(4)有一個3X4的矩陣,編程求出其中值最大的那個元素的值及其所在的行號和列號。5 ) 字符數組的輸入和輸出。6 ) 用于字符串處理的函數。實驗五 函數(4學時 )1 目的要求掌握在 C 語言中使用函數的方法,掌握C 語言通過“值傳送”調用函數的方法,掌握遞歸函數的設計方法。2 實驗內容( 1 )練習使用函數定義的兩種形式。( 2 )練習使用函數調用的三種方式。( 3 )練習使用函數定義與函數說明位置的各種組合情況。( 4 )函數參數之間的單向傳遞。( 5) 用選擇法對數組中 10 個整數由小到大排序。(

21、 6 )將一個數組中的n個數據按顛倒的順序重新存放。( 7 )用遞歸的方法求n!。實驗六 指針 (2學時 )1 目的要求了解指針和內存地址的基本概念,掌握指針變量的定義及引用方法,掌握指針變量作為函數參數以及返回值為指針值的函數的用法,掌握使用指針訪問一維數組的方法。2 實驗內容( 1 )取地址運算符“& ”和指針運算符“* ”的使用。( 2 )指針變量的定義、賦值與引用。( 3 ) 用指針變量作為函數參數,在函數中交換主函數的變量a 和變量 b 的值。( 4 )通過指針引用數組元素。實驗七 結構體與共用體 (2學時 )1 目的要求掌握結構體類型的定義方法,掌握結構體類型變量的定義、引

22、用及初始化方法,掌握結構體類型數組的定義、初始化與引用方法,掌握結構體變量的指針和結構體數組的指針的定義及使用,熟悉通過指向結構體的指針引用結構體的成員的方法,會正確使用“ -> ”操作符,掌握鏈表的概念及定義形式,了解鏈表的一些簡單操作。2 實驗內容( 1 )在結構體中包含結構體類型成員。( 2 )結構體類型變量的初始化。( 3 )結構體數組的引用。( 4 )指向結構體類型變量的指針。( 5 )一個簡單的靜態鏈表。( 6 )簡單動態鏈表的構造方法。五考核辦法上機操作考查占 40%;考勤與學習態度考查占30%;作業完成情況考查占30%。考核成績作為課程的平時成績,并以 20%計入課程總成

23、績。六實驗教學指導書和參考書1、C語言程序設計導學第一版,杜友福主編,科學出版社,2004年1月。2 C 語言程序設計第一版,杜友福主編,科學出版社,2004 年 1 月。3 C 程序設計第一版,譚浩強編著,清華大學出版社,1991 年 7 月。計算機上機實習(C語言)»教學大綱實習名稱:計算機上機實習(C語言)實習類型: 教學實習學 分 : 2 學分實習周數: 2 周適用專業:全校理工科各專業執 筆 人: 李新玉審 訂 人 :杜友福一、實習的性質、目的與任務“計算機上機實習(C語言)”是為了加強學生對 c語言的進一步理解和應用、為學習后續課程打下良好編程基礎而開設的一門實踐課。時間

24、為期兩周,每生累計上機32 學時, 2 個學分。二、教學基本要求1 進一步熟悉 Tc3.0 的開發環境(也可以用 Vc6.0 的開發環境) ,掌握基本的編程方法,熟悉用 c 語言完成一個應用程序的設計過程、掌握有關編輯和調試程序的方法和技巧;2主要掌握c 語言中的結構體、指針、鏈表及文件操作等內容;3了解開發簡單應用程序的全過程,包括:分析、設計、編程、調試和編寫實習報告。三、實習內容 (實習內容隔年更換)1 系統名稱:簡易教學管理系統的設計與實現2 準備數據(1) 用記事本新建一文本文件,文件名為: “班名 +序號” ,如計算機051 班的 12 號同學所建的文件名應為:“JSJ05112”

25、。將本班的M名學生在本學期的N門考試課的成績(要求用真實的課程名、假想的分數,并要求將自己的學號定義為 1 ,將自己的每門課的分數都定在 90 分以上,而將別人的每門課的分數都定在95分以下。)輸入到這個文件中,建議按如下形式存放(注:20WMK 50、5WN<8,下文以 M=4,N=3為例):學號姓名英語c語言數學1我自己9693992張某7689893李某9196674王某755856(2) 用記事本新建另一文本文件,文件名為: “班名” ,如計算機051 班的所有同學所建的文件名應為: “ JSJ 051 ” 。將本班本學期的 N 門真實的課程名及其學分輸入到這個數據文件中,建議按

26、如下列形式存放:編號課程名稱課程學分1英語6.02 c語言4.53數學5.5(3) 能要求在主函數中讀入兩個原始數據文件的數據,保存在對應的結構體數組中,并根據以上內容計算每個學生N門課的加權平均分(保留 1位小數,4舍5入),并按平均分排列名次,平均分相同則名次并列。然后顯示菜單,利用菜單調用各個函數,分別完成如下功能:(注意:若文本文件JSJ05112存放在軟盤的 ABC文件夾中,則 fopen()函數中的文件名應為:" a:ABCJSJ05112.txt”)。(1)用C語言創建一個數據文件,文件名為:“MingC+序號”,如計算機051班的12號同學所建的文件名應為"

27、MingC12.txt用來存放班級的成績表,要求按以下形式存放。名次 學號姓名英語 C 語言數學平均成績11我自己 96939995.532張某 76898980.543李某 91966778.224王某 75585688.855趙某 58677768.5(2)分別統計全班每門課的平均分和標準差,并計算各分數段(60分以下;6069; 7079;8089; 90分以上)的學生人數。(Xi i 1X )2課程標準差的計算公式為:式中:y為課程標準差,Xi為第i個學生的成績, 力為本門課程的 算術平均成績,N為學生數。(3)用C語言創建一個數據文件,文件名為:“KEC厲號”,如計算機051班的12

28、號同學所建的文件名應為:“KC12.txt在文件中存放的數據格式如下:編號課程名稱 平均分標準差 優秀良好中等及格不及格1 英語5.016.831018 1532 C 語言 3.5 11.715 20 13 83 數學4.518.591219 81(4)打印每名學生成績條,結果存放到用C語言創建的一個數據文件中,文件名為:“CJ+ffi名”, 如計算機051班的12號同學所建的文件名應為:“CJJSJ051.txt成績條的格式自定。(5)屏幕顯示所有存在不及格課程的學生的名單(含學號、不及格課程名稱、課程的學分及成 績)。(6)屏幕顯示優等生名單(含學號、N門課成績、平均分、名次)優等生條件(只要滿足三個條件中的任意一個條件即可):平均分大于91分名次在本班位于前四名 平均分大于87分,并且至少有一門課的成績為100分(7)選做內容:屏幕顯示每門課的成績分布圖四、實習方式、實習地點及時間安排1 .實習方式由指導教師具體指導,集中上機實習。2周內的非上機時間,由學生自主編寫程序。2 .實習地點校內教育技術與服務中心的學

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論