版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、c語言程序設(shè)計(jì)實(shí)驗(yàn)指 導(dǎo) 書(簡(jiǎn)明版)中北大學(xué)軟件學(xué)院2015年10月實(shí)驗(yàn)一 順序結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、熟悉c編譯環(huán)境、簡(jiǎn)單c程序結(jié)構(gòu)及書寫方式、以及c程序的編輯、編譯、連接、運(yùn)行、調(diào)試的步驟;2、掌握c語言的基本數(shù)據(jù)類型及其輸入輸出格式,以及輸入輸出函數(shù)的使用方法;3、掌握c語言的算術(shù)運(yùn)算符(特別是自增、自減運(yùn)算符)、賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符、逗號(hào)運(yùn)算符的使用;4、掌握c語言順序結(jié)構(gòu)程序的執(zhí)行流程、設(shè)計(jì)方法,能夠根據(jù)實(shí)際問題靈活使用順序結(jié)構(gòu),畫出程序的算法流程圖,設(shè)計(jì)出邏輯合理、思路清晰、結(jié)果正確的順序結(jié)構(gòu)程序。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括8道題目
2、,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出程序流程圖(傳統(tǒng)流程圖和n-s圖);(4)在上機(jī)實(shí)驗(yàn)過程中,注意總結(jié)和體會(huì)上機(jī)步驟(編輯、編譯、連接、運(yùn)行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的初步能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告(格式見附件)。2、基本內(nèi)容(1)驗(yàn)證型編輯下列程序,然后進(jìn)行編譯、連接和運(yùn)行,觀察結(jié)果,并
3、簡(jiǎn)要總結(jié)簡(jiǎn)單c程序的結(jié)構(gòu)、書寫格式以及上機(jī)過程;#include int main( ) printf(hello, world!n); return 0;(2)驗(yàn)證型通過運(yùn)行下列程序,分析各種格式符的使用方法。#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)驗(yàn)證型編輯下列程序,進(jìn)行編譯、連接和運(yùn)行。觀察結(jié)果并分析+和-運(yùn)算符的作用。#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è)計(jì)型編程求解表達(dá)式m=x+a%3*(int)(x+y)%2/4的值。(設(shè)x=2.5, a=7, y=4.7)。 (5)設(shè)計(jì)型編程實(shí)現(xiàn):輸入一個(gè)數(shù),輸出以該值為半徑的圓面積,以該值為半徑的球體表面積與體積,pi取值3.1415926536。 (6)設(shè)計(jì)型編程實(shí)現(xiàn):輸入直角三角形的兩條直角邊的長(zhǎng)度,求斜邊的長(zhǎng)度。3、選做內(nèi)容(7
6、)設(shè)計(jì)型編程求解表達(dá)式的值m=(float)(a+b)/2+(int)x%(int)y。(設(shè)a=7, b=3, x=3.5, y=2.5)。 (8)設(shè)計(jì)型編程實(shí)現(xiàn):從鍵盤輸入一個(gè)小寫字母,輸出該字母的大小寫形式及對(duì)應(yīng)的ascii碼值。三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎn)1、簡(jiǎn)單c語言程序的結(jié)構(gòu)、編譯與運(yùn)行的步驟;2、c語言的基本數(shù)據(jù)類型(整型,浮點(diǎn)型,字符型)及相互轉(zhuǎn)換;3、基本運(yùn)算符及表達(dá)式:算術(shù)運(yùn)算符(包括自增、自減運(yùn)算符),賦值運(yùn)算符(包括復(fù)合賦值運(yùn)算符),關(guān)系運(yùn)算符,邏輯運(yùn)算符,條件運(yùn)算符,逗號(hào)運(yùn)算符及相應(yīng)的表達(dá)式;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è)計(jì)方法。(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題1、求下列表達(dá)式的值,并編寫程序,上機(jī)進(jìn)行驗(yàn)證。設(shè)a = 12, n = 5。a += a a -= 2 a *= 2+3 a /= a+a 2、請(qǐng)同學(xué)們思考以如下方式初始化變量會(huì)出現(xiàn)什么問題?請(qǐng)編寫程序調(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碼的十進(jìn)制、八進(jìn)制和十六進(jìn)制形式。4、編寫程序,要求輸入一個(gè)全部是字母的字符串,將其中的大寫字母全部轉(zhuǎn)化為小寫字母,小寫字母全部轉(zhuǎn)化為大寫字母。 5、編程實(shí)現(xiàn):輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c = 5 / 9 * (f-32)。實(shí)驗(yàn)二 選擇結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步掌握c語言中邏輯運(yùn)算符及邏輯表達(dá)式的使用及條件判斷;2、熟練掌握c語言中if語句的使用;3、熟練掌握c語言中switch及break語句的使用;4、能夠根據(jù)實(shí)際問題靈活使用選擇結(jié)構(gòu),設(shè)計(jì)出邏輯合理、思路清晰、結(jié)
9、果正確的選擇結(jié)構(gòu)程序。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括5道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出程序流程圖(傳統(tǒng)流程圖和n-s圖);(4)在上機(jī)實(shí)驗(yàn)過程中,注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告。2、基本內(nèi)容(1)設(shè)計(jì)型編程實(shí)現(xiàn):輸入一個(gè)整數(shù),若其為偶數(shù),求其立方值,若其為奇數(shù),求其平方值。
10、(2)設(shè)計(jì)型編程實(shí)現(xiàn):輸入一個(gè)5位數(shù),判斷它是不是回文數(shù)。例如12321是回文數(shù),個(gè)位與萬位相同,十位與千位相同。(3)設(shè)計(jì)型用switch語句編寫程序,實(shí)現(xiàn)輸入月份,顯示季節(jié)。3、選做內(nèi)容(4)設(shè)計(jì)型編程實(shí)現(xiàn):輸入四個(gè)整數(shù),要求按由小到大的順序輸出。(5)設(shè)計(jì)型編程實(shí)現(xiàn):輸入某年某月某日,判斷這一天是這一年的第幾天。三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎn)1、為什么要引入選擇結(jié)構(gòu)?2、if語句的一般形式以及最常用的3種if語句形式(簡(jiǎn)單if語句、if-else語句、多層嵌套的if語句);3、switch語句與break語句;4、選擇結(jié)構(gòu)程序的執(zhí)行流程及設(shè)計(jì)方法。(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題
11、1、寫一程序,輸入一個(gè)實(shí)數(shù)x的值,按照下面的式子計(jì)算輸出y的值。 2、對(duì)一批貨物征收稅金。價(jià)格在一萬元以上的貨物征稅5%,在5000元以上,1萬元以下的貨物征稅3%,在1000元以上,5000元以下的貨物征稅2%,1000元以下的貨物免稅。編寫一程序,讀入貨物價(jià)格,計(jì)算并輸出稅金。 3、編寫一個(gè)程序,實(shí)現(xiàn)某服裝店售貨員日營(yíng)業(yè)額的考評(píng)。若日銷售量為0件,則輸出“e”; 若日銷售量為1件或2件,則輸出“d”; 若日銷售量為2或3件,則輸出“c”; 若日銷售量為4件或5件,則輸出“b”; 若日銷售量大于5件,則輸出“a”。 4、請(qǐng)輸入星期幾的第一個(gè)字母來判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判
12、斷第二個(gè)字母。實(shí)驗(yàn)三 簡(jiǎn)單的循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、熟練掌握for語句的使用;2、熟練掌握while、do-while語句的使用;3、能夠根據(jù)實(shí)際問題靈活使用簡(jiǎn)單的循環(huán)結(jié)構(gòu),設(shè)計(jì)出邏輯合理、思路清晰、結(jié)果正確的簡(jiǎn)單循環(huán)結(jié)構(gòu)程序。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括5道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出程序流程圖(傳統(tǒng)流程圖和n-s圖);(4
13、)在上機(jī)實(shí)驗(yàn)過程中,注意總結(jié)和體會(huì)上機(jī)步驟(編輯、編譯、連接、運(yùn)行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告(格式見附件)。2、基本內(nèi)容(1)設(shè)計(jì)型編程實(shí)現(xiàn):求s = 3 + 33 + 333 + 3333 + 33333。(要求用循環(huán)結(jié)構(gòu)實(shí)現(xiàn))(2)設(shè)計(jì)型編程實(shí)現(xiàn):求出數(shù)列2/1,3/2,5/4,8/8,的前10項(xiàng)之和。(3)設(shè)計(jì)型編程求解:有一棵樹一天長(zhǎng)高一倍,最高長(zhǎng)到三十天,即三十天之后就不再長(zhǎng)高,那么那棵樹三十天能長(zhǎng)多高?長(zhǎng)到一半高需要多少天?3、選做內(nèi)容(4)設(shè)計(jì)型編程實(shí)現(xiàn):計(jì)算s = a! + b!
14、 + c!的值。其中,a、b、c的值由鍵盤輸入。(5)設(shè)計(jì)型編程實(shí)現(xiàn):輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎ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、簡(jiǎn)單(非嵌套)循環(huán)結(jié)構(gòu)程序的執(zhí)行流程及設(shè)計(jì)方法。(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題1、已知s = 6 + 6.6 + 6.66 + 6.666 + 6.6666 + 6.66666,求s的值。2、輸出全部的英文字母的大小寫。要求:每個(gè)字母先輸出大寫,后輸出小寫;字母與字母之間用空格可開;每行輸出8個(gè)字母
15、。3、求三個(gè)數(shù)的最小公倍數(shù)。實(shí)驗(yàn)四 嵌套的循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、掌握三層以內(nèi)的各種循環(huán)結(jié)構(gòu)相互嵌套的使用方法;2、掌握三層以內(nèi)的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)相互嵌套的使用方法;3、能夠根據(jù)實(shí)際問題靈活使用嵌套循環(huán)結(jié)構(gòu),設(shè)計(jì)出邏輯合理、思路清晰、結(jié)果正確的嵌套的循環(huán)結(jié)構(gòu)程序。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括3道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出程
16、序流程圖(傳統(tǒng)流程圖和n-s圖);(4)在上機(jī)實(shí)驗(yàn)過程中,注意總結(jié)和體會(huì)上機(jī)步驟(編輯、編譯、連接、運(yùn)行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告(格式見附件)。2、基本內(nèi)容(1)設(shè)計(jì)型輸入一個(gè)整數(shù)k(2k10000),打印它的所有的質(zhì)因子。例如:輸入90,打印出2、3、3、5。(2)設(shè)計(jì)型編程求解:編寫程序,輸出從公元1000年至2100年所有閏年的年號(hào)。要求每輸出15個(gè)年號(hào)換一行。判斷公元年是否為閏年的條件是公元年數(shù)滿足: 能被4整除,而不能被100整除; 能被400整除。3、選做內(nèi)容(3)設(shè)計(jì)型編程計(jì)算的
17、值,n由鍵盤輸入。其中,。三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎ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è)計(jì)方法。(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題1、編程求的值。2、輸入20個(gè)有符號(hào)整數(shù),分別統(tǒng)計(jì)正整數(shù)、零、負(fù)整數(shù)的個(gè)數(shù)。實(shí)驗(yàn)五 數(shù)組實(shí)驗(yàn)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、熟練掌握一維數(shù)組和二維數(shù)組的使用;2、熟練掌握字符數(shù)組的使用;3、能夠根據(jù)實(shí)際問題靈活使用數(shù)組,設(shè)計(jì)出邏輯合理、思路清晰、結(jié)果正確的數(shù)組應(yīng)用程序。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括6道題目,分為基本內(nèi)容和選做內(nèi)
18、容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出n-s圖;(4)在上機(jī)實(shí)驗(yàn)過程中,注意總結(jié)和體會(huì)上機(jī)步驟(編輯、編譯、連接、運(yùn)行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告(格式見附件)。2、基本內(nèi)容(1)設(shè)計(jì)型 編程實(shí)現(xiàn):從鍵盤輸入6個(gè)數(shù)(用一維數(shù)組保存),用起泡法對(duì)6個(gè)數(shù)按從大到小排序,并輸出結(jié)果。運(yùn)行結(jié)果示例
19、如下:(2)設(shè)計(jì)型 求一個(gè)方陣(例如: 33方陣)對(duì)角線元素之和。運(yùn)行結(jié)果示例如下:(3)設(shè)計(jì)型 編程實(shí)現(xiàn)字符串的拷貝功能。要求分別使用兩種方法實(shí)現(xiàn):使用strcpy函數(shù);不使用strcpy函數(shù)。運(yùn)行結(jié)果示例如下:3、選做內(nèi)容(4)設(shè)計(jì)型 有一個(gè)已經(jīng)排好序的數(shù)組。現(xiàn)輸入一個(gè)數(shù),要求按原來的規(guī)律將它插入數(shù)組中。運(yùn)行結(jié)果示例如下:(5)設(shè)計(jì)型 將一個(gè)數(shù)從一個(gè)一維數(shù)組中刪除。運(yùn)行結(jié)果示例如下:(6)設(shè)計(jì)型 從鍵盤輸入一個(gè)字符串,將小寫字母全部轉(zhuǎn)換成大寫字母。運(yùn)行結(jié)果示例如下:三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎn)1、為什么要引入數(shù)組?數(shù)組的基本概念;2、一維數(shù)組的定義、初始化和使用;3、二維數(shù)組的
20、定義、初始化和使用;4、字符串與字符數(shù)組;5、數(shù)組應(yīng)用程序的設(shè)計(jì)方法。(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題(1) 用選擇法實(shí)現(xiàn)一維數(shù)組中數(shù)據(jù)元素的排序輸出。(2) 找出一個(gè)二維數(shù)組的鞍點(diǎn),即找出這樣一個(gè)元素,其值在該行上最大,在該列上最小,也可能沒有鞍點(diǎn)。(3) 編寫一個(gè)程序,比較兩個(gè)字符串的大?。ǚ謩e使用兩種方法:使用strcmp函數(shù);不使用strcmp函數(shù))。(4) 輸入一個(gè)字符串,判斷它是不是回文。實(shí)驗(yàn)六 函數(shù)實(shí)驗(yàn)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、熟練掌握函數(shù)的定義、調(diào)用和參數(shù)傳遞的方法,進(jìn)一步理解函數(shù)調(diào)用的整個(gè)過程;2、熟練掌握數(shù)組作為函數(shù)參數(shù)的使用方法;3、掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用;4、熟練地
21、運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)思想編寫具有特定功能、解決特定問題的函數(shù)。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括5道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出n-s圖;(4)在上機(jī)實(shí)驗(yàn)過程中,注意總結(jié)和體會(huì)上機(jī)步驟(編輯、編譯、連接、運(yùn)行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告(格式見附件)。2、
22、基本內(nèi)容(1)設(shè)計(jì)型 編程實(shí)現(xiàn)輸入兩個(gè)整數(shù),輸出其最大公約數(shù)和最小公倍數(shù)。要求編寫一個(gè)函數(shù)gcd用輾轉(zhuǎn)法求兩個(gè)數(shù)的最大公約數(shù)。在主函數(shù)中實(shí)現(xiàn):數(shù)據(jù)的輸入,調(diào)用gcd函數(shù)求最大公約數(shù),在此基礎(chǔ)上再求最小公倍數(shù),最后輸出結(jié)果。(2)設(shè)計(jì)型 編寫一個(gè)字符串逆序存放的函數(shù)reverse(),并由主函數(shù)調(diào)用實(shí)現(xiàn)對(duì)字符串的逆序操作。(3)設(shè)計(jì)型 通過函數(shù)嵌套調(diào)用求(即求)。要求:編寫函數(shù)fac求n!,編寫函數(shù)xgm通過調(diào)用fac函數(shù)求,在主函數(shù)中輸入n的值并調(diào)用xgm函數(shù)求并輸出結(jié)果。3、選做內(nèi)容(4)設(shè)計(jì)型 將題目(3)中的fac函數(shù)改為遞歸函數(shù)。(5)設(shè)計(jì)型 編寫兩個(gè)函數(shù)input()函數(shù)和outpu
23、t()函數(shù),分別完成5個(gè)學(xué)生的三門課程的數(shù)據(jù)記錄的輸入輸出工作,最后由主函數(shù)來調(diào)用這兩個(gè)函數(shù),完成具體的輸入輸出工作。三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎ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)用。(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題(1)有n個(gè)人圍成一圈,順序排號(hào)。從第一個(gè)人開始報(bào)數(shù)(從1到5報(bào)數(shù)),凡報(bào)到5的人退出圈子,問最后留下的是原來第幾號(hào)的那位。(用函數(shù)實(shí)現(xiàn))。(2)編寫函數(shù)實(shí)現(xiàn)對(duì)一個(gè)不多于5位的正整數(shù),求它是幾位數(shù)并逆序打印出各位數(shù)字。(3)編寫函數(shù)實(shí)現(xiàn)對(duì)一個(gè)已經(jīng)排好序的數(shù)組,按原來的規(guī)律
24、插入一個(gè)數(shù)到數(shù)組中不改變?cè)瓉淼呐判蚍绞?,要求在主函?shù)中輸入數(shù)據(jù),并調(diào)用函數(shù)實(shí)現(xiàn)插入操作。(4)要求用函數(shù)實(shí)現(xiàn)將整數(shù)數(shù)組中最大值與第一個(gè)元素交換,最小值與最后一個(gè)元素交換,并在主函數(shù)中調(diào)用該函數(shù)完成操作(該函數(shù)要用數(shù)組做參數(shù))。(5)編寫一個(gè)函數(shù),使給定的一個(gè)的二維數(shù)組轉(zhuǎn)置,主程序調(diào)用此函數(shù)。實(shí)驗(yàn)七 指針類型實(shí)驗(yàn)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、熟練掌握掌握變量的直接訪問方式和間接訪問方式;2、熟練掌握指針變量的定義與引用;3、掌握指向一維數(shù)組的指針變量的定義和引用;4、掌握指向二維數(shù)組元素的指針變量的定義和引用,指向二維數(shù)組行的指針變量的定義和引用。5、掌握指針數(shù)組、指針的指針的定義與使用;4、靈活運(yùn)
25、用指針類型處理實(shí)際問題。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括8道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容中的實(shí)驗(yàn)題目是必須要完成的,選做內(nèi)容中的實(shí)驗(yàn)題目可以根據(jù)自己的情況選做或全做(越多越好,適當(dāng)加分);(2)在實(shí)驗(yàn)之前編寫出基本內(nèi)容、選做內(nèi)容中的所有程序,實(shí)驗(yàn)前檢查(視未完成情況適當(dāng)扣分);(3)對(duì)于設(shè)計(jì)型題目,要求畫出n-s圖;(4)在上機(jī)實(shí)驗(yàn)過程中,注意總結(jié)和體會(huì)上機(jī)步驟(編輯、編譯、連接、運(yùn)行、調(diào)試、結(jié)果分析),注意培養(yǎng)觀察、分析和排除編譯錯(cuò)誤、連接錯(cuò)誤和程序邏輯錯(cuò)誤的能力;(5)上機(jī)結(jié)束后,應(yīng)按要求認(rèn)真書寫實(shí)驗(yàn)報(bào)告(格式見附件)。2、基本內(nèi)容(1)驗(yàn)證型 試分別輸入并運(yùn)
26、行如下3個(gè)程序,然后分析結(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:/* 使用下標(biāo)法和指針法引用數(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è)計(jì)型 輸入n個(gè)整數(shù),使用指針變量將這n個(gè)數(shù)按從小到大排序輸出。運(yùn)行結(jié)果示例如下:(3)設(shè)計(jì)型 從鍵盤為數(shù)組a44輸入數(shù)據(jù),分別用指
29、向數(shù)組元素的指針變量和指向一維數(shù)組的指針變量輸入輸出數(shù)組元素,求該數(shù)組每一行的最大值,將這些值保存在一維數(shù)組b4中。運(yùn)行結(jié)果示例如下:(4)設(shè)計(jì)型 編寫函數(shù)打印出10*10的楊輝三角形(使用指針變量作函數(shù)參數(shù))。運(yùn)行結(jié)果示例如下:3、選做內(nèi)容(5)設(shè)計(jì)型 編寫函數(shù)刪除一維數(shù)組s中下標(biāo)為k的元素的值。運(yùn)行結(jié)果示例如下:(6)設(shè)計(jì)型 編寫函數(shù)把一個(gè)十進(jìn)制正整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。運(yùn)行結(jié)果示例如下:(7)設(shè)計(jì)型 編寫函數(shù)實(shí)現(xiàn)輸入一行數(shù)字字符,用數(shù)組元素作為計(jì)數(shù)器來統(tǒng)計(jì)每個(gè)數(shù)字字符的個(gè)數(shù)。用下標(biāo)為0元素統(tǒng)計(jì)字符“0”的個(gè)數(shù),用下標(biāo)為1元素統(tǒng)計(jì)字符“1”的個(gè)數(shù)。運(yùn)行結(jié)果示例如下:(8)設(shè)計(jì)型 編寫程序從輸入
30、的若干字符串中找出最小的串輸出。運(yùn)行結(jié)果示例如下:三、相關(guān)知識(shí)點(diǎn)及實(shí)驗(yàn)指導(dǎo)(一)相關(guān)知識(shí)點(diǎn)1、我們以前訪問變量采用的都是直接訪問方式,即在編譯階段系統(tǒng)給變量分配了相應(yīng)的存儲(chǔ)空間,同時(shí)也產(chǎn)生了一個(gè)變量名和內(nèi)存地址關(guān)系的對(duì)照表,當(dāng)我們通過變量名操作變量時(shí),根據(jù)變量與內(nèi)存地址對(duì)照表找到變量的地址進(jìn)行相關(guān)的操作。在間接訪問方式中,變量中保存的是另一個(gè)變量地址,通過該變量可以訪問所保存地址空間中變量的內(nèi)容,即訪問其指向的變量。2、指針變量定義的一般形式:類型說明符 *指針變量名;指針變量的引用方式:*指針變量名3、定義指向一維數(shù)組元素的指針變量的一般形式:類型說明符 *指針變量名=數(shù)組名;通過*(指針變
31、量名+)可以訪問數(shù)組中的其他元素。4、二維數(shù)組是按行存儲(chǔ)的,指向二維數(shù)組元素的指針變量的定義和定義指向一維數(shù)組元素的指針變量的定義相同。定義指向二維數(shù)組行的指針變量的一般形式:類型標(biāo)識(shí)符 (*指針變量名)二維數(shù)組列數(shù);5、在c語言中,無論函數(shù)參數(shù)數(shù)據(jù)類型是什么,調(diào)用函數(shù)時(shí)實(shí)參和形參之間都是單向的值傳遞。當(dāng)實(shí)參是普通變量時(shí)傳遞的是數(shù)值;當(dāng)實(shí)參是變量的地址或指針變量時(shí)傳遞的是地址。但要注意實(shí)參可以是變量的地址也可以是指針變量,形參只能是指針變量(形參數(shù)組名按指針變量處理)。6、數(shù)組名作函數(shù)參數(shù)實(shí)際上傳遞的數(shù)組的首地址(即指針),而不是將數(shù)組的所有元素傳遞給形參數(shù)組。函數(shù)調(diào)用時(shí),實(shí)參將數(shù)組的首地址傳
32、遞給形參指針,形參就指向了數(shù)組的首地址,通過間接訪問方式,形參可以訪問實(shí)參數(shù)組中的元素,更改數(shù)組元素的值。數(shù)組名做函數(shù)參數(shù)的實(shí)質(zhì)是指針作函數(shù)參數(shù)。因此概括起來,傳遞一個(gè)數(shù)組實(shí)參和形參可以有4種形式,如下表所示:數(shù)組名作函數(shù)參數(shù)的實(shí)參和形參對(duì)照表實(shí)參類型形參類型數(shù)組名數(shù)組名數(shù)組名指針變量指向數(shù)組的指針變量數(shù)組名指向數(shù)組的指針變量指針變量7、將數(shù)組元素是指針的數(shù)組稱為指針數(shù)組。定義指針數(shù)組的一般形式:類型說明符 *數(shù)組名數(shù)組元素的個(gè)數(shù)一般情況下,利用數(shù)值型指針數(shù)組操作二維數(shù)組的情況很少,通常是利用字符指針數(shù)組操作二維字符數(shù)組。8、將指針變量所指向的變量(也是指針變量)稱作指向指針的指針。定義指針的指針變量的一般形式:類型說明符 *指針變量名(二)實(shí)驗(yàn)指導(dǎo)(略)四、練習(xí)題(1)編寫程序把數(shù)組中的所有奇數(shù)放在另一個(gè)數(shù)組中。(2)編寫程序?qū)⒎疥囖D(zhuǎn)置。(3)編寫函數(shù)將一個(gè)數(shù)插入一個(gè)有序數(shù)組中使數(shù)組中的數(shù)據(jù)仍然有序。(4)找出方陣每列中的最小元素及其所在的行號(hào)。(5)編寫程序輸入月份,輸出該月的對(duì)應(yīng)的英文名。實(shí)驗(yàn)八 文件操作實(shí)驗(yàn)(2學(xué)時(shí))一、實(shí)驗(yàn)?zāi)康?、熟練掌握文件的概念;2、熟練掌握文件的打開與關(guān)閉;3、掌握文件數(shù)據(jù)的寫入與讀出;4、能夠運(yùn)用文件操作編寫文件應(yīng)用程序。二、實(shí)驗(yàn)內(nèi)容及要求1、實(shí)驗(yàn)內(nèi)容包括2道題目,分為基本內(nèi)容和選做內(nèi)容兩部分。要求:(1)基本內(nèi)容
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房產(chǎn)銷售合作協(xié)議
- 工藝品訂購合同范本
- 建筑工程內(nèi)部承包經(jīng)營(yíng)合同案例
- 大學(xué)生就業(yè)協(xié)議范本
- 建筑施工合同模板 工程合同范本
- 職工待崗協(xié)議2024年
- 建筑施工隊(duì)臨時(shí)工合同
- 蘇教版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)《用數(shù)對(duì)確定位置》公開課說課課件
- 2024職業(yè)培訓(xùn)合作協(xié)議
- 園林工程結(jié)算合同樣本
- 中醫(yī)養(yǎng)生中醫(yī)養(yǎng)生與體質(zhì)調(diào)護(hù)課件
- 建筑工程工地衛(wèi)生防疫措施
- 摩托分期付款合同范本
- 海口市秀英區(qū)2022-2023學(xué)年六年級(jí)下學(xué)期小升初真題精選數(shù)學(xué)試卷含答案
- 三年級(jí)家長(zhǎng)會(huì)語文教師發(fā)言課件
- 太陽能電池絲網(wǎng)印刷工藝
- 謝孟媛中級(jí)文法講義
- 第三講神話學(xué)
- 20 蜘蛛開店 (一等獎(jiǎng)創(chuàng)新教案)
- 祖暅原理與柱體、錐體、球的體積 課件
- 醫(yī)學(xué)微生物學(xué)智慧樹知到答案章節(jié)測(cè)試2023年山東第一醫(yī)科大學(xué)
評(píng)論
0/150
提交評(píng)論