《C語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書(shū)_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書(shū)_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書(shū)_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書(shū)_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)》實(shí)驗(yàn)指導(dǎo)書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

鹽城紡織職業(yè)技術(shù)學(xué)院《C語(yǔ)言》實(shí)驗(yàn)指導(dǎo)書(shū)適用班級(jí):機(jī)電1011、1012機(jī)電工程系計(jì)算機(jī)教研室殷士勇2012年2月實(shí)驗(yàn)一TurboC2.0集成開(kāi)發(fā)環(huán)境一、實(shí)驗(yàn)?zāi)康募耙螅?.了解TURBOC軟件的窗口界面,熟練掌握TC的菜單命令及相應(yīng)的鍵命令,并在TC環(huán)境下掌握如何編輯、編譯、連接、運(yùn)行一個(gè)C程序并如何保存和修改C語(yǔ)言的源程序。2.通過(guò)運(yùn)行一個(gè)簡(jiǎn)單的C程序過(guò)程,逐步了解C程序的基本結(jié)構(gòu)及特點(diǎn)。二、實(shí)驗(yàn)內(nèi)容及步驟1.熟悉并掌握TC環(huán)境下的菜單功能及命令鍵的使用。如上圖是用戶(hù)進(jìn)入TC后的主菜單界面,下面是常用的命令及功能鍵:①File菜單File的下拉菜單中有9個(gè)子命令,其功能是完成文件的創(chuàng)建、存、取、退出等。Load:該命令為裝載命令,其功能是將已存盤(pán)的文件調(diào)入到當(dāng)前所編輯的屏幕中。Pick:選擇最近已編輯過(guò)的源程序文件。New:用于創(chuàng)建一個(gè)新的文件。Save:用于保存當(dāng)前所編輯的文件。Writeto:可以將當(dāng)前的文件以另外一個(gè)文件名存盤(pán)。OSshell:從TurboC切換到DOS提示符下,可用EXIT命令返回。Quit:退出TurboC,回到DOS提示符下。②常用的編輯鍵(在Edit狀態(tài)下):<Del>:刪除光標(biāo)所在的字符。<Ins>:插入、改寫(xiě)轉(zhuǎn)換鍵。<Home>:光標(biāo)到行首。<End>:光標(biāo)到行尾。<PgUp>:向上翻頁(yè)<PgDn>:向下翻頁(yè)<Ctrl>+N:插入一行<Ctrl>+Y:刪除光標(biāo)所在行<Ctrl>+KB:定義塊首<Ctrl>+KK:定義塊尾<Ctrl>+KV:塊移動(dòng)<Ctrl>+KC:塊復(fù)制<Ctrl>+KY:塊刪除<Ctrl>+KH:塊取消<Ctrl>+<Break>或<Ctrl>+C:中斷程序的運(yùn)行③常用熱鍵的使用用<Alt>加上TurboC菜單欄上所對(duì)應(yīng)的第一個(gè)大寫(xiě)字母,方可進(jìn)入對(duì)應(yīng)菜單●<Alt>+F:進(jìn)入文件菜單、<Alt>+E:進(jìn)入編輯菜單、<Alt>+R:進(jìn)入運(yùn)行菜單<Alt>+C:進(jìn)入編譯菜單等?!?lt;Ctrl>+F9:運(yùn)行程序(對(duì)應(yīng)RUN菜單中的“Run”命令)●<Alt>+F5:從TC屏幕切換到用戶(hù)屏幕(對(duì)應(yīng)RUN菜單中的“Userscreen”命令)●F2:將當(dāng)前所編輯的文件存盤(pán)(對(duì)應(yīng)File菜單中的“save”命令)●F3:裝入一個(gè)文件(對(duì)應(yīng)File菜單中的“l(fā)oad”命令)●F1:顯示當(dāng)前位置的幫助信息?!馞4:程序運(yùn)行到光標(biāo)所在行。(對(duì)應(yīng)RUN菜單中的“Gotocursor”命令)2.進(jìn)入TC環(huán)境后,編緝一個(gè)簡(jiǎn)單源程序程序如下:main(){printf(“Hello!Howareyou?”);}完成如下功能:a.利用TC的編輯菜單,輸入該源程序,且進(jìn)行保存(注意保存的路徑)。b.對(duì)輸入的源程序進(jìn)行編譯和運(yùn)行,得到輸出結(jié)果。一、實(shí)驗(yàn)?zāi)康模赫莆赵诩森h(huán)境中編輯、編譯、連接和運(yùn)行C程序的方法實(shí)驗(yàn)二分支結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康?、了解C語(yǔ)言表示邏輯量的方法(以0代表“假”,以非0代表“真”)2、 學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式3、 熟練掌握if語(yǔ)句和switch語(yǔ)句4、 結(jié)合程序掌握一些簡(jiǎn)單的算法5、 學(xué)習(xí)調(diào)試程序二、實(shí)驗(yàn)內(nèi)容及步驟本實(shí)驗(yàn)要求事先編好解決下面問(wèn)題的程序,然后上機(jī)輸入程序并調(diào)試運(yùn)行程序。(1).有一函數(shù):用scanf函數(shù)輸入x的值,求y值。參考程序如下:main()

{floatx,y;scanf(“%f”,&x);if(x<1)y=x;if(x>=1&&x<10)y=2*x-1;if(x>=10)y=3*x-11;printf(“y=%f”,y);}(2).給出一個(gè)百分制成績(jī),要求輸出成績(jī)等級(jí)A、B、C、D、E。90分以上為A,81-89分為B,70-79分為C,60-69分為D,60分以下為E。(參考程序如下:main(){intg;scanf(“%d”,&g);switch(g/10){case10:case9:printf(“A\n”);break;case8:printf(“B\n”);break;case7:printf(“C\n”);break;case6:printf(“D\n”);break;default:printf(“E\n”);}}三、實(shí)驗(yàn)要求:1、考慮各種可能的情況。2、寫(xiě)出完整程序,進(jìn)行調(diào)試,記錄運(yùn)行結(jié)果。實(shí)驗(yàn)三循環(huán)結(jié)構(gòu)程序設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康氖煜ふ莆沼脀hile語(yǔ)句,do-while語(yǔ)句、for語(yǔ)句實(shí)現(xiàn)循環(huán)的方法。掌握在程序設(shè)計(jì)中用循環(huán)的方法實(shí)現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。進(jìn)一步學(xué)習(xí)調(diào)試程序。二、實(shí)驗(yàn)內(nèi)容及步驟

1.程序填空以下程序的功能是:從鍵盤(pán)上輸入若干個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(shí)結(jié)束輸入。請(qǐng)把該程序補(bǔ)充完整,并上機(jī)調(diào)試運(yùn)行。main(){floatx,amin,amax;_______(1)_________amax=x;amin=x;while(______(2)______){if(x>amax)______(3)______if(_____(4)______)amin=x;scanf(“%f”,&x);}printf(“amax=%f,amin=%f”,____(5)_____);}結(jié)果:(1)scanf(“%f”,&x);(2)x>=0(3)amax=x(4)x<amin或x<=amin(5)amax,amin2.程序改錯(cuò)請(qǐng)指出下列程序中的錯(cuò)誤,改正后上機(jī)調(diào)試、運(yùn)行。#includestdio.hmain{inta,b;for(a=1,b=1;a≤100;a++){if(b>=20)break;if(b%3=1){b+=3;continue;}b-=5;}結(jié)果:#includestdio.hstdio.h改為”stdio.h”mainmain改為main(){inta,b;for(a=1,b=1;a≤100;a++)a≤100改為a<=100{if(b>=20)break;if(b%3=1)b%3=1改為b%3==1{b+=3;continue;}b-=5;}最后添加一個(gè)}3.編程編程判斷一個(gè)正整數(shù)是否是回文數(shù)。所謂回文數(shù)是指左右數(shù)字完全對(duì)稱(chēng)的自然數(shù)。例如,121、12321、484等都是回文數(shù)。程序代碼如下:main(){intm,n,x,z,i,a,b,c,d,e;z=1;scanf(“%d”,&m);for(i=0;;i++){b=(int)(m/z);z=z*10;if(b>0&&b<10){a=i+1;break;}}c=a-1;for(z=1;c!=0;c--)z=z*10;e=m;for(a=a-1,d=1,n=0;a>=0;a--){x=(int)(e/z);e=e-(int)(x*z);n=d*x+n;d=d*10;z=z/10;}if(m==n)printf(“shi”;elseprintf(“fou”);}三、實(shí)驗(yàn)要求:1、理解for,while,do-while的具體用法。2、寫(xiě)出完整程序并進(jìn)行調(diào)試。實(shí)驗(yàn)四函數(shù)一、實(shí)驗(yàn)?zāi)康?.掌握函數(shù)定義(返回、函數(shù)名、參數(shù)、函數(shù)體),調(diào)用。2.掌握函數(shù)的聲明二、實(shí)驗(yàn)內(nèi)容及步驟1.函數(shù)聲明的使用(1)輸入下面程序,編譯、連接,如果沒(méi)有輸錯(cuò),應(yīng)該提示成功。運(yùn)行獲得正確結(jié)果100。floatfun(floatf){returnf*f;}voidmain(){floatk;k=fun(10.0);printf("%f\n",k);}(2)把fun函數(shù)移到main()函數(shù)之后,再次編譯,提示錯(cuò)誤:(3)在main()函數(shù)前增加函數(shù)聲明floatfun(floatf);,再次編譯,提示成功并能正確運(yùn)行獲得結(jié)果。思考:在什么情況需要函數(shù)聲明?2.編制函數(shù)fun,其功能是:刪除一個(gè)字符串中指定的字符。源程序清單如下:#include<stdio.h>voidfun(char[],char);voidmain(){chars[100],c;gets(s);c=getchar();fun(s,c);puts(s);}voidfun(chars[],charc){inti,j;for(i=0;s[i]!='\0';i++){if(s[i]==c){for(j=i;s[j]!='\0';j++) s[j]=s[j+1];}}}測(cè)試運(yùn)行:Iamateacher,youareastudent<CR>e<CR>Iamatachr,youarastudnt三、實(shí)驗(yàn)要求1、掌握函數(shù)聲明的使用。2、要求:原始字符串在主函數(shù)中輸入,處理后的字符串在主函數(shù)中輸出。例如:輸入“Iamateacher,youareastudent”和‘e’輸出“Iamatachr,youarastudnt”。實(shí)驗(yàn)五數(shù)組一、實(shí)驗(yàn)?zāi)康?、理解一維數(shù)組和二維數(shù)組的概念2、掌握一維數(shù)組和二維數(shù)組的定義、初始、數(shù)組元素引用。3、掌握一維數(shù)組和二維數(shù)組的輸入/輸出。4、掌握與數(shù)組有關(guān)的算法。二、實(shí)驗(yàn)內(nèi)容及步驟1、編制程序,求Fibonachi數(shù)列的前10項(xiàng)。提示:Fibonachi的第1,2項(xiàng)分別為1,1。其后任何一項(xiàng)滿(mǎn)足ai=ai-2+ai-1。main(){intf[11]={0,1,1},n;for(n=3;n<=10;n++)f[n]=f[n-1]+f[n-2];for(n=1;n<=10;n++)printf("%d",f[n]);printf("\n");}程序結(jié)果:123456789101112131415162、編寫(xiě)找出1-100之間能被7或11整除的所有整數(shù),存放在數(shù)組a中,并統(tǒng)計(jì)其個(gè)數(shù)。要求以每行排列5個(gè)數(shù)據(jù)的形式輸出a數(shù)組中的數(shù)據(jù)。main(){intn=0,a[100],i;for(i=1;i<=100;i++){if(i%7==0||i%11==0){a[n]=i;n++;}}printf("n=%d\n",n);for(i=0;i<n;i++){printf("%d\t",a[i]);if((i+1)%5==0)printf("\n");}printf("\n");}程序結(jié)果:n=2271114212228333542444955566366707784889198993、設(shè)有4x4的方陣,其中的元素由鍵盤(pán)輸入。求出(1)主對(duì)角線(xiàn)上元素之和;(2)輔對(duì)角線(xiàn)上元素之積;(3)方陣中最大的元素。提示:主對(duì)角線(xiàn)元素行、列下標(biāo)相同;輔對(duì)角線(xiàn)元素行、列下標(biāo)之和等于方陣的最大行號(hào)(或最大列號(hào))-下標(biāo)、行列號(hào)基于0。#include<stdio.h>#defineN4main(){inta[N][N],s1=0,s2=1,max=0,i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)scanf("%d",&a[i][j]);max=a[0][0];for(i=0;i<N;i++)for(j=0;j<N;j++){if(i==j)s1+=a[i][j];if(i+j==N-1)s2*=a[i][j];if(a[i][j]>max)max=a[i][j];}printf("s1=%d,s2=%d,max=%d\n",s1,s2,max);}程序結(jié)果:1234<CR>5678<CR>9101112<CR>13141516<CR>s1=34,s2=3640,max=16三、實(shí)驗(yàn)要求1、編制源程序,對(duì)于程序3輸入測(cè)試數(shù)據(jù)。2、在TurboC下完成程序的編輯、編譯、運(yùn)行。查看、分析程序結(jié)果。實(shí)驗(yàn)六結(jié)構(gòu)體一、實(shí)驗(yàn)?zāi)康?、掌握結(jié)構(gòu)類(lèi)型的定義、結(jié)構(gòu)變量的說(shuō)明和引用2、掌握指針在結(jié)構(gòu)中的應(yīng)用二、實(shí)驗(yàn)內(nèi)容及步驟1、編寫(xiě)程序:定義一個(gè)職工結(jié)構(gòu)體類(lèi)型,定義職工結(jié)構(gòu)體變量,從鍵盤(pán)輸入一名職工信息,然后輸出。(假設(shè)職工信息包括:姓名、身份證號(hào)、工齡、工資)structworker{ charname[8];charid[18]; intyears; floatpay;};main(){ structworkerw1; scanf("%s%s%d%f",&,&w1.id,&w1.years,&w1.pay); printf("%s,%s,%d,%8.2f\n",,w1.id,w1.years,w1.pay);}測(cè)試運(yùn)行:wubin101121800<CR>wubin,101,12,1800.002、編寫(xiě)程序:定義一個(gè)職工結(jié)構(gòu)體數(shù)組,從鍵盤(pán)輸入5位職工信息,打印輸出最高的工資。#include<stdio.h>staticvoidforcefloat(float*p)/*補(bǔ)丁*/{floatf=*p;forcefloat(&f);}structworker{ charname[8]; charid[18]; intyears; floatpay;};main(){ structworkerw[5]; inti; floatmax; printf("inputname,id,years,pay:\n"); for(i=0;i<5;i++) {scanf("%s%s%d%f",w[i].name,w[i].id,&w[i].years,&w[i].pay); } max=w[0].pay; for(i=1;i<5;i++) {if(max<w[i].pay)max=w[i].pay; } printf("maxpay:%.2f\n",max);}測(cè)試運(yùn)行:liu 104 3 800<CR>he1023820<CR>wu101121800<CR>li10361400<CR>hua10581600<CR>maxpay:1800.00三、實(shí)驗(yàn)要求1、加深對(duì)結(jié)構(gòu)體變量的理解及應(yīng)用。2、編制完整的程序。實(shí)驗(yàn)七指針一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步理解指針概念。2、掌握指針變量的定義、初始化以及通過(guò)指針變量對(duì)數(shù)據(jù)的訪(fǎng)問(wèn)。3、掌握指針與數(shù)組、指針與函數(shù)的關(guān)系。二、實(shí)驗(yàn)內(nèi)容及步驟1、運(yùn)行下面程序,理解指針的概念。main(){ inta[10]={1,2,3,4,5,6,7,8,9,10}; int*p; for(p=a;p<a+10;p++) { printf("address=%x\t",p); printf("value=%d\n",*p); } printf("%d\t",p); printf("%d\n",*p);}運(yùn)行結(jié)果:address=-68value=1address=-66value=2address=-64value=3address=-62value=4address=-60value=5address=-58value=6address=-56value=7address=-54value=8address=-52value=9address=-50value=10-48-36觀(guān)察指針變量值的變化規(guī)律以及指針變量指向的數(shù)據(jù)。提示:地址值,從小到大,相差2-一個(gè)整數(shù)占用兩個(gè)字節(jié)。地址用10進(jìn)制輸出太難看!(1)修改指針變量值的輸出格式,即把程序中的“pri

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論