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

下載本文檔

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

文檔簡(jiǎn)介

1、C程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)實(shí)驗(yàn)1 C程序的設(shè)計(jì)環(huán)境和運(yùn)行方法【實(shí)驗(yàn)?zāi)康摹? 熟悉所用計(jì)算機(jī)系統(tǒng)的基本操作方法。2 學(xué)習(xí)Turbo C 2.0的使用方法,掌握程序編輯、編譯、連接、運(yùn)行及查看運(yùn)行結(jié)果的方法。3 掌握C程序的基本結(jié)構(gòu)。【實(shí)驗(yàn)內(nèi)容】1 熟悉使用的計(jì)算機(jī)系統(tǒng)的基本操作,創(chuàng)建自己的工作目錄,參照附錄中介紹的方法,掌握Turbo C 2.0的啟動(dòng)方法(一種或多種),了解Turbo C 2.0系統(tǒng)的安裝路徑和結(jié)構(gòu)。2 進(jìn)入Turbo C 2.0的工作環(huán)境,參照附錄設(shè)置環(huán)境,用File/Change dir設(shè)置當(dāng)前工作目錄、用Options/Directories設(shè)置系統(tǒng)的安裝路徑、包含文件路徑、

2、標(biāo)準(zhǔn)庫(kù)文件路徑、輸出文件路徑和源文件路徑。3 熟悉Turbo C 2.0的系統(tǒng)菜單組成及功能。學(xué)習(xí)使用功能鍵和快捷鍵調(diào)用菜單項(xiàng)的方法。掌握文件建立、編輯、修改和保存的方法。落實(shí)文件的存儲(chǔ)位置是否是你的工作目錄,如果不是,回第二步重新設(shè)置。了解編譯、連接和運(yùn)行命令在屏幕菜單項(xiàng)的位置和調(diào)用方法。4 輸入并運(yùn)行下面最簡(jiǎn)單的C程序 使用File菜單的New命令創(chuàng)建一個(gè)新文件。 在編輯區(qū)輸入下面程序:#include <stdio.h>mian()printf(" Hello World!n") 按功能鍵F9進(jìn)行編譯和連接,觀(guān)察屏幕顯示的編譯信息。如果出現(xiàn)出錯(cuò)信息,信息窗

3、口中將顯示錯(cuò)誤內(nèi)容及定位錯(cuò)誤時(shí)的語(yǔ)句行號(hào),修改錯(cuò)誤,再進(jìn)行編譯。 如果編譯無(wú)錯(cuò),按Ctrl+F9運(yùn)行程序,按Alt+F5切換到用戶(hù)屏,觀(guān)察運(yùn)行結(jié)果。 改變?cè)闯绦蛑须p引號(hào)內(nèi)的字符串內(nèi)容,重新編譯和連接,并查看運(yùn)行結(jié)果。 保存文件,查看你的工作目錄下是否有該文件。編譯連接的中間文件應(yīng)該在Output設(shè)置的目錄中。如果沒(méi)有設(shè)置Output目錄,中間文件應(yīng)該在當(dāng)前工作目錄中。5 輸入并運(yùn)行下面一個(gè)需要在運(yùn)行時(shí)輸入數(shù)據(jù)的程序,程序要求從鍵盤(pán)輸入三個(gè)浮點(diǎn)數(shù),輸出它們的和。#include <stdio.h>mian()float a,b,c,sum; printf(" input a

4、,b,c: ") scanf("%f %f %f",&a,&b,&c); sum=a+b+c; printf("n sum=%fn",sum); 輸入該程序,然后進(jìn)行編譯和連接,如果出錯(cuò),仔細(xì)檢查并修改錯(cuò)誤,再進(jìn)行編譯連接,直到?jīng)]有錯(cuò)誤為止。 按Ctrl+F9運(yùn)行程序,按照屏幕提示輸入a、b、c三個(gè)變量的值,變量值之間用空格分隔,輸入完畢按回車(chē)鍵【Enter】。 查看運(yùn)行結(jié)果,判斷結(jié)果正確與否。 保存文件,查看你的工作目錄下是否有該文件。實(shí)驗(yàn)2 數(shù)據(jù)類(lèi)型和表達(dá)式計(jì)算【實(shí)驗(yàn)?zāi)康摹?掌握C語(yǔ)言基本數(shù)據(jù)類(lèi)型的概念,理解數(shù)據(jù)類(lèi)型

5、與運(yùn)算的關(guān)系。2熟悉簡(jiǎn)單變量的定義和賦值方法,掌握不同類(lèi)型數(shù)據(jù)之間賦值的規(guī)律。3學(xué)習(xí)C語(yǔ)言運(yùn)算符優(yōu)先級(jí)和結(jié)合性的概念,掌握算術(shù)表達(dá)式的計(jì)算方法及表達(dá)式計(jì)算中的類(lèi)型轉(zhuǎn)換方法。4掌握數(shù)學(xué)表達(dá)式的程序表示方法。5進(jìn)一步熟悉C程序的編輯、編譯、連接和運(yùn)行的過(guò)程?!緦?shí)驗(yàn)內(nèi)容】1編程計(jì)算下面數(shù)學(xué)表達(dá)式的值(1) (2)c× (3)lnln(103.5+2)2下面表達(dá)式計(jì)算中,哪些地方會(huì)發(fā)生類(lèi)型轉(zhuǎn)換?各個(gè)轉(zhuǎn)換從什么類(lèi)型轉(zhuǎn)換到什么類(lèi)型?表達(dá)式計(jì)算的結(jié)果是什么?試編程進(jìn)行驗(yàn)證。(1) 2.5+2*7%2/4(2) 4*(2L+6.5)-12(3) 10/(5*3)(4) 2*10.0/(5*3)3設(shè):

6、x=2.7,a=8,y=4.5,編程計(jì)算下面表達(dá)式的值: y+a%5*(int)(x+y)/2%44輸入并運(yùn)行下面程序,對(duì)照程序分析運(yùn)行結(jié)果:(1) 將一個(gè)大于32767的長(zhǎng)整型數(shù)賦給整型變量,會(huì)得到什么結(jié)果。(2) 將一個(gè)負(fù)整數(shù)賦給一個(gè)無(wú)符號(hào)的變量,會(huì)得到什么結(jié)果。(3) 將一個(gè)字符型變量賦給一個(gè)整型變量,會(huì)得到什么結(jié)果。程序如下:#include <stdio.h>main() int a,b; long d,e; unsigned f,g; char c; a=100; b=-100; c='a' d=50000; e=32767; printf("

7、%d,%dn",a,b); printf("%ld,%ldn",d,e); printf("%c,%dn",c,c); f=a; g=b; printf("%u,%un",f,g); a=c; printf("%d,%dn",a,c); a=d; b=e; printf("%d,%dn",a,b);實(shí)驗(yàn)3 順序結(jié)構(gòu)程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹?熟練掌握格式輸入與格式輸出函數(shù)的使用,理解scanf函數(shù)的工作過(guò)程。2熟練掌握賦值語(yǔ)句的使用方法。3進(jìn)一步體會(huì)C程序的結(jié)構(gòu)組成,體會(huì)主函數(shù)main的作用

8、。4使用順序結(jié)構(gòu)解決幾個(gè)簡(jiǎn)單的計(jì)算問(wèn)題?!緦?shí)驗(yàn)內(nèi)容】1 編寫(xiě)程序,使用格式輸入函數(shù),從鍵盤(pán)按順序輸入下列數(shù)據(jù),再將其用合適的格式分類(lèi)輸出到屏幕上。注意scanf函數(shù)的格式要求。a、15、c、100、20.6、60000、3500、32768、450.34、126.34555682 編程計(jì)算半徑r=2.5的圓面積、圓周長(zhǎng)、球面積、球體積及球表面積。如果高h(yuǎn)=4.5,計(jì)算圓柱體的表面積和體積。顯示結(jié)果保留兩位小數(shù)。3輸入下面程序并運(yùn)行#include <stdio.h>main() int a,b,c; a=getchar(); b=getchar(); c=getchar(); pr

9、intf("a=%d b=%d c=%dn",a,b,c); printf("a=%c b=%c c=%cn",a,b,c);輸入: 1【Enter】ab【Enter】分析本題程序的輸出結(jié)果,解釋scanf函數(shù)的工作過(guò)程,試用其他輸入數(shù)據(jù)驗(yàn)證你的分析結(jié)果。4以下C程序的功能是:從鍵盤(pán)依次輸入4個(gè)整數(shù),計(jì)算并輸出這4個(gè)數(shù)的平均值。#include <stdio.h>main() int a,b,c,d,av; printf(" Input a,b,c,d: "); scanf(" %d,%d,%d,%d"

10、,&a,&b,&c,&d); av=(a+b+c+d)/4; printf("av=%fn",av);觀(guān)察運(yùn)行結(jié)果,想一想為什么,將最后一句中的“%f”改為“%d”,觀(guān)察結(jié)果有什么變化,如果想使計(jì)算結(jié)果為實(shí)數(shù),如何修改程序?如果想計(jì)算4個(gè)實(shí)數(shù)的平均數(shù),如何修改程序?實(shí)驗(yàn)4 選擇結(jié)構(gòu)程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹?理解C語(yǔ)言表示邏輯量的方法,學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式。2掌握利用if結(jié)構(gòu)實(shí)現(xiàn)選擇結(jié)構(gòu)的方法。3掌握利用switch結(jié)構(gòu)實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。4掌握若干簡(jiǎn)單算法。5學(xué)習(xí)選擇結(jié)構(gòu)程序的調(diào)試。【實(shí)驗(yàn)內(nèi)容】1編寫(xiě)程序計(jì)算下面分段函數(shù)的值: 2x

11、+5 (x<0) f(x) = x2-x+3 (0x<10) x3-7x (x10)具體要求如下:(1) 用if語(yǔ)句實(shí)現(xiàn)分支,自變量和函數(shù)值均用雙精度類(lèi)型。(2) 自變量用scanf函數(shù)輸入,給一些輸入提示。(3) 分別輸入三種區(qū)間中x的值,檢查輸出函數(shù)值是否正確。2編寫(xiě)程序,用scanf函數(shù)輸入一個(gè)年份,計(jì)算該年2月份有多少天。閏年的條件為:年份能被4整除但不能被100整除,或者年份能被400整除。3下面的程序,按顏色代碼和顏色名稱(chēng)的對(duì)應(yīng)關(guān)系,根據(jù)輸入的顏色號(hào),輸出對(duì)應(yīng)的顏色名稱(chēng):0 - Black , 1 - Blue , 2 - Green , 3 - Red , 4 - Y

12、ellow #include<stdio.h>main() int color;/* 用整型數(shù)表示顏色號(hào)*/ printf("Enter color number: "); scanf("%d",&color); switch (color) case 0: printf(" Blackn");break; case 1: printf(" Bluen");break;case 2: printf(" Greenn");break;case 3: printf("

13、Redn");break;case 4: printf(" Yellown");break;default: printf(" Error Inputn");運(yùn)行程序,使用Turbo C中跟蹤執(zhí)行功能(功能鍵F8)查看程序執(zhí)行過(guò)程。體會(huì)break語(yǔ)句的作用。去掉若干個(gè)break語(yǔ)句,觀(guān)察運(yùn)行結(jié)果有什么變化。并試著將程序結(jié)構(gòu)改為嵌套if結(jié)構(gòu)。運(yùn)行并查看結(jié)果。4 scanf函數(shù)輸入一個(gè)百分制成績(jī),輸出成績(jī)等級(jí)A、B、C、D、E,其中90100分為A,8089分為B,7079分為C,6069分為D ,60分以下分為E。要求百分制成績(jī)用整數(shù)輸入,在輸入

14、前要有提示,輸入后要判斷成績(jī)的合理性,對(duì)不合理的成績(jī),應(yīng)輸出出錯(cuò)信息。輸出結(jié)果中應(yīng)包括百分制和等級(jí)成績(jī),并要有文字說(shuō)明。使用if語(yǔ)句和switch語(yǔ)句分別實(shí)現(xiàn)。實(shí)驗(yàn)5 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹?練習(xí)并掌握利用while語(yǔ)句、for語(yǔ)句、do_while語(yǔ)句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的方法。2掌握循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)的嵌套設(shè)計(jì)方法。3掌握多重循環(huán)的設(shè)計(jì)方法,掌握控制語(yǔ)句break、continue、goto語(yǔ)句的使用方法。4調(diào)試和修改循環(huán)結(jié)構(gòu)的程序。【實(shí)驗(yàn)內(nèi)容】1編寫(xiě)程序,分別用while循環(huán)、for循環(huán)和do_while循環(huán)計(jì)算12+22+.+n2的值。比較三個(gè)程序在循環(huán)控制上的特點(diǎn)。2用迭代法求方程 x

15、3-x-1=0在x=1.5附近的根。要求:首先把方程變換為迭代公式:x=,用1.5作迭代的初值,結(jié)束條件為兩次近似解之差的絕對(duì)值小于0.0001。參考程序如下:#include<stdio.h>#include<math.h>main() float x1,x=1.5; do x1=x; x=pow(x+1),1.0/3.0); while(fabs(x-x1)>=0.0001); printf("x=%6.2fn",x);3 編寫(xiě)程序,計(jì)算菲波那契數(shù)列第n項(xiàng)的值。注意數(shù)列項(xiàng)的數(shù)據(jù)類(lèi)型,應(yīng)考慮足夠大項(xiàng)的數(shù)據(jù)表示要求。4以下程序,輸出下三角形狀的

16、乘法九九表。 #include <stdio.h>main() int i,j;for (i=1;i<=9;i+) /* 打印表頭*/ printf(" %4d",i);printf("%c",'n'); for (i=0;i<=50;i+) printf("%c",'_'); printf("%c",'n'); for (i=1;i<=9;i+) /* 循環(huán)體執(zhí)行一次,打印一行*/ for (j=1;j<=i;j+) printf

17、(" %4d",i*j); /* 循環(huán)體執(zhí)行一次,打印一個(gè)數(shù)據(jù)*/ printf("%c",'n'); /* 每行尾換行*/ printf("%c",'n');輸入并執(zhí)行該程序,觀(guān)察輸出結(jié)果,試著修改程序打印上三角形狀的乘法九九表。實(shí)驗(yàn)6 模塊化程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹?掌握C語(yǔ)言中定義函數(shù)的方法2掌握函數(shù)嵌套調(diào)用和遞歸調(diào)用的方法。3掌握通過(guò)“值傳遞”調(diào)用函數(shù)的方法。4理解變量作用域和存在期的概念,掌握全局變量和局部變量,動(dòng)態(tài)變量和靜態(tài)變量的定義、說(shuō)明和使用方法。5學(xué)習(xí)多文件程序的組織方法【實(shí)驗(yàn)內(nèi)容】1 編

18、寫(xiě)程序,設(shè)計(jì)一個(gè)判別素?cái)?shù)的函數(shù),在主函數(shù)中輸入一個(gè)整數(shù),調(diào)用這個(gè)判別函數(shù),并輸出是否為素?cái)?shù)的信息。參考例4.7相應(yīng)程序,準(zhǔn)備5個(gè)以上測(cè)試數(shù)據(jù)。驗(yàn)證程序執(zhí)行結(jié)果是否正確。2編寫(xiě)程序,計(jì)算下面公式并輸出結(jié)果。要求:(1)編寫(xiě)一個(gè)函數(shù)計(jì)算n!(2)編寫(xiě)主函數(shù),由鍵盤(pán)輸入n和m,調(diào)用(1)中的函數(shù)完成計(jì)算。(3)輸入n和m要給出提示,并檢查n和m的合理性,不合理的輸入應(yīng)輸出錯(cuò)誤信息,并不再進(jìn)行計(jì)算。(4)運(yùn)行程序并計(jì)算、。3將一個(gè)正整數(shù)n以相反的順序輸出的遞歸算法可以如下描述: 如果 要輸出的整數(shù)只有一位則 輸出該整數(shù)否則輸出整數(shù)的個(gè)位數(shù)字反向輸出除個(gè)位以外的全部數(shù)字結(jié)束據(jù)此算法設(shè)計(jì)的遞歸算法如下:v

19、oid printn(int n) if (n>=0)&&(n<=9) printf("%d",n); else printf("%d",n%10); printn(n/10); 請(qǐng)編寫(xiě)主程序,調(diào)用上述算法,反向輸出正整數(shù)n。如輸入123,則輸出321。4按步驟完成多文件程序的設(shè)計(jì)過(guò)程,掌握多文件程序的設(shè)計(jì)方法。(1)輸入源文件file1.c和file2.c。file1.c的內(nèi)容如下:#include <stdio.h>extern void count(int); /*函數(shù)count的定義在本文件以外。main(

20、) int k; for (k=5;k<=10;k+) count(k);file2.c的內(nèi)容如下:void count(int n) static int num=0; num+; printf("main n=%d count num=%dn",n,num);函數(shù)count顯示該函數(shù)被調(diào)用的次數(shù)及從調(diào)用函數(shù)傳入的參數(shù)值。(2)建立項(xiàng)目文件,Turbo C 2.0建立項(xiàng)目文件的方法非常簡(jiǎn)單:建立一個(gè)新文件,輸入下列內(nèi)容:file1.cfile2.c存盤(pán)時(shí),指定文件名的擴(kuò)展類(lèi)型為prj即可。本例將文件存盤(pán)為work.prj。(3)執(zhí)行Project/Project N

21、ame,在輸入框中輸入work.prj回車(chē)。(4)編譯連接,生成的執(zhí)行文件應(yīng)為work.exe。如果源文件中出錯(cuò),編譯程序會(huì)將出錯(cuò)文件打開(kāi)。修改錯(cuò)誤后重新進(jìn)行編譯。實(shí)驗(yàn)7 編譯預(yù)處理【實(shí)驗(yàn)?zāi)康摹?掌握宏定義的方法2掌握文件包含的處理方法3掌握條件編譯的方法【實(shí)驗(yàn)內(nèi)容】1下面定義的宏,互換兩個(gè)參數(shù)的值。在主函數(shù)中調(diào)用此宏分別完成兩個(gè)整數(shù)、實(shí)數(shù)的互換,輸出已交換后的值。#define change(a,b) t=b;b=a;a=t;main() int a,b; float c,d; int t; printf("Enter integer a & b:"); scan

22、f("%d%d",&a,&b); change(a,b); printf("Now a=%d b=%dn",a,b); float t; printf("Enter float c & d:"); scanf("%f%f",&c,&d); change(c,d); printf("Now c=%f d=%fn",c,d); 輸入并運(yùn)行該程序,觀(guān)察運(yùn)行結(jié)果,體會(huì)宏定義實(shí)現(xiàn)的過(guò)程。比較宏調(diào)用與函數(shù)調(diào)用的區(qū)別。2 輸入并運(yùn)行下面的程序,體會(huì)編譯程序?qū)Π募奶?/p>

23、理過(guò)程。(1)在當(dāng)前目錄中建立下面頭文件head.h#define OK "passed"#define ERROR "error"int g;(2)在當(dāng)前目錄中建立下面程序文件#include <stdio.h>#include "head.h"main() int k=1; g=5; printf("g=%d k=%dn",g,k); printf("OK=%s ERROR=%sn",OK,ERROR);包含文件head.h 的處理:將文件內(nèi)容就地展開(kāi),相當(dāng)于定義了兩個(gè)字符串常量

24、和一個(gè)全局整型變量。3用條件編譯方法實(shí)現(xiàn)以下功能:定義一個(gè)控制條件編譯的宏,對(duì)輸入的一個(gè)字符串,或者按原文輸出,或者按倒序輸出。要求:(1)定義宏ORDER,控制字符串的輸出方式。(2)定義倒序輸出字符串的函數(shù)reverse(char *);(3)編寫(xiě)主函數(shù)用條件編譯實(shí)現(xiàn)對(duì)輸出方式的控制。實(shí)驗(yàn)8 使用數(shù)組程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹?掌握一維數(shù)組與二維數(shù)組的定義、使用及初始化方法。2學(xué)習(xí)數(shù)組作為函數(shù)參數(shù)的用法。3掌握字符數(shù)組和字符串函數(shù)的使用方法。4掌握數(shù)組的一種排序算法,進(jìn)一步理解模塊化程序設(shè)計(jì)的方法。實(shí)驗(yàn)內(nèi)容1設(shè)計(jì)程序按步驟完成下列任務(wù):(1)編寫(xiě)函數(shù)sort,實(shí)現(xiàn)對(duì)整數(shù)數(shù)組排序的功能,具體排序方

25、法可以使用冒泡或選擇法,由用戶(hù)自定。(2)主函數(shù)中,定義數(shù)組并使用初始化方法給出數(shù)組初值。測(cè)試數(shù)據(jù)為16,5,8,12,1,17,3,6,10,2。(3)主函數(shù)中調(diào)用sort函數(shù)實(shí)現(xiàn)對(duì)測(cè)試數(shù)據(jù)排序的功能。要求分別打印出排序前后數(shù)組元素的值。2 下面程序?qū)崿F(xiàn)將一個(gè)字符串倒置的功能,編寫(xiě)程序,從鍵盤(pán)接受一個(gè)字符串,利用給出的函數(shù)daozhi判定輸入的字符串是否為回文。倒置是指將字符串中的字符按相反順序排列,如abcde倒置后變?yōu)閑dcba。所謂回文是指正序和反序字符排列方式相同的字符串,如abcDcba是回文。字符串倒置的函數(shù)如下:void daozhi(char str)int i,k,n; c

26、har c,*s=str; for (n=0;sn!='0'n+); /* 統(tǒng)計(jì)串長(zhǎng)*/ n-; /* 最后一個(gè)字符位置*/ printf("n=%dn",n); for (i=0;i<=n/2;i+) c=stri; stri=strn-i; strn-i=c; 提示:使用字符串函數(shù)strcpy和strcmp。3 使用字符指針數(shù)組表示一個(gè)星期中每天的英文名稱(chēng),編寫(xiě)程序,從鍵盤(pán)輸入0-6中間的一個(gè)數(shù)字,輸出對(duì)應(yīng)星期幾的英文名稱(chēng)。要求:使用switch結(jié)構(gòu)。4設(shè)有下列矩陣: A = 編寫(xiě)程序,用二維數(shù)組存儲(chǔ)矩陣元素,從鍵盤(pán)輸入數(shù)據(jù),將矩陣轉(zhuǎn)置后按行輸出。

27、實(shí)驗(yàn)9 使用指針的程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹? 掌握使用指針變量的方法。2 掌握帶有指針形參的函數(shù)的定義及調(diào)用方法。3正確使用函數(shù)指針調(diào)用函數(shù)。4正確使用指針操作數(shù)組元素。5正確使用指針數(shù)組操作字符串?!緦?shí)驗(yàn)內(nèi)容】1 編寫(xiě)程序,使用指針實(shí)現(xiàn)打印一維數(shù)組所有元素的操作。要求:每行打印4個(gè)元素。從鍵盤(pán)輸入下面一組數(shù)據(jù)進(jìn)行測(cè)試:5,12,2,6,1,24,15,11,7,3,19,20,13,82編寫(xiě)程序,實(shí)現(xiàn)交換兩個(gè)變量值的操作。要求:使用形參為指針的函數(shù)swap完成交換功能。主函數(shù)中,使用整型指針從鍵盤(pán)輸入兩個(gè)整數(shù),通過(guò)調(diào)用swap完成交換。輸出交換前后的變量值進(jìn)行比較。3編寫(xiě)程序,實(shí)現(xiàn)兩個(gè)字符串拷貝

28、的函數(shù)strcopy。要求:不允許使用C的字符串函數(shù)strcpy。目標(biāo)串的長(zhǎng)度不應(yīng)該超過(guò)源串的長(zhǎng)度。對(duì)這個(gè)條件進(jìn)行檢查。主程序中從鍵盤(pán)輸入兩個(gè)字符串。調(diào)用strcopy函數(shù)實(shí)現(xiàn)字符串拷貝操作。輸出拷貝前后,兩個(gè)字符串的內(nèi)容。4下面的程序是一個(gè)使用函數(shù)指針調(diào)用函數(shù)的實(shí)例。閱讀程序,輸入、編譯、連接,運(yùn)行并觀(guān)察結(jié)果。體會(huì)使用函數(shù)指針調(diào)用函數(shù)的步驟。#include <stdio.h>int max(int x,int y) int m=x; if (y>m) m=y; return m; main() int a,b,c; int (*funp)(int,int); /*定義函數(shù)

29、指針*/ printf("Input a,b:"); scanf("%d%d",&a,&b); funp=max; /*函數(shù)指針指向具體的函數(shù)*/ c=(*funp)(a,b); /*用函數(shù)指針調(diào)用函數(shù)*/ printf("max=%dn",c);實(shí)驗(yàn)10 使用結(jié)構(gòu)和聯(lián)合進(jìn)行程序設(shè)計(jì)【實(shí)驗(yàn)?zāi)康摹?掌握結(jié)構(gòu)類(lèi)型變量與數(shù)組的定義和使用。2掌握使用結(jié)構(gòu)指針和結(jié)構(gòu)變量名使用結(jié)構(gòu)成員的方法。3掌握鏈表的基本概念和操作。4掌握聯(lián)合的概念與使用。【實(shí)驗(yàn)內(nèi)容】1從鍵盤(pán)輸入5個(gè)人的姓名、年齡和性別,然后輸出。要求:分別通過(guò)結(jié)構(gòu)指針和結(jié)構(gòu)

30、變量名輸出信息。用函數(shù)data_in實(shí)現(xiàn)數(shù)據(jù)輸入,用函數(shù)data_pout實(shí)現(xiàn)通過(guò)結(jié)構(gòu)指針輸出結(jié)構(gòu)數(shù)據(jù)的操作,用函數(shù)data_nout實(shí)現(xiàn)通過(guò)結(jié)構(gòu)變量名輸出結(jié)構(gòu)數(shù)據(jù)的操作。2輸入10本書(shū)的名稱(chēng)和單價(jià),按照單價(jià)進(jìn)行排序。要求:采用結(jié)構(gòu)數(shù)組存儲(chǔ)數(shù)據(jù),使用冒泡或選擇排序算法實(shí)現(xiàn)排序。3下面的程序,構(gòu)造一個(gè)如下圖所示的三個(gè)結(jié)點(diǎn)的鏈表,并順序輸出鏈表中結(jié)點(diǎn)的數(shù)據(jù)。302010hNULL a b c實(shí)驗(yàn)10 第3題圖示#include <stdio.h>struct node int data; struct node *next; /* 指向本結(jié)點(diǎn)類(lèi)型的指針是實(shí)現(xiàn)鏈表的基礎(chǔ) */ ;main() struct node a,b,c,*h,*p; /* 定義三個(gè)結(jié)點(diǎn) h是頭指針*/ a.data=10; b.data=20; c.data=30; /* 結(jié)點(diǎn)的數(shù)據(jù)賦值 */ h=&a; /* 頭指針指向a結(jié)點(diǎn) */ a.next=&b; /* a結(jié)點(diǎn)的指針指向b結(jié)點(diǎn) */ b.next=&c; /* b結(jié)點(diǎn)的指針指向c結(jié)點(diǎn) */

溫馨提示

  • 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)論