C語(yǔ)言實(shí)習(xí)報(bào)告范文
C語(yǔ)言實(shí)習(xí)報(bào)告
設(shè)計(jì)報(bào)告
一, 實(shí)驗(yàn)?zāi)康模?/p>
通過(guò)上機(jī)實(shí)習(xí),熟練掌握循環(huán)語(yǔ)句、選擇語(yǔ)句、指針以及結(jié)構(gòu)體的運(yùn)用技巧。在實(shí)習(xí)中通過(guò)實(shí)際操作,編寫程序,發(fā)現(xiàn)問(wèn)題,最后解決問(wèn)題,提升對(duì)c語(yǔ)言實(shí)用性的理解,在實(shí)踐中鞏固各知識(shí)點(diǎn)。
C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn),上機(jī)實(shí)習(xí)可以幫助我們更好地理解這種結(jié)構(gòu)式的中級(jí)語(yǔ)言以及其各式各樣的數(shù)據(jù)類型和高效率的運(yùn)算程序,為我們進(jìn)一步學(xué)習(xí)C++打下堅(jiān)實(shí)基礎(chǔ)。
同時(shí),在實(shí)習(xí)過(guò)程中,通過(guò)互相發(fā)現(xiàn)問(wèn)題,共同解決問(wèn)題,不僅鍛煉了我們的合作能力,而
且也讓我們發(fā)現(xiàn)了一些自己的個(gè)人誤區(qū)以及其他人容易犯的錯(cuò)誤,從而在今后的學(xué)習(xí)中更加謹(jǐn)慎,達(dá)到事半功倍的效果;通過(guò)詢問(wèn)老師,也讓我們養(yǎng)成了不恥下問(wèn)的好習(xí)慣,這將很有利于以后的學(xué)習(xí)。
閑樂(lè)-一個(gè)人閑。不如大家一塊兒樂(lè)/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">點(diǎn)此查看
<通過(guò)冒泡法對(duì)數(shù)組進(jìn)行排序>
<測(cè)試時(shí)由于循環(huán)語(yǔ)句循環(huán)次數(shù)的錯(cuò)誤導(dǎo)致部分?jǐn)?shù)據(jù)沒(méi)有排序,修改for語(yǔ)言中的條件即可調(diào)試成功>
2,程序:
#includeint main() { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定義一個(gè)數(shù)組a[11],用以存放學(xué)生的成績(jī) printf("從鍵盤輸入10個(gè)學(xué)生成績(jī): "); for(i=0;i<10;i++)scanf("%d",&a[i]);//輸入10個(gè)學(xué)生成績(jī) 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;} //采用冒泡法,將學(xué)生成績(jī)按照從高到低進(jìn)行排序
printf("10個(gè)學(xué)生成績(jī)數(shù)組: "); for(i=0;i<10;i++)printf("%5d",a[i]);
printf(" "); printf("再輸入一個(gè)學(xué)生的成績(jī) ");
scanf("%d",&b); //再輸入一個(gè)學(xué)生的成績(jī)c=a[9]; if(b<c)//將此成績(jī)按照排序規(guī)律插入原學(xué)生成績(jī)數(shù)組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個(gè)學(xué)生成績(jī)數(shù)組: "); 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("排好序的成績(jī)單進(jìn)行反序存放為: ");
for(i=0;i<11;i++) printf("%5d",a[i]);printf(" ");return 0; }
3,運(yùn)行結(jié)果:
//輸入11個(gè)學(xué)生成績(jī) //排好序的成績(jī)單進(jìn)行反序存放 //輸出反序存放后的`學(xué)生成績(jī)數(shù)組
C語(yǔ)言實(shí)訓(xùn)報(bào)告
課題名稱: 通訊錄管理系統(tǒng)
專 業(yè):計(jì)算機(jī)信息管理
班 級(jí):09信管(1)班
學(xué) 號(hào):
姓 名:
指導(dǎo)教師:
2010 年 7 月 1 日
目 錄
1 課程設(shè)計(jì)目的??????????????????? 1
2 課程設(shè)計(jì)題目??????????????????? 1
3 課程設(shè)計(jì)報(bào)告內(nèi)容????????????????? 1
4 結(jié)論??????????????????????? 10
5 結(jié)束語(yǔ)?????????????????????? 10
6 參考書目????????????????????? 10
7 程序運(yùn)行????????????????????? 10
8 附錄:(源程序清單)???????????????? 12
一、課程設(shè)計(jì)題目
《通訊錄管理系統(tǒng)》
二、實(shí)訓(xùn)目的
。1)掌握結(jié)構(gòu)化程序設(shè)計(jì)的基本方法,基本掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本思路和方法。
。2)掌握C的基本概念和基礎(chǔ)知識(shí)。
。3)通過(guò)訓(xùn)練能夠讀懂較為復(fù)雜的C語(yǔ)言源程序并具備基本C語(yǔ)言程序設(shè)計(jì)的能力。
(4)熟練掌握各種常用類的定義,繼承,文件的應(yīng)用,為更好的理解面向?qū)ο蟠蛳赂玫幕A(chǔ)。
(5)通過(guò)實(shí)訓(xùn),培養(yǎng)自己編寫、調(diào)試、分析大型應(yīng)用程序的能力。
。6)掌握面向?qū)ο蟮幕驹,提高學(xué)生綜合程序設(shè)計(jì)的能力。
。7)培養(yǎng)自己獨(dú)立解決問(wèn)題,查找資料的能力。同學(xué)之間相互幫助,相互交流,相互合作的團(tuán)隊(duì)精神。
。8) 培養(yǎng)自己良好的學(xué)習(xí)興趣,獨(dú)立的編程風(fēng)格。
。9) 通過(guò)實(shí)訓(xùn)檢查自己學(xué)習(xí)上的不足,達(dá)到熟練掌握C語(yǔ)言的基本知識(shí)和技能。
三、課程設(shè)計(jì)報(bào)告內(nèi)容
3.1功能要求
該系統(tǒng)運(yùn)行在DOS環(huán)境下,人機(jī)界面為命令行文本界面。完成的任務(wù)是對(duì)若干人的通信錄信息進(jìn)行管理,且數(shù)據(jù)保存到文件中。
實(shí)現(xiàn)的主要功能是:
? 添加:增加一個(gè)或幾個(gè)人的通信錄信息。
? 刪除:刪除已輸入的通信錄信息。
? 查詢:根據(jù)輸入的姓名查找通信錄信息。
? 修改:根據(jù)輸入的姓名修改通信錄信息。
? 顯示:輸出所有通信錄信息。
3.2 設(shè)計(jì)環(huán)境
所使用的語(yǔ)言采用標(biāo)準(zhǔn)C,開(kāi)發(fā)工具選用在Windows環(huán)境下的C-free、Win-TC或者Visual C++ 6.0。
3.3 數(shù)據(jù)結(jié)構(gòu)
本系統(tǒng)是對(duì)通信錄的信息進(jìn)行管理,通信錄記錄的信息采用C的結(jié)構(gòu)體數(shù)據(jù)類型描述,定義如下:
struct ren /*定義個(gè)人資料結(jié)構(gòu)體類型*/
{
char name[10];/*姓名*/
int age; /*年齡*/
char tel[12]; /*電話號(hào)碼*/
char city[20];/*城市 */
char units[30] ; /*所在單位*/
char note[20]; /*備注*/
};
3.4實(shí)現(xiàn)方法及主要算法分析
。1)主界面的設(shè)計(jì):主界面采用文本菜單的形式,各功能調(diào)用通過(guò)菜單進(jìn)行選擇。采用循環(huán)處理,以便執(zhí)行完某項(xiàng)處理后,仍可選擇其他項(xiàng)處理。在循環(huán)內(nèi)先顯示提示信息,然后讀取用戶輸入,使用switch語(yǔ)句對(duì)用戶的輸入進(jìn)行判斷,分別調(diào)用相應(yīng)的模塊,當(dāng)某模塊結(jié)束后再次回到文本菜單,直到用戶選擇結(jié)束程序菜單,才退出循環(huán),從而退出系統(tǒng)。
(2) 外部文件的類型:文件采用的二進(jìn)制的文件,對(duì)文件的讀寫采用順序文件的方式,并使用fread和fwrite等函數(shù)對(duì)文件進(jìn)行操作。
。3)清屏函數(shù):一般由上一級(jí)菜單屏幕進(jìn)入下一級(jí)菜單屏幕或由下一級(jí)菜單屏幕返回上一級(jí)菜單屏幕都需要清除屏幕原來(lái)顯示的內(nèi)容。同時(shí)在調(diào)用程序的過(guò)程中,記錄需要清屏的位置,然后修改代碼,加入clrscr()函數(shù)清屏。
(4)提示信息:一般的輸入與輸出需有相應(yīng)的提示信息,以增加用戶的交互性,增加輸出的可讀性,以幫助用戶使用程序。
。5)設(shè)置顏色:textbackground()、textcolor()函數(shù)設(shè)置背景和前景顏色
(6)光標(biāo)定位:gotoxy(列,行); 光標(biāo)定位
3.5模塊設(shè)計(jì)
根據(jù)功能要求,本系統(tǒng)為五大主要模塊,具體模塊如表所示。
表 通訊錄管理管理系統(tǒng)的模塊
3.6處理流程
c語(yǔ)言實(shí)訓(xùn)報(bào)告
C課程設(shè)計(jì)
一、課程設(shè)計(jì)目的
《C語(yǔ)言課程設(shè)計(jì)》是信息類專業(yè)的重要實(shí)踐性課程。目的在于學(xué)習(xí)完《C語(yǔ)言程序設(shè)計(jì)》課程后進(jìn)行的一次全面的綜合練習(xí)。通過(guò)課程設(shè)計(jì),一方面可以結(jié)合課程的教學(xué)內(nèi)容循序漸進(jìn)地進(jìn)行設(shè)計(jì)方面的實(shí)踐訓(xùn)練,另一方面,在參與一系列子項(xiàng)目的實(shí)踐過(guò)程中,還能提高如何綜合運(yùn)用所學(xué)知識(shí)解決實(shí)際問(wèn)題的能力,以及獲得相關(guān)項(xiàng)目管理和團(tuán)隊(duì)合作等眾多方面的具體經(jīng)驗(yàn)。為后續(xù)課程:面向?qū)ο蟪绦蛟O(shè)計(jì)、Visual C++,數(shù)據(jù)結(jié)構(gòu),軟件工程,軟件技術(shù)基礎(chǔ)等奠定必要的實(shí)踐基礎(chǔ)。
設(shè)計(jì)目的如下:
1、進(jìn)一步培養(yǎng)學(xué)生結(jié)構(gòu)化程序設(shè)計(jì)的思想,加深對(duì)高級(jí)語(yǔ)言基本語(yǔ)言要素和控制結(jié)構(gòu)的理解。
2、針對(duì)C語(yǔ)言中的重點(diǎn)和難點(diǎn)內(nèi)容進(jìn)行訓(xùn)練,獨(dú)立完成有一定工作量的程序設(shè)計(jì)任務(wù),同時(shí)強(qiáng)調(diào)好的程序設(shè)計(jì)風(fēng)格。
3、掌握C語(yǔ)言的編程技巧和上機(jī)調(diào)試程序的方法。
4、掌握程序設(shè)計(jì)中的常用算法。
二、課程設(shè)計(jì)題目及要求
1、基礎(chǔ)訓(xùn)練題目
1.1基礎(chǔ)
1.1.1寫出下面程序的輸出結(jié)果。
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順序結(jié)構(gòu)
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)若已知某銀行一年定期的存款年利率,輸入存款額,計(jì)算三年后本利之和并輸出。 年利率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選擇結(jié)構(gòu)
1)輸入四個(gè)整數(shù),要求按大小順序輸出
# include
main()
{
int a,b,c,d,t;
printf("please input 四個(gè)整數(shù) ");
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 四個(gè)整數(shù) ");
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)編寫程序?qū)崿F(xiàn):輸入一個(gè)百分制成績(jī)。要求書出成績(jī)的等級(jí)‘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 ");
【C語(yǔ)言實(shí)習(xí)報(bào)告范文】相關(guān)文章:
C語(yǔ)言面試筆試題07-28
實(shí)習(xí)記者的實(shí)習(xí)報(bào)告范文03-20
實(shí)習(xí)生實(shí)習(xí)報(bào)告寫作范文03-20
頂崗個(gè)人實(shí)習(xí)報(bào)告范文03-14
有關(guān)音樂(lè)實(shí)習(xí)報(bào)告范文03-19
社會(huì)實(shí)習(xí)的報(bào)告范文03-19
大班語(yǔ)言領(lǐng)域說(shuō)課稿范文02-07
教師語(yǔ)言自查報(bào)告01-17