《C語(yǔ)言程序設(shè)計(jì)》實(shí)訓(xùn)_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》實(shí)訓(xùn)_第2頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)大綱 C知識(shí)要點(diǎn) C語(yǔ)言的標(biāo)志符和保留字。 C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn)和書寫格式。 C 語(yǔ)言程序的編輯及運(yùn)行方法。實(shí)驗(yàn)?zāi)康模?)熟悉 Turbo C2.0的軟件環(huán)境,掌握使用 Turbo C進(jìn)行編輯,編譯,連接和運(yùn)行的方法。(2)通過運(yùn)行簡(jiǎn)單的 C程序,掌握C語(yǔ)言源程序的特點(diǎn)。實(shí)驗(yàn)內(nèi)容(1)安裝并運(yùn)行 Turbo C 2.0程序,進(jìn)入C語(yǔ)言程序設(shè)計(jì)環(huán)境。(2)編輯源程序文件選擇“File”Load”菜單命令,加載已經(jīng)存在的 C語(yǔ)言源程序文件.選擇“File”“New”菜單命令建立新文件。請(qǐng)輸入下面的語(yǔ)言源程序,在編輯完成后,用“File”“Save”菜單命令或鍵保存編輯結(jié)果到新文件

2、中。int a=4,b=2;Main()int e=1,f=2;print(“%dn”, max (a, b );print(“%dn” , max( e, f );int max( int x, int y)return xy ? x:y;(3)編譯和連接程序文件。源程序先經(jīng)過編譯,生成目標(biāo)文件(.OBJ可執(zhí)行文件(.EXE1 知識(shí)要點(diǎn)C語(yǔ)言提供的數(shù)據(jù)結(jié)構(gòu),是以數(shù)據(jù)類型形式出現(xiàn)的。具體分類如下:1.基本類型2.構(gòu)造類型分為數(shù)組類型、結(jié)構(gòu)類型和共用類型三種。3.指針類型。在第 9章中介紹。4.空類型C語(yǔ)言中的數(shù)據(jù),有常量和變量之分,它們分別屬于上述這些類型。實(shí)驗(yàn)?zāi)康模?)了解 C語(yǔ)言中數(shù)據(jù)類型

3、的意義。(2)了解 C語(yǔ)言中數(shù)據(jù)類型的轉(zhuǎn)換方式。實(shí)驗(yàn)內(nèi)容(1)輸入下面程序,觀察它的運(yùn)行結(jié)果。Main()ch1=a;ch2=B/*字母的大小寫轉(zhuǎn)換*/printf(ch1=%c,ch2=%cn,ch1-32,ch2+32);/*用字符形式輸出一個(gè)大于 256的數(shù)值*/printf(ch1+200=%dn,ch1+200);printf(ch1+200=%cn,ch1+200);printf(ch1+256=%dn,ch1+256);C語(yǔ)言允許對(duì)字符數(shù)據(jù)進(jìn)行運(yùn)算,此時(shí)就是對(duì)它們的 ASCII碼值進(jìn)行算術(shù)運(yùn)算。2 知識(shí)要點(diǎn)(1) C語(yǔ)言的表達(dá)式。(2) 算術(shù)運(yùn)算符和算術(shù)表達(dá)式。(3) 關(guān)系和邏輯

4、運(yùn)算符。(4) Sizeof()運(yùn)算符。(5) 運(yùn)算符的優(yōu)先級(jí)和結(jié)合性。實(shí)驗(yàn)?zāi)康?1)掌握 C語(yǔ)言的數(shù)據(jù)類型,熟悉如何定義整形、字符型、實(shí)型變量,以及對(duì)它們賦值的方法,了解以上數(shù)據(jù)類型并輸出時(shí)所使用的格式轉(zhuǎn)換符號(hào)。(2)學(xué)會(huì)如何使用 C 語(yǔ)言的有關(guān)運(yùn)算符以及包括這些運(yùn)算符號(hào)的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。(3)進(jìn)一步熟悉 C程序的編輯、編譯、連接和運(yùn)用的過程。實(shí)驗(yàn)內(nèi)容(1) 輸入以下程序,在編譯、運(yùn)行,并分析運(yùn)行結(jié)果。Main()char cl,c2;printf(“%c%c”,cl,c2);在程序末尾加一個(gè) printf語(yǔ)句,并運(yùn)行之。(“%d,%d”,cl,c2);在的

5、基礎(chǔ)上,將第 2行改為:int cl,c2;再運(yùn)行程序。將第 3行改為:cl=300;c2=400;再運(yùn)行,并分析結(jié)果。輸入并運(yùn)行以下程序。Main()int i,j,m,n;i=8;j=10;M=i+,n=j+ 將第 4行改為:3m=i+;n=+j; 將程序改為:Main()int i,j;i=8;j=10;Printf(“%d,%d”,+i,+j); 在的基礎(chǔ)上,將 orintf語(yǔ)句改為:Printf(“%d,%d”,+i,+j); 再將程序改為:main()int i,j,m=0,n=0;i=8;j=10;M+=i+;n-=-j;Peintf(“i=%D,j=%d,m+%d,n=%d,i

6、,j,m,n);(3)判斷以下程序的輸出結(jié)果,然后上機(jī)驗(yàn)證。Main()nit i=3,j=2,a,b,c,d;d=(i*3,j=10)a=(-i=j+)?-i:+j;b=i+;c=j;printf(“%d,%d,%d,%dn”,a,b,c,d):main()int a=110,b=017printf(“%x,%dn”,a+,+b);main()int a=-1;b=36,c;c=(+a0)|!(b-=0);printf(“%d,%d,%dn”,a,b,c);4(4)對(duì)以下程序填空,使程序?qū)崿F(xiàn)從鍵盤輸入的任意大寫字母轉(zhuǎn)換為小寫字母或小寫字母轉(zhuǎn)換為大寫字母。Main()char c;scanf(

7、“%c); printf(“%c”,&c);4分析與討論分析總結(jié)運(yùn)算符的優(yōu)先級(jí)5 知識(shí)要點(diǎn)C語(yǔ)言中沒有提供專門的輸入、輸出語(yǔ)句,所有的輸入、輸出都是通過調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)中的輸入,輸出函數(shù)來(lái)實(shí)現(xiàn)的。學(xué)習(xí) C語(yǔ)言不僅要學(xué)習(xí)語(yǔ)句和各種運(yùn)算,而且要學(xué)習(xí)并掌握常用標(biāo)準(zhǔn)函數(shù)的使用。 Scanf()和 getchar()函數(shù)是輸入函數(shù),接受來(lái)自鍵盤的輸入數(shù)據(jù)。 Scanf()是格式輸入函數(shù),可按指定的格式輸入任意類型數(shù)據(jù)。 Getchar()函數(shù)是字符輸入函數(shù),只能接收單個(gè)字符。 Printf()和 putchar() 函數(shù)是輸出函數(shù),向顯示器屏幕輸出數(shù)據(jù)。 Printf()是格式輸出函數(shù),可按指定的格式顯示

8、任意類型數(shù)據(jù)。 Putchar()_是字符顯示函數(shù),只能顯示單個(gè)字符。實(shí)驗(yàn)?zāi)康恼莆?c語(yǔ)言程序輸入,輸出的方法和格式。實(shí)驗(yàn)內(nèi)容(1) 程序源代碼:# includemain()char a=176,b=219;printf(“%c%c%c%c%cn”,b,a,a,a,b);prinft(“%c%c%c%c%cn”,a,b,a,b,a);prinft(“%c%c%c%c%cn”,a,a,b,a,a);prinft(“%c%c%c%c%cn”,a,b,a,b,a);printf(“%c%c%c%c%cn:,b,a,a,a,b);6 知識(shí)要點(diǎn)從程序執(zhí)行的流程來(lái)看,程序可分為3種最基本的結(jié)構(gòu),分支結(jié)構(gòu)

9、以及循環(huán)結(jié)構(gòu)。C語(yǔ)言提供了多種形式的條件語(yǔ)句以構(gòu)成分支結(jié)構(gòu): If語(yǔ)句只要用于單向選擇。 If-else語(yǔ)句主要用于雙向選擇。 If-else-if語(yǔ)句和switch語(yǔ)句用于多向選擇。實(shí)驗(yàn)?zāi)康模?)了解條件與程序流程的關(guān)系。(2)了解用不同的數(shù)據(jù)使程序的流程覆蓋不同的語(yǔ)句、分支和路徑。實(shí)驗(yàn)內(nèi)容(1)有如下程序段:main()int a,b,x;scanf(“%d%d%d”,&b);if(a=b)x=b;printf(“x=%dn”,x);要求分別使用下列組數(shù)據(jù)運(yùn)行該程序并記錄行結(jié)果。a=5,b=1,x=?a=1,b=5,x=?a=3,b=3,x=?分析討論:用哪組數(shù)據(jù)就可以使程序段中的每個(gè)分支

10、都運(yùn)行一次?(2)下面程序要輸出a,b,c3個(gè)數(shù)中的最大值,請(qǐng)改正其中的錯(cuò)誤。Main()int a,b,c,max;printf(“enter a,b,c:”);scanf(“%d%d%d”,a,b,c);if(a=b & a=c)if(b=a & b=c)printf(“max=a=%dn”,a);printf(“max=b=%dn”,b);else printf(“max=c=%dn”,c);7 while和 do-while循環(huán)語(yǔ)句知識(shí)要點(diǎn)while(表達(dá)式)語(yǔ)句;do語(yǔ)句 while(表達(dá)式);上述兩種語(yǔ)句是 C do-while語(yǔ)句至少要執(zhí)行一次循環(huán)體;而 while語(yǔ)句先判斷括號(hào)

11、內(nèi)表達(dá)式的值若為 0,則跳出循環(huán),因此有可能循環(huán)一次也不執(zhí)行。實(shí)驗(yàn)?zāi)康?1)(2)了解條件型循環(huán)結(jié)構(gòu)的基本測(cè)試方法。實(shí)驗(yàn)內(nèi)容(1) 編輯并運(yùn)行下面程序。Main()int i=1,s=1,n;scanf(“d”.&n);if(n0)printf(“ The input data is error!n”);esewhile(i=detax,分別換 yyetax,y=detax,ydetax,y=detax,觀察程序運(yùn)行將會(huì)有什么化。把原程序中while語(yǔ)句之前y=1/xy語(yǔ)句去掉,觀察程序的運(yùn)行將會(huì)發(fā)生什么樣的變花。如把原程序的+i換成i+,觀察程次序的運(yùn)行發(fā)生了什么變化。把原程序中的while

12、結(jié)構(gòu)改寫成do_whilejg 結(jié)構(gòu),再分別按上述的2和3要求進(jìn)行實(shí)驗(yàn)。3分析討論總結(jié)一下測(cè)試條件循環(huán)的一般方法。9實(shí)訓(xùn)七 典型算法及程序?qū)崿F(xiàn)知識(shí)要點(diǎn)C語(yǔ)言提供了3 種循環(huán)語(yǔ)句(1) For語(yǔ)句主要用語(yǔ)給定循環(huán)變量初值,步長(zhǎng)以及循環(huán)條件的循環(huán)結(jié)構(gòu)。(2) 對(duì)于循環(huán)次數(shù)及控制條件要在循環(huán)過中才能確定的循環(huán),可用while或do-while語(yǔ)句。(3) 3種循環(huán)語(yǔ)句可以相互嵌套組成多種循環(huán),循環(huán)之間可以并列但不能交叉。(4) 在循環(huán)程序中應(yīng)避免出現(xiàn)死循環(huán),即應(yīng)保障循環(huán)變量的值在運(yùn)行過程中可以得到修改,并使循環(huán)條件逐步變?yōu)榧?,從而結(jié)束循環(huán)。(5)可用轉(zhuǎn)移語(yǔ)句把流程轉(zhuǎn)出體外,但不能從外面轉(zhuǎn)向循環(huán)體內(nèi)。

13、(6)Break和continue語(yǔ)句:break語(yǔ)句立即結(jié)束包含它的循環(huán)或開關(guān)語(yǔ)句;continue語(yǔ)句只能用于循環(huán)語(yǔ)句中,它跳過循環(huán)體中下面的語(yǔ)句而從下一次循環(huán)開始。實(shí)驗(yàn)?zāi)康模?)掌握如何正確的控制計(jì)數(shù)型循環(huán)結(jié)構(gòu)的次數(shù)。(2)了解對(duì)計(jì)數(shù)型循環(huán)結(jié)構(gòu)進(jìn)行測(cè)試的基本方法。實(shí)驗(yàn)內(nèi)容有下面程序段;main()int i,j;ilng sum=0for(i=1;i=5;i+)sum=sum+(i+1)*(i+1)printf(“sumis:%D/N,sum);(1)將程序中的for語(yǔ)句改為”for(i=1;i+5;i+);”則程序結(jié)果是什么?(2)將程序中的for語(yǔ)句改為“for(i=1;i=1;i_

14、=3)”則程序結(jié)果是什么?(4) 將程序中的for語(yǔ)句其循環(huán)體改為 “for(i=1;i=5;i+) i=i+(i+1)*(i+1)”則程序結(jié)果是什么?10 知識(shí)要點(diǎn)1.一維數(shù)組的定義和引用2.二維數(shù)組的定義和引用3. 函數(shù)定義、返回值與函數(shù)類型4. 函數(shù)的調(diào)用實(shí)驗(yàn)?zāi)康恼莆諗?shù)組的應(yīng)用,以及雙重循環(huán)程序設(shè)計(jì)對(duì)二維數(shù)組的應(yīng)用。掌握 C語(yǔ)言函數(shù)定義及調(diào)用的規(guī)則。理解參數(shù)傳遞的過程。掌握變量的作用范圍。實(shí)驗(yàn)內(nèi)容1通過鍵盤輸入 10個(gè)整數(shù),分別用選擇法和冒泡法對(duì)這十個(gè)數(shù)排序。2找出一個(gè)二維數(shù)組中的鞍點(diǎn),即該位置上的元素在該行上最大,在該列上最小。也可以有鞍點(diǎn)。3打印以下圖形*4.上機(jī)調(diào)試下面的程序,記錄

15、系統(tǒng)給出的出錯(cuò)信息,并指出原因。Main()int x=1,y=2;printf(%d/n,sum(x,y);intsum(a,b)inta,b;return (a+b)出錯(cuò)信息:_。原因:_。(1) 分析并運(yùn)行下面的程序。11Aust()int vauto=0;/*自動(dòng)變量:沒次調(diào)用都重新初始化*/Static int vastatic=0;+vauto;/*靜態(tài)局部變量;只初始化 1次*/+vstatic;printf(vauto=%d/n”,vauto,vstatic);main()int i;for(i=0;i5;i+)aust();|運(yùn)行結(jié)果為_(3)下面的程序利用函數(shù) pp輸出給定

16、的字符n次,請(qǐng)將 pp函數(shù)補(bǔ)充完整。Main()char c;int n;scanf(“%c%d”,&c,&n);pp(c,n);pp(char c,int n)12 知識(shí)要點(diǎn)1. 數(shù)值在計(jì)算機(jī)中的表示2. 位運(yùn)算3. 位段實(shí)驗(yàn)?zāi)康恼莆瘴坏牡呐c、或、非、左移位和右移位的運(yùn)算。實(shí)驗(yàn)內(nèi)容(1)寫一函數(shù),對(duì)一 16 位的二進(jìn)制數(shù)取出它的奇數(shù)位(即從左邊起第 1、3、515位)(2)設(shè)計(jì)一個(gè)函數(shù),使給出一個(gè)數(shù)的原碼,能得到該數(shù)的補(bǔ)碼。鍵盤上輸入1個(gè)正整數(shù)給int變量num,按二進(jìn)制位輸出該數(shù)。#include stdio.hmain() int num, mask, i;printf(Input a

17、integer number: );scanf(%d,&num);mask = 115;/*構(gòu)造1個(gè)最高位為1、其余各位為0的整數(shù)(屏蔽字)*/printf(%d= , num);for(i=1; i=16; i+) putchar(num&mask ? 1 : 0);/*輸出最高位的值(1/0)*/num = 1;/*將次高位移到最高位上*/if( i%4=0 ) putchar(,);/*四位一組,用逗號(hào)分開*/printf(bBn);程序運(yùn)行情況:Input a integer number:1000 1000=0000,0011,1110,1000B13綜合實(shí)訓(xùn)一、目的與任務(wù)通過實(shí)訓(xùn),使學(xué)生掌握 C 語(yǔ)言的基本語(yǔ)法、基本知識(shí)、上機(jī)調(diào)試程序的基本技能,掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本方法,掌握并學(xué)會(huì)應(yīng)用數(shù)據(jù)結(jié)構(gòu)算法,具備設(shè)計(jì)、調(diào)試、編繹較為復(fù)雜 C程序的能力。二、適用專業(yè)計(jì)算機(jī)系所有開設(shè)了C語(yǔ)言程序設(shè)計(jì)課程的相關(guān)專業(yè)三、實(shí)訓(xùn)環(huán)境開發(fā)工具:Turboc2.0、Dev-C+或 Visual C+運(yùn)行環(huán)境:Ms-dos、Windows 9x、Windows NT 或

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論