C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)大綱過(guò)程_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)大綱過(guò)程_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)大綱過(guò)程_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余22頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)教學(xué)大綱一、適用X圍大綱適用信息管理專業(yè)本科教學(xué)使用。二、課程名稱C程序設(shè)計(jì)三、學(xué)時(shí)數(shù)與學(xué)分總學(xué)時(shí):90 總學(xué)分: 4實(shí)驗(yàn)學(xué)時(shí):28 實(shí)驗(yàn)學(xué)分:1四、教學(xué)目的和根本要求目的:通過(guò)C程序設(shè)計(jì)實(shí)驗(yàn),培養(yǎng)學(xué)生對(duì)學(xué)習(xí)程序設(shè)計(jì)的興趣,加深對(duì)講授內(nèi)容的理解,尤其是通過(guò)上機(jī)來(lái)掌握語(yǔ)法規(guī)那么,使學(xué)生全面了解 C 語(yǔ)言的特點(diǎn),熟練掌握C 語(yǔ)言程序設(shè)計(jì)的根本方法和編程技巧。根本要求:了解和熟悉C語(yǔ)言程序開(kāi)發(fā)的環(huán)境;學(xué)會(huì)上機(jī)調(diào)試程序,善于發(fā)現(xiàn)程序中的錯(cuò)誤,并且能很快地排除這些錯(cuò)誤,使程序能正確運(yùn)行,到達(dá)實(shí)驗(yàn)知識(shí)和理論知識(shí)的融會(huì)貫穿。上機(jī)實(shí)驗(yàn)前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程

2、序,然后在實(shí)驗(yàn)時(shí)輸入程序、調(diào)試程序、直至運(yùn)行結(jié)果正確為止,上機(jī)完畢后,應(yīng)整理出實(shí)驗(yàn)報(bào)告。五、實(shí)驗(yàn)工程與學(xué)時(shí)分配序號(hào)實(shí)驗(yàn)工程名稱實(shí)驗(yàn)學(xué)時(shí)實(shí)驗(yàn)類型1C程序的運(yùn)行環(huán)境和運(yùn)行一個(gè)C程序的方法2驗(yàn)證性實(shí)驗(yàn)2數(shù)據(jù)類型、運(yùn)算符和表達(dá)式3驗(yàn)證性實(shí)驗(yàn)3最簡(jiǎn)單的C程序設(shè)計(jì)3驗(yàn)證性實(shí)驗(yàn)4選擇構(gòu)造程序設(shè)計(jì)4設(shè)計(jì)性實(shí)驗(yàn)5循環(huán)控制4設(shè)計(jì)性實(shí)驗(yàn)6數(shù)組4設(shè)計(jì)性實(shí)驗(yàn)7函數(shù)4設(shè)計(jì)性實(shí)驗(yàn)8指針4設(shè)計(jì)性實(shí)驗(yàn)總計(jì)28注:帶*的實(shí)驗(yàn)工程為選做實(shí)驗(yàn)工程六、教材、講義及參考書(shū)"C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)"譚浩強(qiáng)主編清華大學(xué)七、實(shí)驗(yàn)成績(jī)?cè)u(píng)定方法實(shí)驗(yàn)成績(jī)=平時(shí)實(shí)驗(yàn)表現(xiàn)+實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)成績(jī)占總成績(jī)的20%。實(shí)驗(yàn)成績(jī)以等級(jí)形式給出

3、,評(píng)定等級(jí)分優(yōu)、良、中、及格、不及格五類。1、平時(shí)考核:上機(jī)實(shí)驗(yàn)前,學(xué)生必須事先根據(jù)題目的內(nèi)容編好程序,然后在實(shí)驗(yàn)時(shí)輸入程序、調(diào)試程序、直至運(yùn)行結(jié)果正確為止。在實(shí)驗(yàn)中,教師可根據(jù)學(xué)生編程操作能力、觀察和分析及運(yùn)用知識(shí)能力、程序編制正確性以及學(xué)生的課堂紀(jì)律、實(shí)驗(yàn)態(tài)度、保持實(shí)驗(yàn)室衛(wèi)生等方面的表現(xiàn)進(jìn)展綜合考核。2、實(shí)驗(yàn)報(bào)告:學(xué)生實(shí)驗(yàn)后應(yīng)按時(shí)完成實(shí)驗(yàn)報(bào)告。八、實(shí)驗(yàn)教學(xué)大綱說(shuō)明本大綱共安排28學(xué)時(shí)的實(shí)驗(yàn),其中帶*號(hào)實(shí)驗(yàn)工程為選做實(shí)驗(yàn)工程,實(shí)際課時(shí)為18學(xué)時(shí)。實(shí)驗(yàn)工程多為設(shè)計(jì)性實(shí)驗(yàn)工程,每個(gè)設(shè)計(jì)性實(shí)驗(yàn)工程中都包含數(shù)個(gè)小的設(shè)計(jì)性題目,其中帶*號(hào)的題目為選做題目,有時(shí)間和有能力的同學(xué)可以選做。九、實(shí)驗(yàn)工程實(shí)驗(yàn)

4、一 C程序的運(yùn)行環(huán)境和運(yùn)行一個(gè)C程序的方法一、實(shí)驗(yàn)?zāi)康?.了解Visual C+6.0編譯系統(tǒng)的根本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。2.了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。3.通過(guò)運(yùn)行簡(jiǎn)單的C程序,初步了解C源程序的特點(diǎn)。二、實(shí)驗(yàn)內(nèi)容1.用編輯程序,輸入教材第一章例1.1程序,并進(jìn)展編譯和運(yùn)行。應(yīng)了解所用的系統(tǒng)是用什么命令進(jìn)展編譯和連接運(yùn)行的。編譯和連接后所得到的目標(biāo)程序的后綴是什么形式的.2.編寫(xiě)一個(gè)C程序,輸出以下信息:* very good!*3.輸入并運(yùn)行教材第一章中例1.3,了解如何在運(yùn)行時(shí)向程序變量輸入數(shù)據(jù)。實(shí)驗(yàn)二 數(shù)據(jù)類型、運(yùn)算符和表達(dá)式一、實(shí)驗(yàn)?zāi)康?.掌握C語(yǔ)言數(shù)

5、據(jù)類型,熟悉如何定義一個(gè)整型、字符型、實(shí)型變量,以及對(duì)它們賦值的方法,了解以上類型數(shù)據(jù)輸出時(shí)所用格式轉(zhuǎn)換符。2.學(xué)會(huì)使用C的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。二、實(shí)驗(yàn)內(nèi)容1.輸入并運(yùn)行以下程序:main( ) char c1,c2; c1=97;c2=98; printf(“%c %cn,c1,c2);printf(“%d %dn,c1,c2);在此根底上將第三行、第四行改為:c1=321;c2=353;再使之運(yùn)行,分析其運(yùn)行結(jié)果。將第二行改為:int c1,c2;再使之運(yùn)行,分析其運(yùn)行結(jié)果。2.輸入并運(yùn)行以下程序: main( ) int

6、i=8,j=10,m,n;m=+i;n=j+;printf(“%d,%d,%d,%dn,i,j,m,n); 分別作以下改動(dòng)并運(yùn)行:程序改為:main( ) int i=8,j=10;printf(“%d,%dn,i+,j+); 在的根底上,將printf語(yǔ)句改為:printf(“%d,%dn,+i,+j);再將printf語(yǔ)句改為:printf(“%d,%d,%d,%dn,i,j, i+,j+);程序改為:main( ) int i=8,j=10,m=0,n=0;m+=i+;n-=-j;printf(“i=%d,j=%d,m=%d,n=%dn,i,j,m,n); 3. 請(qǐng)將以下給出的兩個(gè)程序段

7、分別輸入計(jì)算機(jī)后,分析其運(yùn)行結(jié)果:main() int num; num=32767; printf(“num=%dn,+num); main() int a=-2; printf(“%d, %dn,a, a-); 實(shí)驗(yàn)三 最簡(jiǎn)單的C程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.掌握C語(yǔ)言中使用最多的一種語(yǔ)句賦值語(yǔ)句的使用。2.掌握數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。二、實(shí)驗(yàn)內(nèi)容1.上機(jī)輸入以下程序:main( )int a,b;float c; scanf(“%d%d%f,&a,&b,&c); printf(“a=%-4d,b=%4d,c=%f,c=%.2fn,a,b,c,c)

8、;要使a=3,b=4,c=12.3456,在鍵盤(pán)上應(yīng)如何輸入.有幾種方式.2.假設(shè)將輸入函數(shù)改為scanf(“%d, %d ,%f,&a,&b,&c);應(yīng)該如何輸入數(shù)據(jù).3.上機(jī)輸入以下程序:main( )int a; float b; char c;scanf(“%4d%5f%3c,&a,&b,&c); printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%cn,a,a,a,b,b,c);要使a=77,b=4.56,c= A,在鍵盤(pán)上應(yīng)如何輸入.4.輸入兩面整型變量a、b的值,輸出以下算式以及運(yùn)算結(jié)果。a+b、a-

9、b、a*b、a/b、(float)a/b、a%b每個(gè)算式占一行。如a等于10,b等于6,a+b應(yīng)輸入為:10+6=165.編寫(xiě)程序,用getchar函數(shù)讀入兩個(gè)字符c1、c2,然后分別用putchar函數(shù)和printf函數(shù)輸出這兩個(gè)字符。上機(jī)運(yùn)行程序,比擬用printf和putchar函數(shù)輸出字符的特點(diǎn)。實(shí)驗(yàn)四 選擇構(gòu)造程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康?.了解C語(yǔ)言表示邏輯量的方法(以0代表“假,以1代表“真);2.學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式;3.熟練掌握if語(yǔ)句和switch語(yǔ)句。二、實(shí)驗(yàn)內(nèi)容先編程序,解以下問(wèn)題,然后上機(jī)調(diào)試運(yùn)行程序。1.有一個(gè)函數(shù)用scanf函數(shù)輸入x的值(分別為x<1

10、、110、10三種情況),求y值。2.給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)A,B,C,D,E。90分以上為A,8089分為B,7079分為C,6069分為D,60分以下為E。要求分別用if語(yǔ)句和switch語(yǔ)句實(shí)現(xiàn) 3.輸入一個(gè)三位數(shù),假設(shè)此數(shù)是水仙花數(shù)輸出“Y,否那么輸出“N, 假設(shè)輸入值不是三位數(shù)輸出“data error。提示:水仙花數(shù)是一個(gè)三位數(shù),組成這個(gè)三位數(shù)的三個(gè)數(shù)字的立方和與這個(gè)三位數(shù)相等。如:153=13+53+33。判斷是否是水仙花數(shù)需把構(gòu)成三位數(shù)的三個(gè)數(shù)字別離出來(lái)并存入變量。實(shí)驗(yàn)五 循環(huán)控制一、實(shí)驗(yàn)?zāi)康?.熟悉用while語(yǔ)句,do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法

11、。2.掌握在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)各種算法(如窮舉、迭代、遞推等)。二、實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行。1.輸入兩個(gè)正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。2.輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。3.打印出以以下圖案: * * * * * * *4.編程求1!+2!+3!+20!。5.編寫(xiě)程序輸出乘法表實(shí)驗(yàn)六 數(shù)組一、實(shí)驗(yàn)?zāi)康?.掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2.掌握字符數(shù)組和字符串函數(shù)的使用。3.掌握與數(shù)組有關(guān)的算法(特別是排序算法)。二、實(shí)驗(yàn)內(nèi)容 編程序并上機(jī)調(diào)試運(yùn)行。1. 編寫(xiě)程序,用scanf函數(shù)輸入10個(gè)整數(shù)的數(shù)列,先將整數(shù)按照從

12、大到小的順序進(jìn)展排序,然后輸入一個(gè)整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。2.有15個(gè)數(shù)存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個(gè)元素的值,如果該數(shù)不在數(shù)組中,那么輸出“無(wú)此數(shù) ,并且可以實(shí)現(xiàn)連續(xù)查找。15個(gè)數(shù)用賦初值的方法在程序中給出,要找的數(shù)用scanf函數(shù)輸入。3.將以下二維數(shù)組中數(shù)按列的順序存放到一個(gè)一維數(shù)組中。二維數(shù)組的內(nèi)容是11 22 33 4411 22 33 4411 22 33 44那么一維數(shù)組中的內(nèi)容是11 11 11 22 22 22 33 33 33 44 44 44 4.將兩個(gè)字符串連接起來(lái),不要用strcat函數(shù)。5.從鍵盤(pán)輸入5個(gè)字符

13、串,找出最長(zhǎng)的字符串和最大的字符串。實(shí)驗(yàn)七 函數(shù)一、實(shí)驗(yàn)?zāi)康?.掌握定義函數(shù)的方法;2.掌握函數(shù)實(shí)參與形參的對(duì)應(yīng)關(guān)系,以及“值傳遞的方式;3.掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法;4.掌握全局變量和局部變量,動(dòng)態(tài)變量和靜態(tài)變量的概念和使用方法。二、實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行之。1.寫(xiě)一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的信息。2.兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù),并輸出結(jié)果。兩個(gè)整數(shù)在主函數(shù)中輸入,并傳送給函數(shù)1,求出的最大公約數(shù)返回主函數(shù),然后再與兩個(gè)整數(shù)一起作為實(shí)參傳遞給函數(shù)2,以求出最小公倍數(shù),返回到主函數(shù)輸出最大公約數(shù)和最小公

14、倍數(shù)。3.二階Fibonacci數(shù)列: 0 假設(shè)n=0Fib(n)= 1 假設(shè)n=1 Fib(n-1)+Fib(n-2) 其他情況定義遞歸函數(shù)求Fib(n)。4. 編寫(xiě)函數(shù),求 實(shí)驗(yàn)八 指針一、實(shí)驗(yàn)?zāi)康?.掌握指針的概念,會(huì)定義和使用指針變量;2.學(xué)會(huì)使用數(shù)組的指針和指向數(shù)組的指針變量;3.學(xué)會(huì)使用字符串的指針和指向字符串的指針變量;4.學(xué)會(huì)使用指向函數(shù)的指針變量;5.了解指向指針的指針的概念及其使用方法。二、實(shí)驗(yàn)內(nèi)容編程序并上機(jī)調(diào)試運(yùn)行程序都要求用指針處理。1.定義函數(shù)void fun(int x ,int *max,int *min),找出數(shù)組x中的最大值和最小值,最大值和最小值通過(guò)形參指

15、針max和min傳回。2.編寫(xiě)一個(gè)函數(shù)p(s1,s2)實(shí)現(xiàn)兩個(gè)字符串的比擬。如果s1=s2,那么函數(shù)返回值為0;如果s1s2,返回它們二者第一個(gè)不同字符的ASCII碼差值(如“BOY與“BAD,第二個(gè)字母不同,“O與“A之差為79-65=14);如果s1>s2,那么輸出正值;如s1<s2那么輸出負(fù)值。兩個(gè)字符串s1,s2由main函數(shù)輸入,strcmp函數(shù)的返回值也在main函數(shù)輸出。3.從鍵盤(pán)輸入一個(gè)字符串與一個(gè)指定字符,調(diào)用函數(shù),將字符串中出現(xiàn)的指定字符全部刪除。4將一個(gè)×的矩陣轉(zhuǎn)置,用一函數(shù)實(shí)現(xiàn)。在一主函數(shù)中用scanf函數(shù)輸入以下矩陣元素:將數(shù)組名作為函數(shù)參數(shù),在

16、執(zhí)行函數(shù)的過(guò)程中實(shí)現(xiàn)矩陣轉(zhuǎn)置,函數(shù)調(diào)用完畢后在主函數(shù)中輸出轉(zhuǎn)置后的矩陣。實(shí)驗(yàn)九 構(gòu)造體和共用體一、實(shí)驗(yàn)?zāi)康?.掌握構(gòu)造體類型變量的定義和使用;2.掌握構(gòu)造體類型數(shù)組的概念和應(yīng)用;3.掌握鏈表的概念,初步學(xué)會(huì)對(duì)鏈表進(jìn)展操作;4.掌握共用體的概念與使用。二、實(shí)驗(yàn)內(nèi)容編程序,然后上機(jī)調(diào)試運(yùn)行。1.有3個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)、三門(mén)課的成績(jī),要求用input函數(shù)實(shí)現(xiàn)從鍵盤(pán)輸入學(xué)生數(shù)據(jù),用average函數(shù)求每個(gè)人的平均分,用output函數(shù)打印學(xué)生數(shù)據(jù)及平均成績(jī)。2.建立一個(gè)帶有頭結(jié)點(diǎn)的單鏈表,每個(gè)結(jié)點(diǎn)包括:學(xué)號(hào)、年齡,并輸出鏈表中所有結(jié)點(diǎn)的數(shù)據(jù)。在鏈表中查找年齡最大的結(jié)點(diǎn),并將鏈表中等于此年齡

17、的結(jié)點(diǎn)刪除年齡最大的結(jié)點(diǎn)可能不止一個(gè)。*3.將一個(gè)鏈表按逆序排列,即將鏈頭當(dāng)鏈尾,鏈尾當(dāng)鏈頭。4.上機(jī)輸入如下程序:main( )union bt int k; char c2;a; a.k= -7; printf(“%o,%on,a.c0,a.c1);分析其運(yùn)行結(jié)果。實(shí)驗(yàn)十 位運(yùn)算一、實(shí)驗(yàn)?zāi)康?.掌握按位運(yùn)算的概念和方法,學(xué)會(huì)使用位運(yùn)算符;2.學(xué)會(huì)通過(guò)位運(yùn)算實(shí)現(xiàn)對(duì)某些位的操作。二、實(shí)驗(yàn)內(nèi)容編寫(xiě)程序,上機(jī)調(diào)試并運(yùn)行。1.編一個(gè)函數(shù)getbits,從一個(gè)16位的單元中取出某幾位(即該幾位保存原值,其余位為0)。函數(shù)調(diào)用形式為:getbits(value,n1,n2)value為該16位數(shù)的值,n

18、1為欲取出的起始位,n2為欲取出的的完畢位。如:getbits(0101675,5,8)表示對(duì)八進(jìn)制數(shù)101675,取出其從左面起的第5位到第8位。要求把這幾位數(shù)用八進(jìn)制數(shù)打印出來(lái)。注意,應(yīng)當(dāng)將這幾位數(shù)右移到最右端,然后用八進(jìn)制形式輸出。2.利用位運(yùn)算操作,實(shí)現(xiàn)交換兩個(gè)變量的值。3.將一個(gè)十六進(jìn)制整數(shù)的各位循環(huán)左移4位,然后用十六進(jìn)制形式輸出。實(shí)驗(yàn)十一 文件一、實(shí)驗(yàn)?zāi)康?.掌握文件以及緩沖文件系統(tǒng)、文件指針的概念;2.學(xué)會(huì)使用文件翻開(kāi)、關(guān)閉、讀、寫(xiě)等文件操作函數(shù)。3.學(xué)會(huì)用緩沖文件系統(tǒng)對(duì)文件進(jìn)展簡(jiǎn)單的操作。二、實(shí)驗(yàn)內(nèi)容編寫(xiě)程序并上機(jī)調(diào)試運(yùn)行。1.編程序求100以內(nèi)的素?cái)?shù),分別將它輸出到顯示器屏

19、幕和x.txt文件中,要求每行5個(gè)數(shù)。2.從鍵盤(pán)輸入幾本書(shū)的數(shù)據(jù),每本書(shū)的數(shù)據(jù)包括條形碼、書(shū)名和價(jià)格,將每項(xiàng)數(shù)據(jù)分別寫(xiě)入文本文件s.txt和二進(jìn)制文件s.dat。*3.從上題的文本文件s.txt或二進(jìn)制文件s.dat中讀入每本書(shū)的數(shù)據(jù),計(jì)算所有書(shū)的平均價(jià)格。要求用input函數(shù)讀入,average函數(shù)求平均價(jià)格。統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 一 學(xué)號(hào):班級(jí):成績(jī):實(shí)驗(yàn)名稱:C程序的運(yùn)行環(huán)境和運(yùn)行一個(gè)C程序的方法指導(dǎo)教師:實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Visual C+6.0實(shí)驗(yàn)要求1.了解Visual C+6.0編譯系統(tǒng)的根本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)

20、。2.了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C程序。3.通過(guò)運(yùn)行簡(jiǎn)單的C程序,初步了解C源程序的特點(diǎn)。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn):1、 翻開(kāi)Visual C+6.0。2、 新建文件 C+ Source File,文件名.c并更改位置后確定。3、 編輯*include"stdio.h"int main()printf("This is a C program.n");return 0;4、 編譯,無(wú)錯(cuò)誤無(wú)警告后執(zhí)行實(shí)驗(yàn):*include"stdio.h"int main()printf("*n");printf(&qu

21、ot;Very good!n");printf("*n");return 0;實(shí)驗(yàn):*include"stdio.h"int main()printf("This is a C program.n");return 0;實(shí)驗(yàn)總結(jié)統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 二 學(xué)號(hào):班級(jí):成績(jī):實(shí)驗(yàn)名稱:數(shù)據(jù)類型、運(yùn)算符和表達(dá)式指導(dǎo)教師:實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Visual C+6.0實(shí)驗(yàn)要求1.掌握C語(yǔ)言數(shù)據(jù)類型,熟悉如何定義一個(gè)整型、字符型、實(shí)型變量,以及對(duì)它們賦值的方法,了解以上類型數(shù)據(jù)輸

22、出時(shí)所用格式轉(zhuǎn)換符。2.學(xué)會(huì)使用C的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn)1、 運(yùn)行Visual C+6.0并新建工作區(qū)2、 輸入*include<stdio.h>main()char c1,c2; c1=321;c2=353; printf("%c %cn",c1,c2); printf("%d %dn",c1,c2);3、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:4、 在步驟2的根底上將第三行、第四行改為:c1=321;c2=353;5、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果提示

23、:aa.obj - 0 error(s), 2 warning(s)6、 在步驟2的根底上將第二行改為:int c1,c2;7、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)1、 輸入*include<stdio.h>main()int i=8,j=10,m,n; m=+i;n=j+; printf("%d,%d,%d,%dn",i,j,m,n);實(shí)驗(yàn)1、輸入*include<stdio.h>main()int num; num=32767; printf("num=%dn",+num);2、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:

24、2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:3、 將步驟2程序改為:*include<stdio.h>main()int i=8,j=10; printf("%d,%dn",i+,j+);4、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:5、 在步驟3的根底上,將printf語(yǔ)句改為:printf(“%d,%dn,+i,+j);6、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:7、 在步驟3的根底上,將printf語(yǔ)句改為:printf(“%d,%d,%d,%dn,i,j, i+,j+);8、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:9、 將步驟2程序改為:*include&l

25、t;stdio.h>main()int i=8,j=10,m=0,n=0;m+=i+,n-=-j;printf("i=%d,j=%d,m=%d,n=%dn",i,j,m,n);10、編譯、運(yùn)行,結(jié)果如下:3、 輸入*include<stdio.h>main()int a=-2; printf("%d,%dn",a,a-);4、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)總結(jié)統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 三 學(xué)號(hào):班級(jí):成績(jī):實(shí)驗(yàn)名稱:最簡(jiǎn)單的C程序設(shè)計(jì)指導(dǎo)教師:實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Vis

26、ual C+6.0實(shí)驗(yàn)要求1.掌握C語(yǔ)言中使用最多的一種語(yǔ)句賦值語(yǔ)句的使用。2.掌握數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式轉(zhuǎn)換符。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn)1、 運(yùn)行Visual C+6.0并新建工作區(qū)2、 輸入*include<stdio.h>main()int a,b;float c;scanf("%d%d%f",&a,&b,&c);printf("a=%-4d,b=%4d,c=%f,c=%.2fn",a,b,c,c);3、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下: 有空格、tab、回車三種輸入方式。4、 將步驟2中的sc

27、anf("%d%d%f",&a,&b,&c);改為scanf(“%d, %d ,%f,&a,&b,&c);5、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)1、 輸入*include<stdio.h>main()int a;float b;char c;scanf("%4d%5f%3c",&a,&b,&c);printf("a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%cn",a,a,a,b,b,c);2、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)

28、行,結(jié)果如下:實(shí)驗(yàn)(1) a+b1、 輸入*include<stdio.h>main()int a,b,c; scanf("%d,%d",&a,&b); c=a+b; printf("%d+%d=%dn",a,b,c);2、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:(2) a-b1、 輸入*include<stdio.h>main()int a,b,c; scanf("%d,%d",&a,&b); c=a-b; printf("%d-%d=%dn",a,b,c)

29、;2、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:(3) a*b1、 輸入*include<stdio.h>main()int a,b,c;scanf("%d,%d",&a,&b);c=a*b;printf("%d*%d=%dn",a,b,c);2、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)1getchar輸出1、輸入*include<stdio.h>int main()char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);return 0;2、編譯

30、,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:(4) a/b1、輸入*include<stdio.h>main()int a,b,c; scanf("%d,%d",&a,&b); c=a/b; printf("%d/%d=%dn",a,b,c);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:(5) (float)a/b1、輸入*include<stdio.h>main()int a,b,c; scanf("%d,%d",&a,&b); c=(float)a/b; printf("%d/

31、%d=%dn",a,b,c);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:(6) a%b1、輸入*include<stdio.h>main()int a,b,c; scanf("%d,%d",&a,&b); c=a%b; printf("%d%d=%dn",a,b,c);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:2printf輸出1、輸入*include<stdio.h>int main()char c1,c2;c1=getchar();c2=getchar();printf("%c%cn&quo

32、t;,c1,c2);return 0;2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)總結(jié)統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 四 學(xué)號(hào):班級(jí):成績(jī):實(shí)驗(yàn)名稱:選擇構(gòu)造程序設(shè)計(jì)指導(dǎo)教師:X雄實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Visual C+6.0實(shí)驗(yàn)要求1.了解C語(yǔ)言表示邏輯量的方法(以0代表“假,以1代表“真);2.學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式;3.熟練掌握if語(yǔ)句和switch語(yǔ)句。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn)1、 運(yùn)行Visual C+6.0。2、 輸入*include<stdio.h>int main()int x,y;scanf("%d&

33、quot;,&x);if(x<1)y=x;else if(x>=10)y=3*x-11;elsey=2*x-1;printf("x=%d,y=%dn",x,y);return 0;3、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:X<1時(shí),1=<x<10時(shí),x>=10時(shí),2switch語(yǔ)句1、輸入*include<stdio.h>main()float x;int y;char ch;printf("Your score:");scanf("%f",&x);y=x/10;swi

34、tch(y)case 10:case 9:ch='A'break;case 8:ch='B'break;case 7:ch='C'break;case 6:ch='D'break;default:ch='E'printf("%cn",ch);return 0;2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)1if語(yǔ)句1、輸入*include<stdio.h>main()float x;char ch;scanf("%f",&x);if(x>=90) c

35、h="A"else if(x>=80) ch="B"else if(x>=70) ch="C"else if(x>=60) ch="D"else ch="E"printf("%cn",ch);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn):水仙花數(shù)1、輸入*include<stdio.h>int main()int m,a,b,c;scanf("%d",&m);if(m/100=0)printf("data

36、errorn");return 0;a=m%10;b=(m/10)%10;c=m/100;if(m=a*a*a+b*b*b+c*c*c)printf("Yn",m);return 0;else printf("Nn",m);return 0;2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)總結(jié)統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 五 學(xué)號(hào):班級(jí):成績(jī):實(shí)驗(yàn)名稱:循環(huán)控制指導(dǎo)教師:實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Visual C+6.0實(shí)驗(yàn)要求1.熟悉用while語(yǔ)句,do-while語(yǔ)句和for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。2

37、.掌握在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)各種算法(如窮舉、迭代、遞推等)。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn):輸入兩個(gè)正整數(shù),求其中最大公約數(shù)和最小公倍數(shù)。1求最大公約數(shù)1、輸入*include<stdio.h>main()int m,n,i,t;scanf("%d%d",&m,&n);if(n<m)t=n;n=m;m=t;i=m;while(1)if(m%i=0&&n%i=0) break;i-;printf("它們的最大公約數(shù)是:%dn",i);return 0;2、編譯,無(wú)錯(cuò)誤、無(wú)警告后執(zhí)行,結(jié)果如下:2求最小公倍數(shù)1、

38、輸入*include<stdio.h>main()int m,n,i,t;scanf("%d%d",&m,&n);if(n<m)t=n;n=m;m=t;實(shí)驗(yàn):輸入一行字符,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。1、輸入*include<stdio.h>main()char c; int letter,space,number,other; letter=space=number=other=0; do c=getchar(); if(c>='a'&&c<='z&

39、#39;|c>='A'&&c<='Z') letter+; else if(c>='0'&&c<='9') number+; else if(c=' ') space+; else other+; while(c!='n'); printf("letter=%d,space=%d,number=%d,other=%dn",letter,space,number,other); return 0;2、編譯,無(wú)錯(cuò)誤、無(wú)警告后執(zhí)行

40、,結(jié)果如下:實(shí)驗(yàn):打印出以以下圖案:7行7列菱形1、輸入*include<stdio.h>*define n 3int main()int i,j;for(i=0;i<=n;i+) for(j=1;j<=n-i;j+)printf(" ");i=m;while(1)if(i%m=0&&i%n=0) break;i+;printf("它們的最小公倍數(shù)是:%dn",i);return 0;2、編譯,無(wú)錯(cuò)誤、無(wú)警告后執(zhí)行,結(jié)果如下:實(shí)驗(yàn):編寫(xiě)程序輸出乘法表1、 輸入*include<stdio.h>main(

41、)int i,j;for(i=1;i<=9;i+) for(j=1;j<=i;j+) printf("%d*%d=%-3d",j,i,i*j); printf("n"); system("pause");2、 編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下: for(j=1;j<=2*i+1;j+) printf("*"); printf("n"); for(i=n-1;i>=0;i-) for(j=1;j<=n-i;j+) printf(" "); fo

42、r(j=1;j<=2*i+1;j+) printf("*"); printf("n"); 2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn):編程求1!+2!+3!+20!。1、輸入*include<stdio.h>int main()int n,m=1,sum=0;for(n=1;n<=20;n+)m=n*m;sum=sum+m;printf("1+2!+3!.+20!=%dn",sum);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn)總結(jié)統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 六 學(xué)號(hào):班級(jí):

43、成績(jī):實(shí)驗(yàn)名稱:數(shù)組指導(dǎo)教師:實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Visual C+6.0實(shí)驗(yàn)要求1.掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出的方法;2.掌握字符數(shù)組和字符串函數(shù)的使用。3.掌握與數(shù)組有關(guān)的算法(特別是排序算法)。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn):編寫(xiě)程序,用scanf函數(shù)輸入10個(gè)整數(shù)的數(shù)列,先將整數(shù)按照從大到小的順序進(jìn)展排序,然后輸入一個(gè)整數(shù)插入到數(shù)列中,使數(shù)列保持從大到小的順序。1、輸入*include<stdio.h> main () void Rank(int N,int n); int i,j,k; int n11; for(i=0;i<10;i+)

44、scanf("%d",&ni); Rank(10,n);scanf("%d",&k); if(k>n9) n10=k; else for(i=0;ni<=k;i+); for(j=9;j>=i;j-) nj+1=nj; ni=k; for(i=0;i<=10;i+) printf("%-4d",ni); printf("n"); void Rank(int N,int n) int i,k,t; for(k=1;k<=N-1;k+) for(i=N-1;i>=k;

45、i-) if(ni-1>ni) 實(shí)驗(yàn):有15個(gè)數(shù)存放在一個(gè)數(shù)組中,輸入一個(gè)數(shù),要求用折半查找法找出該數(shù)是數(shù)組中第幾個(gè)元素的值,如果該數(shù)不在數(shù)組中,那么輸出“無(wú)此數(shù) ,并且可以實(shí)現(xiàn)連續(xù)查找。15個(gè)數(shù)用賦初值的方法在程序中給出,要找的數(shù)用scanf函數(shù)輸入。1、輸入*include<math.h>main()static int i,j,m,a15=2,10,13,24,35,59,68,78,98,102,234,526,649,758,893;scanf("%d",&m);for(j=0;j<15;j+)printf("%4d&qu

46、ot;,aj);printf("n");i=7;while(fabs(i-7)<8)if(m<a7)if(ai-m=0)printf("it is at (%d)n",i+1);break;i-;else if(m>a7)if(ai-m=0)printf("it is at (%d)n",i+1);break;i+;elseprintf("8n");if(fabs(i-7)-8=0) printf("無(wú)此數(shù)n");2、編譯,無(wú)錯(cuò)誤、2警告后運(yùn)行,運(yùn)行結(jié)果如下:實(shí)驗(yàn):將以下二維數(shù)

47、組中數(shù)按列的順序存放到一個(gè)一維數(shù)組中。二維數(shù)組的內(nèi)容是11 22 33 4411 22 33 4411 22 33 44那么一維數(shù)組中的內(nèi)容是11 11 11 22 22 22 33 33 33 44 44 441、輸入*include <stdio.h>main()inta34=11,22,33,44,11,22,33,44,11,22,33,44;int b12,i,j,m;t=ni; ni=ni-1; ni-1=t; for(i=0;i<=N-1;i+) printf("%-4d",ni); printf("n"); 2、編譯,無(wú)

48、錯(cuò)誤、無(wú)警告后運(yùn)行,運(yùn)行結(jié)果如下:實(shí)驗(yàn):將兩個(gè)字符串連接起來(lái),不要用strcat函數(shù)。1、輸入*define M 50*define N 20main ()char aM,bN;int i,j;gets(a);gets(b);for(i=0;ai!='0'i+);for(j=0;bj!='0'j+) ai=bj;i+;ai='0'puts(a);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,運(yùn)行結(jié)果如下:實(shí)驗(yàn):從鍵盤(pán)輸入5個(gè)字符串,找出最長(zhǎng)的字符串和最大的字符串。1、輸入*include "string.h"*define N 20main

49、()char a5N,maxN,m,n,max1;int b5;int i,j;for(i=0;i<=4;i+)gets(ai);for(i=0;i<=4;i+)bi=strlen(ai);max1=b0;m=0;for(i=1;i<=4;i+)if(bi>=max1) max1=bi;m=i;strcpy(max,a0);n=0;for(i=1;i<=4;i+)if(strcmp(ai,max)>=0)strcpy(max,ai);n=i;printf("n");puts(am);puts(an);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,運(yùn)行結(jié)

50、果如下:m=0;for(j=0;j<=3;j+)for(i=0;i<=2;i+)bm=aij;m+;for(m=0;m<12;m+)printf("%d ",bm);printf("n");2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,運(yùn)行結(jié)果如下:實(shí)驗(yàn)總結(jié)統(tǒng)計(jì)與信息學(xué)院"C程序設(shè)計(jì)"實(shí)驗(yàn)報(bào)告 七 學(xué)號(hào):班級(jí):成績(jī):實(shí)驗(yàn)名稱:函數(shù)指導(dǎo)教師:X雄實(shí)驗(yàn)日期:實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)軟件主要儀器設(shè)備:Visual C+6.0實(shí)驗(yàn)要求1.掌握定義函數(shù)的方法;2.掌握函數(shù)實(shí)參與形參的對(duì)應(yīng)關(guān)系,以及“值傳遞的方式;3.掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法

51、;4.掌握全局變量和局部變量,動(dòng)態(tài)變量和靜態(tài)變量的概念和使用方法。實(shí)驗(yàn)過(guò)程與步驟實(shí)驗(yàn):寫(xiě)一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否是素?cái)?shù)的信息。1、輸入*include <stdio.h>int is_prime(int m)int i;if(m=1)return 0;for(i=2;i<m;i+)if(m%i=0)return 0;return 1;void main()int n,c;scanf("%d",&n);c=is_prime(n);if(c=1)printf("它是素?cái)?shù)n");elseprintf(&quo

52、t;它不是素?cái)?shù)n");2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn):二階Fibonacci數(shù)列: 0 假設(shè)n=0Fib(n)= 1 假設(shè)n=1 Fib(n-1)+Fib(n-2) 其他情況定義遞歸函數(shù)求Fib(n)。1、輸入*include<stdio.h>int fib(int n)if(n=0 )return 0;else if(n=1)return 1;elsereturn fib(n-1)+fib(n-2);void main()int n; scanf("%d",&n); printf("fib(%d)=%dn"

53、,n,fib(n);2、編譯,無(wú)錯(cuò)誤、無(wú)警告后運(yùn)行,結(jié)果如下:實(shí)驗(yàn): 1、輸入*include<stdio.h>void main() int gy(int,int); int gb(int,int); int m,n;restart: scanf("%d%d",&m,&n); printf("最大公約數(shù)是%dn",gy(m,n); printf("最小公倍數(shù)是%dn",gb(m,n); goto restart;int gy(int x,int y) int a,b,c,d; if(x>=y) a=x,b=y; else a=y,b=x; while(d!=0) c=a/b;d=a%b;a=b;b=d; return a;int gb(int x,int y) return(x*y

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論