C語言程序設(shè)計實驗指導(dǎo)書_第1頁
C語言程序設(shè)計實驗指導(dǎo)書_第2頁
C語言程序設(shè)計實驗指導(dǎo)書_第3頁
C語言程序設(shè)計實驗指導(dǎo)書_第4頁
C語言程序設(shè)計實驗指導(dǎo)書_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c語言程序設(shè)計實驗指 導(dǎo) 書(簡明版)中北大學(xué)軟件學(xué)院2015年10月實驗一 順序結(jié)構(gòu)程序設(shè)計(2學(xué)時)一、實驗?zāi)康?、熟悉c編譯環(huán)境、簡單c程序結(jié)構(gòu)及書寫方式、以及c程序的編輯、編譯、連接、運行、調(diào)試的步驟;2、掌握c語言的基本數(shù)據(jù)類型及其輸入輸出格式,以及輸入輸出函數(shù)的使用方法;3、掌握c語言的算術(shù)運算符(特別是自增、自減運算符)、賦值運算符、關(guān)系運算符、邏輯運算符、條件運算符、逗號運算符的使用;4、掌握c語言順序結(jié)構(gòu)程序的執(zhí)行流程、設(shè)計方法,能夠根據(jù)實際問題靈活使用順序結(jié)構(gòu),畫出程序的算法流程圖,設(shè)計出邏輯合理、思路清晰、結(jié)果正確的順序結(jié)構(gòu)程序。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括8道題目

2、,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出程序流程圖(傳統(tǒng)流程圖和n-s圖);(4)在上機實驗過程中,注意總結(jié)和體會上機步驟(編輯、編譯、連接、運行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的初步能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告(格式見附件)。2、基本內(nèi)容(1)驗證型編輯下列程序,然后進行編譯、連接和運行,觀察結(jié)果,并

3、簡要總結(jié)簡單c程序的結(jié)構(gòu)、書寫格式以及上機過程;#include int main( ) printf(hello, world!n); return 0;(2)驗證型通過運行下列程序,分析各種格式符的使用方法。#include int main( ) int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = r;long n = 5461237;unsigned u = 65535;printf(%d,%dn, a, b);printf(%3d,%3dn, a, b);printf(%f,%fn, x, y);printf(%-10f

4、,%-10fn, x, y);printf(%8.2f,%8.2n, x, y);printf(%.4f,%.4fn, x, y);printf(%3f,%3fn, x, y);printf(%e,%10.2en, x, y);putchar(d);putchar(n);printf(%c,%d,%o,%xn, d, d, d, d);printf(%ld,%lo,%xn, n, n, n);printf(%u,%o,%x,%dn, u, u, u, u); return 0;(3)驗證型編輯下列程序,進行編譯、連接和運行。觀察結(jié)果并分析+和-運算符的作用。#include int main

5、( ) int i, j; i = 5; j = 6; printf(%d,%d n, i, j); printf(%d,%d n, i+, j-); printf(%d,%d n, i, j); printf(%d,%d n, +i, -j); return 0;(4)設(shè)計型編程求解表達式m=x+a%3*(int)(x+y)%2/4的值。(設(shè)x=2.5, a=7, y=4.7)。 (5)設(shè)計型編程實現(xiàn):輸入一個數(shù),輸出以該值為半徑的圓面積,以該值為半徑的球體表面積與體積,pi取值3.1415926536。 (6)設(shè)計型編程實現(xiàn):輸入直角三角形的兩條直角邊的長度,求斜邊的長度。3、選做內(nèi)容(7

6、)設(shè)計型編程求解表達式的值m=(float)(a+b)/2+(int)x%(int)y。(設(shè)a=7, b=3, x=3.5, y=2.5)。 (8)設(shè)計型編程實現(xiàn):從鍵盤輸入一個小寫字母,輸出該字母的大小寫形式及對應(yīng)的ascii碼值。三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、簡單c語言程序的結(jié)構(gòu)、編譯與運行的步驟;2、c語言的基本數(shù)據(jù)類型(整型,浮點型,字符型)及相互轉(zhuǎn)換;3、基本運算符及表達式:算術(shù)運算符(包括自增、自減運算符),賦值運算符(包括復(fù)合賦值運算符),關(guān)系運算符,邏輯運算符,條件運算符,逗號運算符及相應(yīng)的表達式;4、算法的表示方法:程序流程圖(傳統(tǒng)流程圖和n-s圖);5、c語言

7、中的字符型數(shù)據(jù)輸入輸出函數(shù)putchar與getchar,格式輸入輸出函數(shù)printf與scanf,常用格式符d/c/s/f/e/g/u/o/x以及附加格式說明符;6、順序結(jié)構(gòu)程序的執(zhí)行流程及設(shè)計方法。(二)實驗指導(dǎo)(略)四、練習(xí)題1、求下列表達式的值,并編寫程序,上機進行驗證。設(shè)a = 12, n = 5。a += a a -= 2 a *= 2+3 a /= a+a 2、請同學(xué)們思考以如下方式初始化變量會出現(xiàn)什么問題?請編寫程序調(diào)試說明。int a = 096;char b = 028;int c = 987654321;int d = 987654321l;double i = 123.

8、456;int m = n, n = 6;3、寫程序輸出字符0、9、a、z、a、z的ascii碼的十進制、八進制和十六進制形式。4、編寫程序,要求輸入一個全部是字母的字符串,將其中的大寫字母全部轉(zhuǎn)化為小寫字母,小寫字母全部轉(zhuǎn)化為大寫字母。 5、編程實現(xiàn):輸入一個華氏溫度,要求輸出攝氏溫度。公式為c = 5 / 9 * (f-32)。實驗二 選擇結(jié)構(gòu)程序設(shè)計(2學(xué)時)一、實驗?zāi)康?、進一步掌握c語言中邏輯運算符及邏輯表達式的使用及條件判斷;2、熟練掌握c語言中if語句的使用;3、熟練掌握c語言中switch及break語句的使用;4、能夠根據(jù)實際問題靈活使用選擇結(jié)構(gòu),設(shè)計出邏輯合理、思路清晰、結(jié)

9、果正確的選擇結(jié)構(gòu)程序。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括5道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出程序流程圖(傳統(tǒng)流程圖和n-s圖);(4)在上機實驗過程中,注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告。2、基本內(nèi)容(1)設(shè)計型編程實現(xiàn):輸入一個整數(shù),若其為偶數(shù),求其立方值,若其為奇數(shù),求其平方值。

10、(2)設(shè)計型編程實現(xiàn):輸入一個5位數(shù),判斷它是不是回文數(shù)。例如12321是回文數(shù),個位與萬位相同,十位與千位相同。(3)設(shè)計型用switch語句編寫程序,實現(xiàn)輸入月份,顯示季節(jié)。3、選做內(nèi)容(4)設(shè)計型編程實現(xiàn):輸入四個整數(shù),要求按由小到大的順序輸出。(5)設(shè)計型編程實現(xiàn):輸入某年某月某日,判斷這一天是這一年的第幾天。三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、為什么要引入選擇結(jié)構(gòu)?2、if語句的一般形式以及最常用的3種if語句形式(簡單if語句、if-else語句、多層嵌套的if語句);3、switch語句與break語句;4、選擇結(jié)構(gòu)程序的執(zhí)行流程及設(shè)計方法。(二)實驗指導(dǎo)(略)四、練習(xí)題

11、1、寫一程序,輸入一個實數(shù)x的值,按照下面的式子計算輸出y的值。 2、對一批貨物征收稅金。價格在一萬元以上的貨物征稅5%,在5000元以上,1萬元以下的貨物征稅3%,在1000元以上,5000元以下的貨物征稅2%,1000元以下的貨物免稅。編寫一程序,讀入貨物價格,計算并輸出稅金。 3、編寫一個程序,實現(xiàn)某服裝店售貨員日營業(yè)額的考評。若日銷售量為0件,則輸出“e”; 若日銷售量為1件或2件,則輸出“d”; 若日銷售量為2或3件,則輸出“c”; 若日銷售量為4件或5件,則輸出“b”; 若日銷售量大于5件,則輸出“a”。 4、請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續(xù)判

12、斷第二個字母。實驗三 簡單的循環(huán)結(jié)構(gòu)程序設(shè)計(2學(xué)時)一、實驗?zāi)康?、熟練掌握for語句的使用;2、熟練掌握while、do-while語句的使用;3、能夠根據(jù)實際問題靈活使用簡單的循環(huán)結(jié)構(gòu),設(shè)計出邏輯合理、思路清晰、結(jié)果正確的簡單循環(huán)結(jié)構(gòu)程序。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括5道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出程序流程圖(傳統(tǒng)流程圖和n-s圖);(4

13、)在上機實驗過程中,注意總結(jié)和體會上機步驟(編輯、編譯、連接、運行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告(格式見附件)。2、基本內(nèi)容(1)設(shè)計型編程實現(xiàn):求s = 3 + 33 + 333 + 3333 + 33333。(要求用循環(huán)結(jié)構(gòu)實現(xiàn))(2)設(shè)計型編程實現(xiàn):求出數(shù)列2/1,3/2,5/4,8/8,的前10項之和。(3)設(shè)計型編程求解:有一棵樹一天長高一倍,最高長到三十天,即三十天之后就不再長高,那么那棵樹三十天能長多高?長到一半高需要多少天?3、選做內(nèi)容(4)設(shè)計型編程實現(xiàn):計算s = a! + b!

14、 + c!的值。其中,a、b、c的值由鍵盤輸入。(5)設(shè)計型編程實現(xiàn):輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、為什么要引入循環(huán)結(jié)構(gòu)?2、c語言的三種循環(huán)語句:for循環(huán);while循環(huán);do-while循環(huán);3、三種循環(huán)語句的比較與互換使用;4、簡單(非嵌套)循環(huán)結(jié)構(gòu)程序的執(zhí)行流程及設(shè)計方法。(二)實驗指導(dǎo)(略)四、練習(xí)題1、已知s = 6 + 6.6 + 6.66 + 6.666 + 6.6666 + 6.66666,求s的值。2、輸出全部的英文字母的大小寫。要求:每個字母先輸出大寫,后輸出小寫;字母與字母之間用空格可開;每行輸出8個字母

15、。3、求三個數(shù)的最小公倍數(shù)。實驗四 嵌套的循環(huán)結(jié)構(gòu)程序設(shè)計(2學(xué)時)一、實驗?zāi)康?、掌握三層以內(nèi)的各種循環(huán)結(jié)構(gòu)相互嵌套的使用方法;2、掌握三層以內(nèi)的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)相互嵌套的使用方法;3、能夠根據(jù)實際問題靈活使用嵌套循環(huán)結(jié)構(gòu),設(shè)計出邏輯合理、思路清晰、結(jié)果正確的嵌套的循環(huán)結(jié)構(gòu)程序。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括3道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出程

16、序流程圖(傳統(tǒng)流程圖和n-s圖);(4)在上機實驗過程中,注意總結(jié)和體會上機步驟(編輯、編譯、連接、運行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告(格式見附件)。2、基本內(nèi)容(1)設(shè)計型輸入一個整數(shù)k(2k10000),打印它的所有的質(zhì)因子。例如:輸入90,打印出2、3、3、5。(2)設(shè)計型編程求解:編寫程序,輸出從公元1000年至2100年所有閏年的年號。要求每輸出15個年號換一行。判斷公元年是否為閏年的條件是公元年數(shù)滿足: 能被4整除,而不能被100整除; 能被400整除。3、選做內(nèi)容(3)設(shè)計型編程計算的

17、值,n由鍵盤輸入。其中,。三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、二層嵌套循環(huán)結(jié)構(gòu)及其執(zhí)行流程;2、三層嵌套循環(huán)結(jié)構(gòu)及其執(zhí)行流程; 3、在嵌套循環(huán)結(jié)構(gòu)中break語句和continue語句的作用與使用方法;4、嵌套循環(huán)結(jié)構(gòu)程序的設(shè)計方法。(二)實驗指導(dǎo)(略)四、練習(xí)題1、編程求的值。2、輸入20個有符號整數(shù),分別統(tǒng)計正整數(shù)、零、負整數(shù)的個數(shù)。實驗五 數(shù)組實驗(2學(xué)時)一、實驗?zāi)康?、熟練掌握一維數(shù)組和二維數(shù)組的使用;2、熟練掌握字符數(shù)組的使用;3、能夠根據(jù)實際問題靈活使用數(shù)組,設(shè)計出邏輯合理、思路清晰、結(jié)果正確的數(shù)組應(yīng)用程序。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括6道題目,分為基本內(nèi)容和選做內(nèi)

18、容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出n-s圖;(4)在上機實驗過程中,注意總結(jié)和體會上機步驟(編輯、編譯、連接、運行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告(格式見附件)。2、基本內(nèi)容(1)設(shè)計型 編程實現(xiàn):從鍵盤輸入6個數(shù)(用一維數(shù)組保存),用起泡法對6個數(shù)按從大到小排序,并輸出結(jié)果。運行結(jié)果示例

19、如下:(2)設(shè)計型 求一個方陣(例如: 33方陣)對角線元素之和。運行結(jié)果示例如下:(3)設(shè)計型 編程實現(xiàn)字符串的拷貝功能。要求分別使用兩種方法實現(xiàn):使用strcpy函數(shù);不使用strcpy函數(shù)。運行結(jié)果示例如下:3、選做內(nèi)容(4)設(shè)計型 有一個已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個數(shù),要求按原來的規(guī)律將它插入數(shù)組中。運行結(jié)果示例如下:(5)設(shè)計型 將一個數(shù)從一個一維數(shù)組中刪除。運行結(jié)果示例如下:(6)設(shè)計型 從鍵盤輸入一個字符串,將小寫字母全部轉(zhuǎn)換成大寫字母。運行結(jié)果示例如下:三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、為什么要引入數(shù)組?數(shù)組的基本概念;2、一維數(shù)組的定義、初始化和使用;3、二維數(shù)組的

20、定義、初始化和使用;4、字符串與字符數(shù)組;5、數(shù)組應(yīng)用程序的設(shè)計方法。(二)實驗指導(dǎo)(略)四、練習(xí)題(1) 用選擇法實現(xiàn)一維數(shù)組中數(shù)據(jù)元素的排序輸出。(2) 找出一個二維數(shù)組的鞍點,即找出這樣一個元素,其值在該行上最大,在該列上最小,也可能沒有鞍點。(3) 編寫一個程序,比較兩個字符串的大?。ǚ謩e使用兩種方法:使用strcmp函數(shù);不使用strcmp函數(shù))。(4) 輸入一個字符串,判斷它是不是回文。實驗六 函數(shù)實驗(2學(xué)時)一、實驗?zāi)康?、熟練掌握函數(shù)的定義、調(diào)用和參數(shù)傳遞的方法,進一步理解函數(shù)調(diào)用的整個過程;2、熟練掌握數(shù)組作為函數(shù)參數(shù)的使用方法;3、掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用;4、熟練地

21、運用結(jié)構(gòu)化程序設(shè)計思想編寫具有特定功能、解決特定問題的函數(shù)。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括5道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出n-s圖;(4)在上機實驗過程中,注意總結(jié)和體會上機步驟(編輯、編譯、連接、運行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告(格式見附件)。2、

22、基本內(nèi)容(1)設(shè)計型 編程實現(xiàn)輸入兩個整數(shù),輸出其最大公約數(shù)和最小公倍數(shù)。要求編寫一個函數(shù)gcd用輾轉(zhuǎn)法求兩個數(shù)的最大公約數(shù)。在主函數(shù)中實現(xiàn):數(shù)據(jù)的輸入,調(diào)用gcd函數(shù)求最大公約數(shù),在此基礎(chǔ)上再求最小公倍數(shù),最后輸出結(jié)果。(2)設(shè)計型 編寫一個字符串逆序存放的函數(shù)reverse(),并由主函數(shù)調(diào)用實現(xiàn)對字符串的逆序操作。(3)設(shè)計型 通過函數(shù)嵌套調(diào)用求(即求)。要求:編寫函數(shù)fac求n!,編寫函數(shù)xgm通過調(diào)用fac函數(shù)求,在主函數(shù)中輸入n的值并調(diào)用xgm函數(shù)求并輸出結(jié)果。3、選做內(nèi)容(4)設(shè)計型 將題目(3)中的fac函數(shù)改為遞歸函數(shù)。(5)設(shè)計型 編寫兩個函數(shù)input()函數(shù)和outpu

23、t()函數(shù),分別完成5個學(xué)生的三門課程的數(shù)據(jù)記錄的輸入輸出工作,最后由主函數(shù)來調(diào)用這兩個函數(shù),完成具體的輸入輸出工作。三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、為什么要使用函數(shù)?2、c語言程序的一般結(jié)構(gòu)3、函數(shù)的定義、函數(shù)的調(diào)用及參數(shù)傳遞4、數(shù)組作為函數(shù)參數(shù);5、函數(shù)的嵌套調(diào)用與函數(shù)的遞歸調(diào)用。(二)實驗指導(dǎo)(略)四、練習(xí)題(1)有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到5報數(shù)),凡報到5的人退出圈子,問最后留下的是原來第幾號的那位。(用函數(shù)實現(xiàn))。(2)編寫函數(shù)實現(xiàn)對一個不多于5位的正整數(shù),求它是幾位數(shù)并逆序打印出各位數(shù)字。(3)編寫函數(shù)實現(xiàn)對一個已經(jīng)排好序的數(shù)組,按原來的規(guī)律

24、插入一個數(shù)到數(shù)組中不改變原來的排序方式,要求在主函數(shù)中輸入數(shù)據(jù),并調(diào)用函數(shù)實現(xiàn)插入操作。(4)要求用函數(shù)實現(xiàn)將整數(shù)數(shù)組中最大值與第一個元素交換,最小值與最后一個元素交換,并在主函數(shù)中調(diào)用該函數(shù)完成操作(該函數(shù)要用數(shù)組做參數(shù))。(5)編寫一個函數(shù),使給定的一個的二維數(shù)組轉(zhuǎn)置,主程序調(diào)用此函數(shù)。實驗七 指針類型實驗(2學(xué)時)一、實驗?zāi)康?、熟練掌握掌握變量的直接訪問方式和間接訪問方式;2、熟練掌握指針變量的定義與引用;3、掌握指向一維數(shù)組的指針變量的定義和引用;4、掌握指向二維數(shù)組元素的指針變量的定義和引用,指向二維數(shù)組行的指針變量的定義和引用。5、掌握指針數(shù)組、指針的指針的定義與使用;4、靈活運

25、用指針類型處理實際問題。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括8道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實驗題目是必須要完成的,選做內(nèi)容中的實驗題目可以根據(jù)自己的情況選做或全做(越多越好,適當加分);(2)在實驗之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實驗前檢查(視未完成情況適當扣分);(3)對于設(shè)計型題目,要求畫出n-s圖;(4)在上機實驗過程中,注意總結(jié)和體會上機步驟(編輯、編譯、連接、運行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯誤、連接錯誤和程序邏輯錯誤的能力;(5)上機結(jié)束后,應(yīng)按要求認真書寫實驗報告(格式見附件)。2、基本內(nèi)容(1)驗證型 試分別輸入并運

26、行如下3個程序,然后分析結(jié)果。程序1:/* 通過指針變量訪問整型變量。*/#include int main() float a=100,b=10; float *pointer_1, *pointer_2; pointer_1=&a; pointer_2=&b; printf(a=%f,b=%fn,a,b); printf(*pointer_1=%f,*pointer_2=%fn, *pointer_1,*pointer_2); return 0;程序2:/* 使用下標法和指針法引用數(shù)組元素*/#include int main() int a10; int *p, i; printf(en

27、ter 10 integer numbers:n); for(i=0;i10;i+) scanf(%d,&ai); for(i=0;i10;i+) printf(%d ,ai); printf(%n); for(i=0;i10;i+) printf(%d ,*(a+i); printf(n); for(p=a;p(a+10);p+) printf(%d ,*p); printf(n); return 0; 程序3:/* 二維數(shù)組的有關(guān)數(shù)據(jù)(地址和值)*/#include int main()int a34=2,4,6,8,10,12,14,16,18,20,22,24;printf(%d,%d

28、n,a,*a); printf(%d,%dn,a0,*(a+0); printf(%d,%dn,&a0,&a00); printf(%d,%dn,a1,a+1); printf(%d,%dn,&a10,*(a+1)+0); printf(%d,%dn,a2,*(a+2); printf(%d,%dn,&a2,a+2); printf(%d,%dn,a10,*(*(a+1)+0);printf(%d,%dn,*a2,*(*(a+2)+0); return 0;(2)設(shè)計型 輸入n個整數(shù),使用指針變量將這n個數(shù)按從小到大排序輸出。運行結(jié)果示例如下:(3)設(shè)計型 從鍵盤為數(shù)組a44輸入數(shù)據(jù),分別用指

29、向數(shù)組元素的指針變量和指向一維數(shù)組的指針變量輸入輸出數(shù)組元素,求該數(shù)組每一行的最大值,將這些值保存在一維數(shù)組b4中。運行結(jié)果示例如下:(4)設(shè)計型 編寫函數(shù)打印出10*10的楊輝三角形(使用指針變量作函數(shù)參數(shù))。運行結(jié)果示例如下:3、選做內(nèi)容(5)設(shè)計型 編寫函數(shù)刪除一維數(shù)組s中下標為k的元素的值。運行結(jié)果示例如下:(6)設(shè)計型 編寫函數(shù)把一個十進制正整數(shù)轉(zhuǎn)換為二進制數(shù)。運行結(jié)果示例如下:(7)設(shè)計型 編寫函數(shù)實現(xiàn)輸入一行數(shù)字字符,用數(shù)組元素作為計數(shù)器來統(tǒng)計每個數(shù)字字符的個數(shù)。用下標為0元素統(tǒng)計字符“0”的個數(shù),用下標為1元素統(tǒng)計字符“1”的個數(shù)。運行結(jié)果示例如下:(8)設(shè)計型 編寫程序從輸入

30、的若干字符串中找出最小的串輸出。運行結(jié)果示例如下:三、相關(guān)知識點及實驗指導(dǎo)(一)相關(guān)知識點1、我們以前訪問變量采用的都是直接訪問方式,即在編譯階段系統(tǒng)給變量分配了相應(yīng)的存儲空間,同時也產(chǎn)生了一個變量名和內(nèi)存地址關(guān)系的對照表,當我們通過變量名操作變量時,根據(jù)變量與內(nèi)存地址對照表找到變量的地址進行相關(guān)的操作。在間接訪問方式中,變量中保存的是另一個變量地址,通過該變量可以訪問所保存地址空間中變量的內(nèi)容,即訪問其指向的變量。2、指針變量定義的一般形式:類型說明符 *指針變量名;指針變量的引用方式:*指針變量名3、定義指向一維數(shù)組元素的指針變量的一般形式:類型說明符 *指針變量名=數(shù)組名;通過*(指針變

31、量名+)可以訪問數(shù)組中的其他元素。4、二維數(shù)組是按行存儲的,指向二維數(shù)組元素的指針變量的定義和定義指向一維數(shù)組元素的指針變量的定義相同。定義指向二維數(shù)組行的指針變量的一般形式:類型標識符 (*指針變量名)二維數(shù)組列數(shù);5、在c語言中,無論函數(shù)參數(shù)數(shù)據(jù)類型是什么,調(diào)用函數(shù)時實參和形參之間都是單向的值傳遞。當實參是普通變量時傳遞的是數(shù)值;當實參是變量的地址或指針變量時傳遞的是地址。但要注意實參可以是變量的地址也可以是指針變量,形參只能是指針變量(形參數(shù)組名按指針變量處理)。6、數(shù)組名作函數(shù)參數(shù)實際上傳遞的數(shù)組的首地址(即指針),而不是將數(shù)組的所有元素傳遞給形參數(shù)組。函數(shù)調(diào)用時,實參將數(shù)組的首地址傳

32、遞給形參指針,形參就指向了數(shù)組的首地址,通過間接訪問方式,形參可以訪問實參數(shù)組中的元素,更改數(shù)組元素的值。數(shù)組名做函數(shù)參數(shù)的實質(zhì)是指針作函數(shù)參數(shù)。因此概括起來,傳遞一個數(shù)組實參和形參可以有4種形式,如下表所示:數(shù)組名作函數(shù)參數(shù)的實參和形參對照表實參類型形參類型數(shù)組名數(shù)組名數(shù)組名指針變量指向數(shù)組的指針變量數(shù)組名指向數(shù)組的指針變量指針變量7、將數(shù)組元素是指針的數(shù)組稱為指針數(shù)組。定義指針數(shù)組的一般形式:類型說明符 *數(shù)組名數(shù)組元素的個數(shù)一般情況下,利用數(shù)值型指針數(shù)組操作二維數(shù)組的情況很少,通常是利用字符指針數(shù)組操作二維字符數(shù)組。8、將指針變量所指向的變量(也是指針變量)稱作指向指針的指針。定義指針的指針變量的一般形式:類型說明符 *指針變量名(二)實驗指導(dǎo)(略)四、練習(xí)題(1)編寫程序把數(shù)組中的所有奇數(shù)放在另一個數(shù)組中。(2)編寫程序?qū)⒎疥囖D(zhuǎn)置。(3)編寫函數(shù)將一個數(shù)插入一個有序數(shù)組中使數(shù)組中的數(shù)據(jù)仍然有序。(4)找出方陣每列中的最小元素及其所在的行號。(5)編寫程序輸入月份,輸出該月的對應(yīng)的英文名。實驗八 文件操作實驗(2學(xué)時)一、實驗?zāi)康?、熟練掌握文件的概念;2、熟練掌握文件的打開與關(guān)閉;3、掌握文件數(shù)據(jù)的寫入與讀出;4、能夠運用文件操作編寫文件應(yīng)用程序。二、實驗內(nèi)容及要求1、實驗內(nèi)容包括2道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容

溫馨提示

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

評論

0/150

提交評論