網站首頁 文學常識 簡歷 公文文書 文學名著 實用文 人生哲理 作文 熱點話題作文
當前位置:文萃咖 > 實用範文 > 實習報告

C語言實習報告範文

欄目: 實習報告 / 發佈於: / 人氣:2.47W

C語言實習報告

設計報告

C語言實習報告範文

一, 實驗目的:

通過上機實習,熟練掌握循環語句、選擇語句、指針以及結構體的運用技巧。在實習中通過實際操作,編寫程序,發現問題,最後解決問題,提升對c語言實用性的理解,在實踐中鞏固各知識點。

C語言是一種計算機程式語言。它既具有高級語言的特點,又具有彙編語言的特點,上機實習可以幫助我們更好地理解這種結構式的中級語言以及其各式各樣的數據類型和高效率的運算程序,為我們進一步學習C++打下堅實基礎。

同時,在實習過程中,通過互相發現問題,共同解決問題,不僅鍛鍊了我們的合作能力,而

且也讓我們發現了一些自己的個人誤區以及其他人容易犯的錯誤,從而在今後的學習中更加謹慎,達到事半功倍的效果;通過詢問老師,也讓我們養成了不恥下問的好習慣,這將很有利於以後的學習。

閒樂-一個人閒。不如大家一塊兒樂/retype/zoom/9861aabdfd0a79563c1e72ad?pn=2&x=0&y=0&raww=312&rawh=443&o=jpg_6_0_______&type=pic&aimh=443&md5sum=5742db4fcffa47783d15ae929b606fc2&sign=17301cfe1e&zoom=&png=276-8578&jpg=0-25354" target="_blank">點此查看

<通過冒泡法對數組進行排序>

<測試時由於循環語句循環次數的錯誤導致部分數據沒有排序,修改for語言中的條件即可調試成功>

2,程序:

#includeint main() { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定義一個數組a[11],用以存放學生的成績 printf("從鍵盤輸入10個學生成績: "); for(i=0;i<10;i++)scanf("%d",&a[i]);//輸入10個學生成績 for(i=0;i<9;i++)for(j=0;j<9-i;j++) if(a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} //採用冒泡法,將學生成績按照從高到低進行排序

printf("10個學生成績數組: "); for(i=0;i<10;i++)printf("%5d",a[i]);

printf(" "); printf("再輸入一個學生的成績 ");

scanf("%d",&b); //再輸入一個學生的`成績c=a[9]; if(b<c)//將此成績按照排序規律插入原學生成績數組a[10]=b; else {for(i=0;i<10;i++) {if(a[i]<b) {temp1=a[i];a[i]=b; for(j=i+1;j<11;j++) {temp2=a[j];a[j]=temp1;temp1=temp2; }break; } } }

printf("11個學生成績數組: "); for(i=0;i<11;i++) printf("%5d",a[i]);printf(" ");

for(i=0;i<5;i++) {temp3=a[i];a[i]=a[10-i];a[10-i]=temp3; }

printf("排好序的成績單進行反序存放為: ");

for(i=0;i<11;i++) printf("%5d",a[i]);printf(" ");return 0; }

3,運行結果:

//輸入11個學生成績 //排好序的成績單進行反序存放 //輸出反序存放後的學生成績數組

C語言實訓報告

課題名稱: 通訊錄管理系統

專 業:計算機信息管理

班 級:09信管(1)班

學 號:

姓 名:

指導教師

2010 年 7 月 1 日

目 錄

1 課程設計目的??????????????????? 1

2 課程設計題目??????????????????? 1

3 課程設計報告內容????????????????? 1

4 結論??????????????????????? 10

5 結束語?????????????????????? 10

6 參考書目????????????????????? 10

7 程序運行????????????????????? 10

8 附錄:(源程序清單)???????????????? 12

一、課程設計題目

《通訊錄管理系統》

二、實訓目的

(1)掌握結構化程序設計的基本方法,基本掌握面向對象程序設計的基本思路和方法。

(2)掌握C的基本概念和基礎知識。

(3)通過訓練能夠讀懂較為複雜的C語言源程序並具備基本C語言程序設計的能力。

(4)熟練掌握各種常用類的定義,繼承,文件的應用,為更好的理解面向對象打下更好的基礎。

(5)通過實訓,培養自己編寫、調試、分析大型應用程序的能力。

(6)掌握面向對象的基本原理,提高學生綜合程序設計的能力。

(7)培養自己獨立解決問題,查找資料的能力。同學之間相互幫助,相互交流,相互合作的團隊精神。

(8) 培養自己良好的學習興趣,獨立的編程風格。

(9) 通過實訓檢查自己學習上的不足,達到熟練掌握C語言的基本知識和技能。

三、課程設計報告內容

3.1功能要求

該系統運行在DOS環境下,人機界面為命令行文本界面。完成的任務是對若干人的通信錄信息進行管理,且數據保存到文件中。

實現的主要功能是:

? 添加:增加一個或幾個人的通信錄信息。

? 刪除:刪除已輸入的通信錄信息。

? 查詢:根據輸入的姓名查找通信錄信息。

? 修改:根據輸入的姓名修改通信錄信息。

? 顯示:輸出所有通信錄信息。

3.2 設計環境

所使用的語言採用標準C,開發工具選用在Windows環境下的C-free、Win-TC或者Visual C++ 6.0。

3.3 數據結構

本系統是對通信錄的信息進行管理,通信錄記錄的信息採用C的結構體數據類型描述,定義如下:

struct ren /*定義個人資料結構體類型*/

{

char name[10];/*姓名*/

int age; /*年齡*/

char tel[12]; /*電話號碼*/

char city[20];/*城市 */

char units[30] ; /*所在單位*/

char note[20]; /*備註*/

};

3.4實現方法及主要算法分析

(1)主界面的設計:主界面採用文本菜單的形式,各功能調用通過菜單進行選擇。採用循環處理,以便執行完某項處理後,仍可選擇其他項處理。在循環內先顯示提示信息,然後讀取用户輸入,使用switch語句對用户的輸入進行判斷,分別調用相應的模塊,當某模塊結束後再次回到文本菜單,直到用户選擇結束程序菜單,才退出循環,從而退出系統。

(2) 外部文件的類型:文件採用的二進制的文件,對文件的讀寫採用順序文件的方式,並使用fread和fwrite等函數對文件進行操作。

(3)清屏函數:一般由上一級菜單屏幕進入下一級菜單屏幕或由下一級菜單屏幕返回上一級菜單屏幕都需要清除屏幕原來顯示的內容。同時在調用程序的過程中,記錄需要清屏的位置,然後修改代碼,加入clrscr()函數清屏。

(4)提示信息:一般的輸入與輸出需有相應的提示信息,以增加用户的交互性,增加輸出的可讀性,以幫助用户使用程序。

(5)設置顏色:textbackground()、textcolor()函數設置背景和前景顏色

(6)光標定位:gotoxy(列,行); 光標定位

3.5模塊設計

根據功能要求,本系統為五大主要模塊,具體模塊如表所示。

表 通訊錄管理管理系統的模塊

3.6處理流程

c語言實訓報告

C課程設計

一、課程設計目的

《C語言課程設計》是信息類專業的重要實踐性課程。目的在於學習完《C語言程序設計》課程後進行的一次全面的綜合練習。通過課程設計,一方面可以結合課程的教學內容循序漸進地進行設計方面的實踐訓練,另一方面,在參與一系列子項目的實踐過程中,還能提高如何綜合運用所學知識解決實際問題的能力,以及獲得相關項目管理和團隊合作等眾多方面的具體經驗。為後續課程:面向對象程序設計、Visual C++,數據結構,軟件工程,軟件技術基礎等奠定必要的實踐基礎。

設計目的如下:

1、進一步培養學生結構化程序設計的思想,加深對高級語言基本語言要素和控制結構的理解。

2、針對C語言中的重點和難點內容進行訓練,獨立完成有一定工作量的程序設計任務,同時強調好的程序設計風格。

3、掌握C語言的編程技巧和上機調試程序的方法。

4、掌握程序設計中的常用算法。

二、課程設計題目及要求

1、基礎訓練題目

1.1基礎

1.1.1寫出下面程序的輸出結果。

1)#include

main( )

{

int x;

x=-3+4*5-6;printf(“%d ”,x);

x=3+4%5-6; printf(“%d ”,x);

x=-3*4%4-6/5; printf(“%d ”,x);

x=(7+6)%5/2; printf(“%d ”,x);

}

2)# include

main()

{

int x=5;

int y=6;

int z=7;

printf(" %d %d %d %d %d %d %d ",x>y,y>x,x!=y,x==z-2,x=x-2,x>=z,x<=z);

}

3 ) #include

main()

{

int x=0,y=-1,z=1;

printf("%d,%d,%d,%d,%d,%d",x&&y,x||y,y&&z,y||z,x&y,x|y);

}

1.2順序結構

1)已知三角形的底和高,求三角形的面積

法一、 #include

main()

{

float a,b;

scanf("a=%f,b=%f",&a,&b);

printf("MJ=%.2f",(a*b)/2.0);

}

法二、 #include

main()

{

float a,b,s;

scanf("a=%f,b=%f",&a,&b);

s=a*b/2;

printf("s=%.1f",s);

}

2)若已知某銀行一年定期的存款年利率,輸入存款額,計算三年後本利之和並輸出。 年利率rate,存款期n,存款本金capital,本利之和deposit。

#include

#include

main()

{

int n=3;

double rate=0.02;

double capital;

double deposit;

printf("Please ente capital:");

scanf("%lf",&capital);

deposit=capital*pow(1+rate,n);

printf("deposit=%.2f ",deposit);

}

#define N 3 改4

#define RATE 0.02 改0..01

#include

#include

main()

{

double capital;

double deposit;

printf("Please ente capital:");

scanf("%lf",&capital);

deposit=capital*pow(1+RATE,N);

printf("deposit=%.2f ",deposit);

}

1.3選擇結構

1)輸入四個整數,要求按大小順序輸出

# include

main()

{

int a,b,c,d,t;

printf("please input 四個整數 ");

scanf("%d%d%d%d ",&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%d ",a,b,c,d);

}

# include

main()

{

int a,b,c,d,t;

printf("please input 四個整數 ");

scanf("%d%d%d%d ",&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%d ",a,b,c,d);

getch();

}

2)編寫程序實現:輸入一個百分制成績。要求書出成績的等級‘A? ?B? ?C? ?D? ?E?,90分以上為 ?A?,81~89分為 ?B?,70~79為 ?C?,60~69為 ?D?,60分一下為 ?E?。

#include

main()

{

int x;

printf("Please chengji: ");

scanf("%d",&x);

if(x>=90)

{

printf("A ");