級C語言程序設(shè)計實驗教學大綱_第1頁
級C語言程序設(shè)計實驗教學大綱_第2頁
級C語言程序設(shè)計實驗教學大綱_第3頁
級C語言程序設(shè)計實驗教學大綱_第4頁
級C語言程序設(shè)計實驗教學大綱_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、C語言程序設(shè)計實驗教學大綱學時課程總:64 學分:4 實驗學時:24 實驗個數(shù):9 實驗學分: 1.5課程性質(zhì):必做 適用專業(yè): 計算機科學技術(shù)、網(wǎng)絡(luò)工程、軟件工程、電子商務(wù)、教育技術(shù)教材及參考書:C語言程序設(shè)計與實踐實驗指導,謝滿得 邵俊 編著,機械工業(yè)出版社,2014年1月 大綱執(zhí)筆人: 大綱審定人: 一、實驗課的性質(zhì)與任務(wù)C語言程序設(shè)計實驗是面向計算機相關(guān)專業(yè)學生開設(shè)的C語言程序設(shè)計實驗課,是配合C語言程序設(shè)計課程而開設(shè)的實踐性教育環(huán)節(jié)。本課程的主要任務(wù)是讓學生充分掌握C語言程序設(shè)計的基本概念、各種數(shù)據(jù)類型的使用技巧、模塊化程序設(shè)計的方法等。C語言程序設(shè)計實驗對課程中所涉及的知識進行驗證

2、,同時也是學生很好地學習課程的輔助手段。通過C語言上機實驗的教學活動,使學生真正全面掌握C語言的基礎(chǔ)知識,培養(yǎng)和提高學生的程序開發(fā)能力。二、實驗課程目的與要求1實驗目的通過實驗課程的學習實踐,加深學生對所學的基本概念、基礎(chǔ)理論和知識的理解,熟悉使用Visual C+ 6.0集成環(huán)境進行C語言的編寫、編譯與調(diào)試。同時,通過項目開發(fā)全過程的全方位指導,從需求分析、算法設(shè)計到程序編寫和過程調(diào)試,以項目實訓的形式引導和幫助學生解決實際問題,提高學生解決具體問題的能力,以及培養(yǎng)學生用多函數(shù)、多文件組織程序的思維習慣,為今后的后繼課程學習和實際工作打下良好基礎(chǔ)。2實驗要求(1)掌握C語言程序的基本格式,了

3、解C程序的開發(fā)過程和C語言中的一些常用概念。(2)掌握常量和五種基本數(shù)據(jù)類型變量的使用。(3)掌握C表達式和運算符的正確使用,熟練掌握數(shù)據(jù)輸入、輸出函數(shù)。(4)掌握條件轉(zhuǎn)移語句if-else和選擇分支語句switch;掌握三種程序跳轉(zhuǎn)的方法,即break語句、continue語句、return 語句。(5)掌握循環(huán)語句(for語句;do-while語句;while語句)的正確使用,認真體會應該如何組織循環(huán)。(6)掌握數(shù)組的定義、賦值,一維數(shù)組與二維數(shù)組的使用。(7)掌握函數(shù)的定義、函數(shù)的調(diào)用以及函數(shù)的類型說明。(8)掌握局部變量、全局變量的定義和使用。(9)掌握指針的基本概念以及數(shù)組與指針、指

4、向指針的指針的基本用法。(10)掌握結(jié)構(gòu)體變量的定義,引用結(jié)構(gòu)體中成員的方法,應用結(jié)構(gòu)數(shù)組解決實際問題;共用體的概念,引用共用體中成員的方法。(11)掌握鏈表的類型定義及其基本操作。(12)掌握文件的打開、讀寫及關(guān)閉,并能運用文件提高編程的效率。(13)理解項目式程序開發(fā)的過程。三、實驗項目及內(nèi)容提要C語言程序設(shè)計實驗課程 (1107142019)序號實驗項目編號實驗名稱學時必做選做學分數(shù)實驗類型內(nèi)容提要基本操作驗證綜合設(shè)計1實驗一數(shù)據(jù)類型和表達式211、了解C語言中數(shù)據(jù)類型的意義。2、理解常用運算符的意義。3、掌握C語言表達式的運行規(guī)則2實驗二分支結(jié)構(gòu)程序設(shè)計21了解和掌握分支語句的使用,包

5、括if語句的各種形式以及switch語句3實驗三循環(huán)結(jié)構(gòu)程序設(shè)計221、使用循環(huán)語句完成累乘、圖像輸出的程序編寫。2、掌握較復雜結(jié)構(gòu)程序的編寫。3、掌握程序調(diào)試的方法4實驗四數(shù)組程序設(shè)計42掌握一維和二維數(shù)組的使用技巧5實驗五函數(shù)521、學習函數(shù)的編程思想,編寫一個包括34個函數(shù)的程序。2、掌握函數(shù)中參數(shù)傳遞的兩種方式和函數(shù)的相互調(diào)用6實驗六指針321、用指針作為函數(shù)參數(shù)完成字符串的傳遞。2、掌握函數(shù)中參數(shù)傳遞的兩種方式7實驗七字符串與指針211、掌握用指針進行函數(shù)參數(shù)傳遞的方法。2、掌握指針數(shù)組和二維數(shù)組間的關(guān)系以及進行參數(shù)傳遞時的寫法8實驗八結(jié)構(gòu)體211、掌握結(jié)構(gòu)體的定義、數(shù)據(jù)輸入方法。2

6、、掌握結(jié)構(gòu)體成員變量的兩種訪問方法。3、掌握編寫程序完成單鏈表的建立和查詢方法9實驗九文件操作211、掌握文件的打開和關(guān)閉。2、精通文件的讀寫操作。3、了解文件的定位操作及文件的檢測函數(shù)。4、掌握文件的應用四、實驗內(nèi)容安排:實驗一 數(shù)據(jù)類型和表達式 實驗( 驗證性 實驗 2學時)1、目的要求:(1)了解C語言中數(shù)據(jù)類型的意義。(2)理解常用運算符的意義。(3)掌握C語言表達式的運行規(guī)則。(4)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)計算由鍵盤輸入的任何兩個雙精度數(shù)據(jù)的平均值。(2)寫一個輸入7個數(shù)據(jù)的程序,把輸入的數(shù)據(jù)代入a + b * (c d ) / e * f g 表達式進行

7、運算。(3)編寫一個C語言程序,測試下列各表達式: i, j i + 1 , j + 1 i+ , j+ +i , +j i+j(4)輸入存款金額money,存期year和年利率rate,根據(jù)下列公式計算存款到期時的利息interest(稅前),輸出時保留2位小數(shù)。 interest = money(1+rate)year - money(5)輸入華氏溫度,輸出對應的攝氏溫度。計算公式如下: c = 5 * ( f - 32) / 9 其中,c表示攝氏溫度,f表示華氏溫度。實驗二 分支結(jié)構(gòu)程序設(shè)計 實驗( 驗證性 實驗 2學時)1、目的要求:(1)了解和掌握分支語句的使用,包括if語句的各種形

8、式以及switch語句。(2)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)編寫一個程序完成輸入一個整數(shù),輸出它的符號。(2)請編寫居民應交水費,并提供各種測試數(shù)據(jù)。 居民應交水費y(元)與月用水量x(噸)的函數(shù)關(guān)系式如下: 0 x < 0 y = f(x) = 4x / 3 0 x 15 2.5x 10.5 x > 15(3)請根據(jù)輸入的學生成績給出成績等級的判斷,判斷規(guī)則如下: 如果輸入的成績大于等于90,則輸出優(yōu)秀; 如果輸入的成績小于90、大于等于80,則輸出良好; 如果輸入的成績小于80、大于等于70,則輸出中等; 如果輸入的成績小于70、大于等于60,則輸出及格;

9、 其他輸出不及格。 (4)運輸公司對用戶計算運費。路程(s)越遠,每公里運費越低。標準如下: s = 250km 沒有折扣 250km s < 500km 2%折扣 500km s < 1000km 5%折扣 1000km s < 2000km 8%折扣 2000km s < 3000km 10%折扣 3000km s 15%折扣 設(shè)每公里每噸貨物的基本運費為p,貨物重為w,距離為s,折扣為d,則總運費的計算公式為: f = p * w * s * ( 1 d ) 請編程實現(xiàn):從鍵盤輸入基本運費p,貨物重w,距離s,計算輸出用戶最終需要支付的運費。實驗三 循環(huán)結(jié)構(gòu)程序設(shè)

10、計 實驗( 驗證性 綜合性 實驗 2學時)1、目的要求:(1)使用循環(huán)語句完成累乘、圖像輸出的程序編寫。(2)掌握較復雜結(jié)構(gòu)程序的編寫。(3)掌握程序調(diào)試的方法。(4)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)已知xyz + yzz = 532,其中x、y、z都是數(shù)字(09),編寫一個程序求出x、y、z分別代表什么數(shù)字。#include<stdio.h>void main()int x,y,z;for(x=0;x<=9;x+)for(y=0;y<=9;y+)for(z=0;z<=9;z+)if (x*100+y*10+z+y*100+z*10+z = 5

11、32)printf("x=%d,y=%d,z=%dn",x,y,z);(2)編寫一個程序打印如下對稱圖形(行數(shù)由鍵盤輸入19范圍的值),例如下面是輸入的數(shù)字4時的情形: 4444444 33333 222 1 222 33333 4444444(3)學校有近千名學生,在操場上排隊,5人一行余2人,7人一行余3人,3人一行余1人,編寫一個程序求該校的學生人數(shù)。(4)學校某班A、B、C、D四位同學中的一位做了好事不留名,表揚信來了之后,班主任問這四位是誰做了好事,四位回答如下: A說:不是我。 B說:是C。 C說:是D。 D說:他胡說。 已知三個人說的是真話,一個人說的是假話。

12、請根據(jù)這些信息,找出做了好事的人。實驗四 數(shù)組程序設(shè)計 實驗( 驗證性 綜合性 實驗 4學時)1、目的要求:(1)掌握一維和二維數(shù)組的使用技巧。(2)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)從鍵盤輸入一個長度為N(比如10)的整型數(shù)組,而后將數(shù)組中小于零的元素移動到數(shù)組的前端,大于零的元素移到數(shù)組的后端,等于零的元素留在數(shù)組中間。比如原來數(shù)組為:2 -5 -89 75 0 -89 0 93 48 0,經(jīng)過處理后的數(shù)組為:-5 -89 -89 0 0 0 75 93 48 2。由于不要求數(shù)組有序,所以不允許用排序方法。提示:1)輸入N個數(shù)據(jù),構(gòu)建數(shù)組。2)按照要求確定數(shù)據(jù)的位置,需要

13、注意循環(huán)條件的確定、0數(shù)據(jù)元素往中間推的實現(xiàn)過程以及數(shù)組處理的方向。(2)設(shè)數(shù)組a的定義如下:int a20 = 2,4,6,8,10,12,14,16; 已存入數(shù)組中的數(shù)據(jù)值已經(jīng)按由小到大的順序存放,現(xiàn)從鍵盤輸入一個數(shù)據(jù),把它插入到數(shù)組中,要求插入新數(shù)據(jù)以后,數(shù)組數(shù)據(jù)仍然保持有序。請編寫一個程序?qū)崿F(xiàn)上述功能。提示:1)定義整型數(shù)組并初始化。2)從鍵盤輸入一個數(shù)據(jù)。3)將該數(shù)據(jù)插入到數(shù)組中,由于要保證插入的數(shù)組仍然有序,所以需要查找插入的位置。4)輸出插入數(shù)據(jù)以后的數(shù)組。(3)寫一個3 x 5矩陣的轉(zhuǎn)置程序,輸出其原矩陣的值和轉(zhuǎn)置以后的結(jié)果。提示:1)定義一個二維數(shù)組及相關(guān)變量。2)對二維數(shù)組

14、賦值,可以由鍵盤輸入,也可以通過其他方式賦值。3)輸出轉(zhuǎn)置前的二維數(shù)組。4)對二維數(shù)組中的值進行轉(zhuǎn)置。5)輸出轉(zhuǎn)置后的二維數(shù)組中的值。(4)編程實現(xiàn)隨機產(chǎn)生10個位于區(qū)間100 200互不相等的整數(shù),并將其按降序排序和輸出。實驗五 函數(shù) 實驗( 驗證性 綜合性 實驗 5學時)1、目的要求:(1)學習函數(shù)的編程思想,編寫一個包括34個函數(shù)的程序。(2)掌握函數(shù)中參數(shù)傳遞的兩種方式和函數(shù)的相互調(diào)用。(3)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)寫一個函數(shù)int digit( int n , int k ),它返回數(shù)n的從右向左的第k個十進數(shù)字值。例如,函數(shù)調(diào)用digit(1234,2)

15、將返回值3。(2)寫一個函數(shù)int isprime(int n),當n是質(zhì)數(shù)時,函數(shù)返回非零值;當n是合數(shù)時,函數(shù)返回零值。(3)寫一個函數(shù)reverse( char s),將字符串s中的字符串倒序輸出。試分別用遞歸和非遞歸兩種形式編寫。(4)寫一個主函數(shù)輸入測試數(shù)據(jù)(自己指定),并調(diào)用上述函數(shù),檢查函數(shù)功能的正確性。(5)一個數(shù)如果從左到右和從右到左讀,數(shù)字是相同的,則稱這個數(shù)字為回文數(shù),比如898、1221、15651都是回文數(shù)。求:既是回文數(shù)又是質(zhì)數(shù)的5位十進制數(shù)有多少個?要求:回文判斷和質(zhì)數(shù)判斷都需要通過子函數(shù)實現(xiàn),輸出的時候要求5個數(shù)字一行。(5)在n個已排好序(設(shè)為從小到大)的數(shù)據(jù)

16、(數(shù)或字符串)中查找某一個數(shù)據(jù),如果找到了,就指出其在n個數(shù)中的位置;否則給出無該數(shù)據(jù)的信息。請用遞歸的方法實現(xiàn)二分查找來實現(xiàn)這一查找過程。提示:采用二分法求解本問題的基本思路是:設(shè)數(shù)列為a1,a2,an,被查找的數(shù)為x,則查找首先對am(m = ( n + 1 ) / 2)進行,于是得到三種情形。若x > am,則x只可能在區(qū)間am + 1 , an若x < am,則x只可能在區(qū)間a1 , am - 1若x = am,則am即為查找的數(shù),求解結(jié)束。從上面的分析發(fā)現(xiàn),這個過程很適合用遞歸來實現(xiàn)。實驗六 指針 實驗( 驗證性 綜合性 實驗 4學時)1、目的要求:(1)用指針作為函數(shù)參

17、數(shù)完成字符串的傳遞。(2)掌握函數(shù)中參數(shù)傳遞的兩種方式。(3)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)編寫一個函數(shù)char *delk( char *sp),把sp所指向的字符串中所有的“$”字符刪除,并把處理后的字符串指針返回。(2)寫一個函數(shù)int find( char *s1, char *s2),函數(shù)find的功能是查找串s1中是否包含指定的詞(s2指向),如果存在則返回第1次出現(xiàn)的位置,否則返回-1.約定串中的詞由1個或1個以上的空格符分隔。(3)編程實現(xiàn)將輸入的十進制整數(shù)n通過函數(shù)DtoH轉(zhuǎn)換為十六進制數(shù),并將轉(zhuǎn)換結(jié)果以字符形式輸出。例如:輸入十進制數(shù)79,將輸出十六進

18、制數(shù)4f。(4)定義函數(shù)void Merge(int a, int n, int b, int m),參數(shù)a、b為一維數(shù)組,數(shù)組中的數(shù)據(jù)為升序排列,n和m分別為它們的元素個數(shù)。函數(shù)的功能為:將數(shù)組a和b合并為一個數(shù)組,合并后的結(jié)果存放于數(shù)組a中,要求合并后的數(shù)組a仍舊為升序排列。請編程實現(xiàn),并編寫main函數(shù)對其測試。實驗七 字符串與指針 實驗( 驗證性 綜合性 實驗 2學時)1、目的要求:(1)掌握用指針進行函數(shù)參數(shù)傳遞的方法。(2)掌握指針數(shù)組和二維數(shù)組間的關(guān)系以及進行參數(shù)傳遞時的寫法。(3)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)編寫一個書名排序程序,輸入10個書名存入一個二

19、維數(shù)組,用函數(shù)void sortstring( char *name , int n)實現(xiàn)它們的字典順序。(2)編寫函數(shù)void search( char *s1, char *s2, char *s3)。函數(shù)search()從已知的兩個字符串s1與s2中找出它們都包含的最長的單詞放入字符串s3,約定字符串中只有小寫字母和空格字符,單詞用1個或1個以上空格分隔。(3)編寫一個主函數(shù),測試上述兩個函數(shù)的正確性。(4)輸入一個字符串,內(nèi)有數(shù)字和非數(shù)字字符,例如: A123cdf 456.78cpc876.9er 849.1 將其中連續(xù)的數(shù)字作為一個實數(shù),依次存放到一數(shù)組a中。例如123存放在a0,

20、456.78存放在a2,依次類推,統(tǒng)計共有多少個數(shù),并輸出這些數(shù)。實驗八 結(jié)構(gòu)體 實驗( 驗證性 綜合性 實驗 2學時)1、目的要求:(1)掌握結(jié)構(gòu)體的定義、數(shù)據(jù)輸入方法。(2)掌握結(jié)構(gòu)體成員變量的兩種訪問方法。(3)掌握編寫程序完成單鏈表的建立和查詢方法。(4)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)編寫一個建立單鏈表的函數(shù),設(shè)鏈表的表元素信息包含學號、姓名、一門課的成績;寫一個按照學號查學生成績的函數(shù);最后寫一個主函數(shù),它先調(diào)用建立函數(shù),再調(diào)用查詢函數(shù),顯示查到學生的姓名和成績。(2)編一程序,能把從終端輸入的一個字符串中的小寫字母全部轉(zhuǎn)換成大寫字母,要求輸入的字符的同時指定該

21、字符在字符串中的序號(即字符在字符串中的順序號,例如第1個字符的序號為1),字符和序號存入結(jié)構(gòu)體中,字符串存入結(jié)構(gòu)體數(shù)組中,然后顯示結(jié)構(gòu)體數(shù)組的結(jié)果(用字符!表示輸入字符串的結(jié)束)。(3)在本實驗的實驗內(nèi)容1的基礎(chǔ)上,實現(xiàn)在鏈表元素index之前插入元素的操作Insert( struct node *head, int index)和刪除指定位置元素的操作Delete( struct node * head, int index),并編寫主函數(shù)測試。實驗九 文件操作 實驗( 驗證性 綜合性 實驗 1學時)1、目的要求:(1)掌握文件的打開和關(guān)閉。(2)精通文件的讀寫操作。(3)了解文件的定位操

22、作及文件的檢測函數(shù)。(4)掌握文件的應用。(5)編寫實驗報告。2、實驗內(nèi)容(參考實驗指導書):(1)編寫一個程序,讀取磁盤上的一個C語言程序文件,要求加上注釋后再存放到磁盤上,文件可以另外命名。(2)編寫一個程序,將文件old.txt從第10行起存放到new.txt中。(3)有一個整數(shù)文件,讀取其中的數(shù)值,如果為奇數(shù)加1,如果為偶數(shù)減1,然后存放到新的文件中去。(4)二進制文件d.dat中包含若干個整數(shù),用鍵盤輸入一個整數(shù),請在文件中找出該整數(shù)的下一個數(shù)并輸出。若找不到則輸出“Not Found!”。五、實驗報告的格式實驗名稱(一)實驗目的和要求:(二)實驗內(nèi)容:每個實驗內(nèi)容含以下五部分:1、算法描述:2、源代碼和說明:3、測試數(shù)據(jù):4、運行結(jié)果:5、問題及解決方法:(三)實驗總結(jié):具體可參考實驗指導書P15P19頁舉例。六、考核方式、方法及實驗成績評定方法1、考核方式、方法:C語言程序設(shè)計實驗課成績單獨按五級記分。凡實驗成績不及格者,該門課程必須重修。學生的實驗成績應以平時考查為主,一般應占總分的20%,其平時成績又要以實驗實際操作的優(yōu)劣作為主要考核依據(jù)。在學期末或課程結(jié)束時,為復習和鞏固實驗教學內(nèi)容,進一步對學生作補充了解,也可舉行一定的實驗操作考試,但無論采取何種方式進行考核,都必須按實驗課的目的要求,以實際

溫馨提示

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

評論

0/150

提交評論