久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

《程序設計實踐》課程實驗內容(最終5篇)

時間:2019-05-12 06:51:01下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《《程序設計實踐》課程實驗內容》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《《程序設計實踐》課程實驗內容》。

第一篇:《程序設計實踐》課程實驗內容

《程序設計實踐》實驗內容

實驗一函數與程序結構(1)

實驗一函數與程序結構(2)

1.實驗指導書P123:

一、調試示例,掌握采用“文件包含”和“工程文件”實現多文件模塊程序的兩種方法

2.實驗指導書P132:編程題5,7,8

實驗二 指針進階(1)

實驗二 指針進階(2)

指針進階根據數據結構中的內容做以下要求

要求會使用指針數組,鏈表等內容

實驗題目

1、實驗指導書P138:編程題2,32、實驗指導書P140:

一、調試示例

3、實驗指導書P145:編程題1,2,3實驗三 文件(1)

實驗三 文件(2)

文件實驗指導書中主要涉及普通數據的寫入和結構體類型數據的寫入,我們重點強調一下結構體類型數據的寫入,因此布置集中在結構體類型數據的題目 題目中沒有如何將鏈表寫入文件中,建議補充上去,作為題目4實現吧!

1、實驗指導書P148:改錯題

2、實驗指導書P150:編程題3,7

實驗四綜合設計

以課程報告任務書要求為準:開發一個圖書信息管理系統,圖書信息包括:圖書編號、書名、作者、出版社、類別、出版時間、價格等基本信息(也可以根據自己情況進行擴充,比如是否借出、庫存量等)。使之能提供以下基本功能:

(1)圖書信息錄入功能(圖書信息用文件保存)--輸入?

(2)圖書信息瀏覽功能--輸出

(3)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式):?①按書名查詢 ②按作者名查詢③ 按照價錢排序 ④按出版時間排序等等

(4)圖書信息的刪除與修改

按照功能模塊大致劃分,也可以細化:輸入、輸出、查詢、統計、排序、插入、刪除等功能,學生根據自己的情況可以提出更好的功能,要求學生給出調試過程抓圖、知識點總結、源代碼,到時候回答問題相結合給成績。

第二篇:《程序設計實踐》課程實驗內容

《程序設計實踐》實驗內容

實驗一函數與程序結構(1-2)

1.實驗指導書P123:

一、調試示例,掌握采用“文件包含”和“工程文件”實現多文件模塊程序的兩種方法

2.實驗指導書P132:編程題2,5,7,8

實驗二 指針進階(1-2)

指針進階根據數據結構中的內容做以下要求

要求會使用指針數組,鏈表等內容

實驗題目

1、實驗指導書P138:編程題2,32、實驗指導書P140:

一、調試示例

3、實驗指導書P145:編程題1,2,3實驗三 文件(1-2)

文件實驗指導書中主要涉及普通數據的寫入和結構體類型數據的寫入,我們重點強調一下結構體類型數據的寫入,因此布置集中在結構體類型數據的題目 題目中沒有如何將鏈表寫入文件中,建議補充上去,作為題目4實現吧!

1、實驗指導書P148:改錯題

2、實驗指導書P150:編程題3,7

實驗四綜合設計

標準化考試系統的設計與實現

開發出一個標準化考試系統,所謂標準化考試系統即僅支持選擇題,也是為方便自動批改的功能的實現。要求實現以下基本功能:

(1)提供給教師添加試題的功能(試題信息用文件保存)--輸入與存儲

(2)試題的整體瀏覽功能(按照知識點、章節、分頁顯示等)--輸出

(3)能夠抽取試題組合成一套試卷(組卷的策略:可以是隨機的,當然若教師添加的試題時有知識點、章節等信息,亦可以實現按照一定的組卷策略實現出題:如每個知識點抽取若干題目,最終組合一套試卷)

(4)教師實現題目信息的管理,比如刪除、修改等

(5)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式)

擴展功能:可以按照自己的程度進行擴展。比如(1)簡單的權限處理(2)成績報表打印功能(3)甚至根據自己情況,可以加上學生信息和考試成績信息的管理,并擴充為廣義的考試系統。即學生輸入賬號密碼登陸,進行考試,交卷后顯示成績;(4)模糊查詢(5)綜合查詢(6)數據加密、統計、分析等功能。

特別說明:盡可能地運用自己已經學習過的數據結構的知識去展現。

第三篇:程序設計課程教學方法的探討和實踐

程序設計課程教學方法的探討和實踐

高等學校的根本任務是培養人才,人才培養是辦學的核心問題。在高等教育大眾化、國際化的趨勢中,高等學校辦學的競爭日益加劇。教學質量將決定著一所學校的生存和發展。因此,教學質量是教育者、管理者不可不思、不可不謀、不可不為的重要任務。

隨著經濟的發展和科技的進步,對人才素質提出了更高的要求,在人才培養上,各高校都在夯實基礎的同時重視能力的培養,開始實施理論教學和實踐的配套改革,進一步加強實踐教學,加強學生實踐能力、創新能力的培養。但是,對不同層次的高校而言,教育培養的對象雖然都是大學生,但各校均有自己的特性,在教學方法上,有其共性,也具有特殊性,互相之間,只能借鑒,不能照搬,而需要根據自己的情況來制定切合實際的教學方法。本文是以某高校計算機專業的“程序設計”課程為對象,探討教學方法的改進和實踐。

科學的教學方法是通向成功的橋梁。古人曰:“授之以魚,供一飯之需;教之以漁,終身受用不盡。”授之以方法,培養學生的自學能力,是實現“教是為了不教”的正確途徑。教學方法的改進,首先要改傳統的單純灌輸式教學法為啟發式和探究式的教學法,教師提出問題,激發學生積極思維,主動思考,發現未知,發展智力,達到由此及彼、由表及里、聞一知

十、舉一反三的目的。教師不僅要注意培養學生的“智商”,更要發展學生的“情商”,即非智力因素,充分調動學生學習的需要、興趣、動機,引導學生進行科學的思維,包括形式邏輯思維、形象思維、靈感思維等,以培養學生獨立思考問題、提出問題和解決問題的能力,即所謂“既要授之以魚,更要授之以漁”。教師可以假設一種以案例和問題為核心的情景和背景,激發學生探究問題的興趣,通過選擇與確定問題,討論與提出設想,實踐與尋求結果,驗證與得出結論,培養學生獨立思考能力、研究能力和創新能力,形成一種討論式、開放式的現代教學方法,這就體現了大學教學的創新精神和平等合作精神,這種方法稱為程序案例教學法或程序驅動教學法。這種方法要求教師精心備課,根據學生的知識水平和能力,創設實用的程序案例,引導過程中的問題情境,幫助學生激發創新意識,促進學生質疑,培養學習興趣。在課堂上,要努力營造民主、寬松、和諧的學習環境。

現今普遍的程序設計教學方法都是從語法入手,詳細地講解各種編程語言的語法,而涉及的程序案例卻很少,雖然有一些例題,但很簡單,距離解決實際問題的復雜度相差甚遠,學生在學習之后,常常缺乏動手能力和解決問題的能力,無法構建程序設計的思維,而且機械式的記憶語法規則往往是枯燥無味的,很難激發學習的興趣。以“C++程序設計”為例,針對各種語法規則,創建16個實用的程序案例:1)庫存清單應用程序(變量,輸入);2)工資計算應用程序(算法,偽代碼);3)牙科付費應用程序(邏輯運算符,字符串);4)購車還貸應用程序(WHILE循環語句);5)計算班級平均成績應用程序(標記控制循環);6)利息計算應用程序(FOR循環語句和數學函數);7)計算個人所得稅應用程序(多分支選擇語句SWITCH);8)捐款管理應用程序(作用域與函數原型);9)游戲應用程序(生成隨機數和枚舉);10)薪金統計應用程序(一維數組);11)學生成績統計應用程序(二維數組);12)數字時鐘應用程序(自定義類和對象);13)購物清單管理應用程序(指針,引用及動態數據結構);14)工資表應用程序(繼承與多態性);15)便箋信息應用程序(順序訪問文件);16)屏幕抓取應用程序(字符串處理)。

首先教師給出程序案例的框架結構,學生經過思考,選擇合適的算法和指令語句,經互相討論,完善和豐富程序案例,然后上機調試,通過運行來檢驗結果。程序案例的教學法是從興趣入手,首先給人們編程的樂趣,繼而帶領學生進入程序的天地,提高探索的欲望,使學習編程變得生動而有趣。經過對計算機科學專業198名學生的問卷調查表明,其中194人贊成這種教學方法,在反饋的意見中,認為這種方法效果很好,能夠很容易接受。在教學過程中既學到應得的知識,又感受到編程的快樂;既感受到成功的喜悅,又得到探索的樂趣??己说某煽儽砻?85%的學生達到預期的效果,其中有20%的學生達到優秀的水平,雖然,教學實踐取得明顯的效果,但仍有15%的學生尋求適合的解決方法。尚未達到預期的效果,這表明仍有一些問題尚待解決,今后將進一步研究不足之處。

(作者單位:山東省濰坊科技學院)

第四篇:C高級語言程序設計實驗內容

實驗一 C語言的運行環境和基礎知識

一、實驗目的

1.掌握c程序設計編程環境visual c++,掌握運行一個c程序設計的基本步驟,包括編輯、編譯、連接和運行。

2.熟練掌握Visual C++ 6.0環境運行的C程序上機步驟 3.數據類型、常量和變量的使用 4.表達式及運算符的應用 5.C程序的調試。

二、實驗內容和源程序清單、測試數據、結果。

1、最簡單的C程序。(要求文件名:1_1.c)#include int main(){

printf(“Hello world!n”);return 0;}

2、一個具有致命錯誤的程序,請修改。(要求文件名:1_2.c)#include int main(){ int i scanf(“%d”,i);

printf(“i=%dn”,i);

return 0;}

3、一個具有警告語法錯的程序。(要求文件名:1_3.c)#include int main(){ int i=9,j,s;

s=i+j;printf(“s=%dn”,s);return 0;}

4、寫出一個程序測試整型、字符型數據表示,并輸出以驗證是否正確。(要求文件名:1_4.c)#include int main(){

int x=010,y=10,z=0x10;

/* 整型數據表示 */ char c1='M',c2='x4d',c3='115',c4=77,c;

/* 字符型數據表示 */

/* 整型數據的輸出 */ printf(“x=%o,y=%d,z=%xn”,x,y,z);

/* 數據以原進制輸出,注意是否有前導0或0x */ printf(“x=%d,y=%d,z=%dn”,x,y,z);

/* 數據以10進制輸出,換算到10進制,結果對嗎? */ /* 字符型數據的輸出 */ printf(“c1=%c,c2=%x,c3=%o,c4=%dn”,c1,c2,c3,c4);

/* 數據以原進制輸出,注意是否有前導0或0x ?*/ printf(“c1=%c,c2=%c,c3=%c,c4=%cn”,c1,c2,c3,c4);

/* 結果都是什么字符?,也就是說字符可以自由的表示成幾種形式? */ printf(“c1=%d,c2=%d,c3=%d,c4=%dn”,c1,c2,c3,c4);

/* 看看這些字符的10進制ASCII碼,哦,ASCII碼一樣,同一種字符 */

/* 字符型數據參與算術運算 */ c=c1+32;

/* 字符怎么參加了數學運算,哦,是字符對應的ASCII碼-整數 /* 參與數學運算;結果還是一個整數-另外一個字符的ASCII碼 */ printf(“c=%c,c=%dn”,c,c);

/* 看看這個字符是什么?哇,'M'+32='m'了,看看ASCII碼表,原來如此!*/ return 0;} 參考結果: x=10,y=10,z=10 x=8,y=10,z=16 c1=M,c2=4d,c3=115,c4=77 c1=M,c2=M,c3=M,c4=M c1=77,c2=77,c3=77,c4=77 c=m,c=109

三、實驗報告要求

將題目:2和4的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。2

實驗二

順序結構程序設計

一、實驗目的:

1.掌握順序結構程序設計 2.掌握賦值語句的用法

3.熟練地進行數據輸入和輸出

二、實驗內容和源程序清單、測試數據、結果。

1、已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮點),計算算術表達式(float)(a+b)/2+(int)x%(int)y的值。試編程上機驗證。(要求文件名:2_1.c)提示編程要點:

(1)先判斷結果值類型,可設置一個此類型的變量用于記錄表達式結果,本例用r存放結果;(2)程序先給幾個變量賦初值,然后將表達式賦值給變量r;(3)最后打印變量r的值就是表達式的值。參考程序:

#include int main(){

int a=2,b=3;float x=3.9,y=2.3;

float r;

r=(float)(a+b)/2+(int)x%(int)y;

printf(“%fn”,r);return 0;} 參考結果: 3.500000 思考:為什么是這個結果?

2、分析下面程序結果,并上機驗證。(要求文件名:2_2.c)#include int main(){

int i,j,m,n;

i=8;

j=10;

m=++i;

n=j++;

printf(“i=%d, j=%d, m=%d, n=%dn”,i,j,m,n);

return 0;} 參考結果:

i=9, j=11, m=9, n=10

3、用下面的scanf函數輸入數據,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。從鍵盤如何輸入?(要求文件名:2_3.c)#include int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d b=%d”,&a,&b);scanf(“%f %e”,&x,&y);scanf(“%c%c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%cn”,a,b,x,y,c1,c2);return 0;}

4、編程序,用getchar函數讀入兩個字符給c1、c2,然后分別用 putchar函數和 printf函數輸出這兩個字符。(要求文件名:2_4.c)參考程序:

#include int main(){ char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);printf(“n%c,%c”,c1,c2);return 0;}

三、實驗報告要求

將題目:1和3的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗三

選擇結構程序設計

一、實驗目的

1.2.3.4.了解C語句表示邏輯量的方法(以0代表“假”以1代表“真”);

學會正確使用邏輯運算符和邏輯表達式;

熟練掌握if語句和switch語句;

熟練掌握switch語句中break語句的作用。

二、實驗內容和源程序清單、測試數據、結果。

(1)掌握各種格式轉換符的正確使用方法,輸出結果。(要求文件名:3_1.c)#include int main(){ int a=5,b=7;float x=67.8564,y=-789.124;char c='A';long n=1234567;unsigned u=65535;printf(“%d%dn”,a,b);printf(“%3d%3dn”,a,b);printf(“%f,%fn”,x,y);printf(“%-10f,%-10fn”,x,y);printf(“%8.2f,%8.2f,%.4f,%.4f,%3f,%3fn”,x,y,x,y,x,y);printf(“%e,%10.2en”,x,y);printf(“%c,%d,%o,%xn”,c,c,c,c);printf(“%ld,%lo,%xn”,n,n,n);printf(“%u,%o,%x,%dn”,u,u,u,u);printf(“%s,%5.3sn”,“COMPUTER”,“COMPUTER”);return 0;}

(2)1.從鍵盤任意輸入一個年號,判斷它是否是閏年。若是閏年,輸出“Yes”,否則輸出“No”。已知符合下列條件之一者是閏年:(1)能被4整除,但不能被100整除;(2)能被400整除。(要求文件名:3_2.c)參考程序:

#include int main(){

int year, flag;printf(“Enter year:”);scanf(“%d”, &year);if(year%4==0&&year%100!=0 || year%400==0)

{

flag = 1;

} else

{

flag = 0;

} if(flag)

{

printf(“Yesn”);

} else

{

printf(“Non”);} return 0;}(3)編程序,并給出程序的運行結果,注意思考case中break的用法以及為什么是這樣的結果?(要求文件名:3_3.c)參考程序:

#include int main(){

int x=2,y=1,a=1,b=2;switch(x){ case 2:

switch(y)

{

case 1:a++;

case 2:b++;break;

}

case 3:a++;b++;break;} printf(“%d %dn”,a,b);return 0;}(4)編程序:輸入4個整數,要求按由小到大的順序輸出。(要求文件名:3_4.c)參考程序:

#include int main(){

int t,a,b,c,d;scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);printf(“a=%d,b=%d,c=%d,d=%dn”,a,b,c,d);if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(a>d){t=a;a=d;d=t;} if(b>c){t=b;b=c;c=t;} if(b>d){t=b;b=d;d=t;} if(c>d){t=c;c=d;d=t;} printf(“%d,%d,%d,%dn”,a,b,c,d);return 0;}

三、實驗報告要求

將題目:2和3的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗四 循環結構程序設計

一、實驗目的

1.2.3.4.5.熟練使用while、for語句實現循環程序設計

理解循環條件和循環體,以及while、for語句的相同及不同之處 掌握嵌套循環程序設計

熟練掌握下拉菜單Debug的程序調試方法 掌握break和continue的用法

二、實驗內容和源程序清單、測試數據、結果。

(1)輸入兩個正整數m和n,求它們的最大公約數和最小公倍數。(要求文件名:4_1.c)參考程序:

#include int main(){ int x,y,i,m,max;scanf(“%d,%d”,&x,&y);if(x>y)

m=x;else

m=y;for(i=1;i<=m;i++){

if((x%i==0)&&(y%i==0))

max=i;} printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;}(2)從鍵盤輸入一個 int 類型的正整數,輸出它的所有因子。如輸入6,輸出1,2,3;輸入20,輸出1,2,4,5,10。(要求文件名:4_2.c)參考程序:

#include int main(){ int x,i;scanf(“%d”,&x);for(i=1;i

printf(“%dn”,i);} return 0;}(3)輸入一行字符,分別統計出其中的英文字母、空格、數字和其他字符的個數。(要求文件名:4_3.c)參考程序:

#include #include int main(){ char c;int letter=0,digit=0,space=0,other=0;printf(“please input string:”);while((c=getchar())!='n'){

if(c>='a'&&c<='z'||c>='A'&&c<='Z')

letter++;

else if(c>='0'&&c<='9')

digit++;

else if(c==' ')

space++;

else other++;} printf(“%d,%d,%d,%dn”,letter,digit,space,other);return 0;}(4)編程計算1?11111??????的值。(要求文件名:4_4.c)23499100參考程序:

#include int main(){

int sign = 1;double sum = 1;double deno = 2;double term = 1;while(deno<=100){

sign =(-1)*sign;

term = sign*(1/deno);

sum = sum+term;

deno++;} printf(“%lfn”,sum);return 0;}

三、實驗報告要求

將題目:3和4的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗五

數組

一、實驗目的

1.掌握一維、二維數組的定義、引用、應用 2.掌握字符數組的定義、引用、應用 3.掌握字符串處理函數

二、實驗內容和源程序清單、測試數據、結果。

(1)給出下面程序的結果,思考為什么?(要求文件名:5_1.c)#include int main(){

char a[]=“Chinaren”,b[]=“Tiananmen”;char *p1,*p2;

int k=0;p1=a;

p2=b;for(k=0;k<10;k++)

if(*(p1+k)==*(p2+k))

printf(“%c”,*(p1+k));printf(“n”);return 0;}(2)有一個3×4的矩陣,要求輸出其中值最大的元素的值,以及它的行號和列號。(要求文件名:5_2.c)參考程序: #define M 3 #define N 4

#include int main(){ int max,i,j,r,c;

int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};

max=a[0][0];

for(i=0;i

for(j=0;j

if(a[i][j]>max)

{

max= a[i][j];

r=i;

c=j;

}

printf(“max=%d , row =%d , colum=%d n”,max , r, c);

return 0;}(3)編程序用于讀入10個字符串,然后找出最大的字符串并打印。(要求文件名:5_3.c)參考程序:

#include #include main(){

char str[10][80],maxstring[80];

int i;printf(“Enter ten strings:n”);for(i=0;i<10;i++)

{

scanf(“%s”, str[i]);} strcpy(maxstring, str[0]);

for(i=1;i<10;i++)

{

if(strcmp(str[i],maxstring)>0)

{

strcpy(maxstring,str[i]);

} } printf(“The max string is:%sn”,maxstring);}(4)給出下面程序的運行結果,思考為什么?(要求文件名:5_4.c)#include int main(){

int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}};int i,j,s=0;for(i=0;i<4;i++){

for(j=0;j<4;j++)

{

if(a[i][j]<0)continue;

if(a[i][j]==0)break;

s+=a[i][j];

} } printf(“%dn”,s);return 0;}(5)測試二維數組的各個地址值,結果是什么,思考原因。(要求文件名:5_5.c)#include #define M 3 #define N 4 int main(){

int a[M][N];printf(“%xn”,a);printf(“%xn”,a[0]);for(int i=0;i

printf(“%x,”,&a[i][j]);

return 0;}

三、實驗報告要求

將題目:2和3的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗六

函數

一、實驗目的

1.掌握C語言函數的定義方法、函數的聲明及函數的調用方法。

2.了解主調函數和被調函數之間的參數傳遞方式。

二、實驗內容和源程序清單、測試數據、結果。

(1)給出下面程序的結果,思考為什么?(要求文件名:6_1.c)#include void swap(int x,int y){ int t;t=x;x=y;y=t;printf(“%d %d ”,x,y);} int main(){ int a=5,b=7;swap(a,b);printf(“%d %dn ”,a,b);return 0;}(2)寫一個判別素數的函數,在主函數輸入一個整數,輸出是否素數的信息。(要求文件名:6_2.c)參考程序:

#include int prime(int number);int main(){ int number;printf(“please input a num:n”);scanf(“%d”,&number);if(prime(number))

printf(“%d is prime!”,number);else

printf(“%d is not!”,number);return 0;} int prime(int number)/*此函數用于判別素數*/ { int flag=1,n;for(n=2;n

if(number%n==0)

flag=0;return(flag);}(3)求兩個整數的最大公約數和最小公倍數。寫一個函數求最大公約數。(要求文件名:6_3.c)參考程序:

#include int max_ys(int x,int y);int main(){ int x,y,i,max;scanf(“%d,%d”,&x,&y);max=max_ys(x,y);printf(“%dn”,max);printf(“%dn”,x*y/max);return 0;} int max_ys(int x,int y){ int i,m,max;if(x>y)m=x;else m=y;for(i=1;i<=m;i++){ if((x%i==0)&&(y%i==0))

max=i;} return(max);}(4)寫一函數,輸入一個十六進制數,輸出相應的十進制數。(要求文件名:6_4.c)參考程序:

#include #include #include long change(char shu[]){ long i,k,sum=0;k=strlen(shu)-1;for(i=k;i>=0;i--)

if(shu[i]>=48&&shu[i]<=57)

sum=sum+(shu[i]-48)*pow(16,k-i);

else if(shu[i]>=65&&shu[i]<=70)

sum=sum+(shu[i]-55)*pow(16,k-i);

else if(shu[i]>=97&&shu[i]<=102)

sum=sum+(shu[i]-87)*pow(16,k-i);

else

{

printf(“error!n”);

break;

} return sum;} int main(){ char str[100];long s;gets(str);s=change(str);if(!s)

printf(“The number is not oxn”);else

printf(“change:%ldn”,s);return 0;}

三、實驗報告要求

將題目:3和4的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗七

指針

一、實驗目的

1.掌握指針變量的定義與引用。

2.熟練使用函數指針、數組指針、字符串指針編寫應用程序。

二、實驗內容和源程序清單、測試數據、結果。

(1)輸入三個整數,按由小到大的順序輸出,然后將程序改為:輸入三個字符串,按由小到大順序輸出。參考程序:(輸入三個整數,按由小到大的順序輸出)(要求文件名:7_0.c)#include void swap(int *p1,int *p2);int main(){ int n1,n2,n3,*p1,*p2,*p3;scanf(“%d,%d,%d”,&n1,&n2,&n3);p1=&n1;p2=&n2;p3=&n3;if(n1>n2)swap(p1,p2);if(n1>n3)swap(p1,p3);if(n2>n3)swap(p2,p3);printf(“the order is:%d,%d,%dn”,n1,n2,n3);return 0;} void swap(int *p1,int *p2){ int temp;temp=*p1;*p1=*p2;*p2=temp;} 參考程序:(輸入三個字符串,按由小到大順序輸出)(要求文件名:7_1.c)#include #include void swap(char *p1,char *p2);int main(){ char s1[20],s2[20],s3[20];char *ps1=s1,*ps2=s2,*ps3=s3;scanf(“%s”,ps1);scanf(“%s”,ps2);scanf(“%s”,ps3);if(strcmp(ps1,ps2)>0)swap(ps1,ps2);if(strcmp(ps1,ps3)>0)swap(ps1,ps3);if(strcmp(ps2,ps3)>0)swap(ps2,ps3);printf(“the order is:%s,%s,%sn”,ps1,ps2,ps3);return 0;} void swap(char *p1,char *p2){ char temp[20];strcpy(temp,p1);strcpy(p1,p2);strcpy(p2,temp);}(2)用指向指針的指針的方法對x個整數排序并輸出。要求將排序單獨寫成一個函數。x和各整數在主函數中輸入,最后在主函數中輸出。(要求文件名:7_2.c)參考程序:

#include void maopao(int *p,int x);int main(){

int x,a[100],*p,i;p=a;scanf(“%d”,&x);for(i=0;i

scanf(“%d”,p++);p=a;printf(“n”);maopao(p,x);printf(“the sorted numbers:n”);p=a;for(i=0;i

printf(“%dt”,*p);

return 0;} void maopao(int *p,int x){ int i,j,temp;for(i=0;i

for(j=0;j

if(*(p+j)>*(p+j+1))

{

temp=*(p+j);

*(p+j)=*(p+j+1);

*(p+j+1)=temp;

} }(3)利用函數和指針將給定字母字符串的第一個字母變成大寫字母,其它字母變成小寫字母。在main函數中接收字符串的輸入,改變后的字符串的輸出也在main函數中實現。(要求文件名:7_3.c)參考程序:

#include #include void change(char *s);int main(){ char s[100];char *ps=s;scanf(“%s”,ps);change(ps);printf(“%s”,ps);return 0;} void change(char *s){ int x,i;x=strlen(s);if(*s>='a'&&*s<='z')

*s-=32;s++;

} for(i=0;i='A'&&*s<='Z')

*s+=32;

三、實驗報告要求

將題目2和3的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗八

結構體和共用體

一、實驗目的

1.掌握結構體類型和結構體變量的定義。

2.掌握結構類型變量的定義和使用。

3.掌握鏈表的概念,初步學會對鏈表進行操作。

二、實驗內容和源程序清單、測試數據、結果。

(1)給出下面程序的運行結果,思考為什么?(要求文件名:8_1.c)#include struct STU {

char num[10];

float score[3];};

int main(){

struct STU s[3]={{“1122301”,90,95,85}, {“1122302”,80,90,75}, {“1122303”,98,92,85}}, *p=s;

int i;

float sum = 0;

for(i=0;i<3;i++){

sum = sum + p->score[i];

} printf(“%6.2fn”,sum);

return 0;}(2)有10個學生,每個學生的數據包括學號,姓名,三門課的成績,從鍵盤輸入十個學生的數據,要求打印出每個學生的平均成績,以及最高分的學生的數據(包括學號,姓名,三門課的成績,平均分數)。(要求文件名:8_2.c)#include #define N 10 struct student {

char num[6];

char name[8];

float score[3];

float avr;} stu[N];

int main(){ int i,j,maxi;

float sum,max,average;

for(i=0;i

{ printf(“input scores of student %d:n”,i+1);

printf(“NO.:”);

scanf(“%s”,stu[i].num);

printf(“name:”);

scanf(“%s”,stu[i].name);

for(j=0;j<3;j++)

{ printf(“score %d:”,j+1);

scanf(“%f”,&stu[i].score[j]);

}

}

average=0;

max=0;

maxi=0;

for(i=0;i

{ sum=0;

for(j=0;j<3;j++)

sum+=stu[i].score[j];

stu[i].avr=sum/3.0;

average+=stu[i].avr;

if(sum>max)

{ max=sum;

maxi=i;

}

}

average/=N;

printf(“

NO.name

score1

score2

score3

averagen”);

for(i=0;i

for(j=0;j<3;j++)

printf(“%9.2f”,stu[i].score[j]);

printf(“

%8.2fn”,stu[i].avr);

}

printf(“average=%5.2fn”,average);

printf(“The highest score is : student %s,%sn”,stu[maxi].num,stu[maxi].name);printf(“his scores are:%6.2f,%6.2f,%6.2f,average:%5.2f.n”,stu[maxi].score[0],stu[maxi].score[1],stu[maxi].score[2],stu[maxi].avr);return 0;}(3)建立一個鏈表,每個結點包括:學號,姓名,性別,年齡。輸入一個年齡,如果鏈表中的結點所包含的年齡等于此年齡,則將此結點刪去。(要求文件名:8_3.c)

#include #include #define LEN sizeof(struct student)struct student {

char num[6];char name[8];char sex[2];int age;struct student *next;} stu[10];

int main(){

struct student *p,*pt,*head;int i,length,iage,flag=1;int find=0;

//找到待刪除元素 find=1,否則find=0 while(flag==1){

printf(“input length of list(<10):”);

scanf(“%d”,&length);

if(length<10)

flag=0;}

//建立鏈表

for(i=0;i

p=(struct student *)malloc(LEN);

if(i==0)

head=pt=p;

else

pt->next=p;

pt=p;

printf(“NO.:”);

scanf(“%s”,p->num);

printf(“name:”);

scanf(“%s”,p->name);

printf(“sex:”);

scanf(“%s”,p->sex);

printf(“age:”);

scanf(“%d”,&p->age);

}

p->next=NULL;

p=head;printf(“n NO.name

sex agen”);

//顯示

while(p!=NULL){

printf(“%4s%8s%6s%6dn”,p->num,p->name,p->sex,p->age);

p=p->next;}

// 刪除

printf(“input age:”);

//輸入待刪年齡

scanf(“%d”,&iage);pt=head;p=pt;

if(pt->age==iage)

//鏈頭是待刪元素

{

p=pt->next;

head=pt=p;

find=1;

}

else

//鏈頭不是待刪元素

pt=pt->next;

while(pt!=NULL){

if(pt->age==iage)

{

p->next=pt->next;

find=1;

}

else

// 中間結點不是待刪元素

p=pt;

pt=pt->next;

}

if(!find)

printf(“ not found %d.”,iage);

p=head;

printf(“n NO.name

sex agen”);//顯示結果

while(p!=NULL){

printf(“%4s%8s”,p->num,p->name);

printf(“%6s%6dn”,p->sex,p->age);

p=p->next;

}

return 0;}

三、實驗報告要求

將題目3的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

實驗九

文件操作

一、實驗目的

1.掌握文件和文件指針的概念以及文件的定義方法。

2.了解文件打開和關閉的概念和方法。

3.掌握有關文件的函數。

二、實驗內容和源程序清單、測試數據、結果。

(1)對data.dat文件寫入100條記錄。(要求文件名:8_1.c)

#include int main(){ FILE *fp;

int i;

float x;

fp=fopen(“c:data.dat”,“w”);

for(i=1;i<=100;i++)

{

scanf(“%f”,&x);

fprintf(fp,“%fn”,x);

}

fclose(fp);

return 0;}

(2)設有一文件cj.dat存放了50個人的成績(英語、計算機、數學),存放格式為:每人一行,成績間由逗號分隔。計算三門課平均成績,統計個人平均成績大于或等于90分的學生人數。(要求文件名:8_2.c)

#include int main(){ FILE *fp;

int num=0;

float x , y , z , s1 , s2 , s3;

fp=fopen(“c:cj.dat”,“r”);

while(!feof(fp))

{

fscanf(fp,“%f,%f,%f”,&x,&y,&z);

s1=s1+x;

s2=s2+y;

s3=s3+z;

if((x+y+z)/3>=90)

num=num+1;

}

printf(“分數高于90的人數為:%dn”,num);

fclose(fp);

return 0;}

(3)統計上題cj.dat文件中每個學生的總成績,并將原有數據和計算出的總分數存放在磁盤文件“stud”中。(要求文件名:8_3.c)

#include “stdio.h” int main(){

FILE *fp1,*fp2;

float x,y,z;

fp1=fopen(“c:cj.dat”,“r”);

fp2=fopen(“c:stud”,“w”);

} while(!feof(fp1)){

fscanf(fp1,“%f,%f,%f”,&x,&y,&z);

printf(“%f,%f,%f,%fn”,x,y,z,x+y+z);

fprintf(fp2,“%f,%f,%f,%fn”,x,y,z,x+y+z);}

fclose(fp1);fclose(fp2);return 0;

三、實驗報告要求

將題目1、2和3的源程序、運行結果,以及實驗中遇到的問題和解決問題的方法,以及實驗過程中的心得體會,寫在實驗報告上。

下載《程序設計實踐》課程實驗內容(最終5篇)word格式文檔
下載《程序設計實踐》課程實驗內容(最終5篇).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    《C程序設計》課程實驗教學大綱(電子)

    《C程序設計》課程實驗教學大綱 (電子信息技術本科專業使用) 一、教學目標: 要求學生在掌握C語言程序設計的基本概念和語法規則的同時,掌握程序設計的基本思想和方法,培養學生的......

    Java程序設計課程實驗代碼及答案

    Java程序設計課程實驗 上機實踐1 初識JAVA ................................................................................................................. 3 實......

    《C語言程序設計(實踐)》課程教學大綱.

    《C語言程序設計(實踐)》課程教學大綱 一、課程的性質和任務 課程性質:《C語言程序設計(實踐)》是多媒體技術專業《C后續課程設計課程。 本課程的任務是:通過課程設計,為學生提供......

    Scratch程序設計課程

    Scratch程序設計課程《跳舞的女孩》教學設計與反思 在Scratch編程創作過程中,角色形狀的變化可以通過改變造型來實現,同時也可以通過特效模塊Scratch程序設計課程《跳舞的女......

    程序設計課程教學研究

    程序設計課程教學研究 摘要 學習計算機語言并進行編程訓練,是學生深入理解計算機的一個突破口,是熟悉計算機思維的一個重要途徑。但如何讓學生掌握程序設計的基本概念和基本方......

    《C程序設計基礎及實驗》教學大綱與課程簡介

    《C程序設計基礎及實驗》教學大綱 課程號:211G0020 課程名稱:《C程序設計基礎與實驗》 Fundamentals of Programming in C 周學時:2-2 學分:3 課程類別:通識 預修課程:大學計算機......

    《程序設計實踐》教學大綱

    課程編號:02202001 課程名稱:程序設計實踐 課程性質:專業基礎限選 總 學 時:30(實踐學時30)學分:2 適用專業:計算機科學與技術 《程序設計實踐》教學大綱 一、教學目標 《程序設計實......

    實驗二 定時器程序設計121

    一、 實驗目的學會使用單片機定時器產生定時中斷,并利用定時中斷產生更長時間延時。二、實驗設備及器件 IBM PC機一臺 DP-51PRO.NET單片機仿真器、編程器、實驗儀三合一綜......

主站蜘蛛池模板: 精品人妻av一区二区三区| 成熟丰满熟妇xxxxx丰满| 国产精品无码一区二区三级| 亚洲色一区二区三区四区| 免费无码午夜理论电影| 黑人巨大videos极度另类| 亚洲色无码一区二区三区| 2020国产在线拍揄自揄视频| 动漫人妻h无码中文字幕| 国产成人拍拍拍高潮尖叫| 国产午夜免费高清久久影院| 色偷偷色噜噜狠狠网站年轻人| 999国产精品999久久久久久| 人妻中文无码就熟专区| 很黄很色很污18禁免费| 国产精品美女被遭强扒开双腿| 国产高清在线精品一区不卡| 欧美性猛交xxxx免费看| 国产成人综合亚洲看片| 午夜阳光精品一区二区三区| 国产综合精品久久丫| 国产午夜亚洲精品午夜鲁丝片| 手机在线看片| 亚洲中文字幕无码一区| 国产在线精品一区二区三区不卡| 亚洲精品一区二区三区的| 欧洲精品码一区二区三区| 国产精品网红尤物福利在线观看| 丰满少妇大力进入av亚洲| 中文字幕av无码免费久久| 国产国拍亚洲精品mv在线观看| 久久国产乱子精品免费女| 国产精品无码不卡一区二区三区| 失禁潮痉挛潮喷av在线无码| 中国大陆高清aⅴ毛片| 少妇激情一区二区三区视频小说| 亚洲大色堂人在线视频| 9 9久热re在线精品视频| 精品人妻中文字幕有码在线| 在线看亚洲十八禁网站| 国产亚洲欧美看国产|