A. c語言實驗報告總結怎麼寫
c語言實驗報告總結這樣寫:
在科技高度發展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,我們學習它,有助於我們更好的了解計算機,與計算機進行交流,因此,c語言的學習對我們尤其重要。
在這個星期里,我們專業的學生在專業老師的帶領下進行了c語言程序實踐學習。在這之前,我們已經對c語言這門課程學習了一個學期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對裡面的好多東西還是很陌生,的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。
由於時間的關系,我們的這次實踐課程老師並沒有給我們詳細的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理.簡單界面程序.高級界面程序.程序的添加修改.用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。
上機實驗是學習程序設計語言必不可少的實踐環節,特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對於程序設計語言的學習目的,可以概括為學習語法規定、掌握程序設計方法、提高程序開發能力,這些都必須通過充分的實際上機操作才能完成。
學習c程序設計語言除了課堂講授以外,必須保證有不少於課堂講授學時的上機時間。因為學時所限,課程不能安排過多的統一上機實驗,所以希望學生有效地利用課程上機實驗的機會,盡快掌握用c語言開發程序的能力,為今後的繼續學習打下一個良好的基礎。
為此,我們結合課堂講授的內容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:
1、加深對課堂講授內容的'理解
課堂上要講授許多關於c語言的語法規則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語言這個工具解決實際問題,又必須掌握它。
通過多次上機練習,對於語法知識有了感性的認識,加深對它的理解,在理解的基礎上就會自然而然地掌握c語言的語法規定。對於一些內容自己認為在課堂上聽懂了,但上機實踐中會發現原來理解的偏差,這是由於大部分學生是初次接觸程序設計,缺乏程序設計的實踐所致。
學習c語言不能停留在學習它的語法規則,而是利用學到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。
通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數同學在完成老師作業時的心態。但是在程序設計領域里這是一定要克服的傳統的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去"掩蓋"程序中的錯誤,而不是盡可能多地發現程序中存在的問題。
自己編好程序上機調試運行時,可能有很多你想不到的情況發生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發能力。
2、熟悉程序開發環境、學習計算機系統的操作方法
一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環境下才能進行。所謂"環境"就是所用的計算機系統硬體、軟體條件,只有學會使用這些環境,才能進行程序開發工作。
通過上機實驗,熟練地掌握c語言開發環境,為以後真正編寫計算機程序解決實際問題打下基礎。同時,在今後遇到其它開發環境時就會觸類旁通,很快掌握新系統的使用。
3、學習上機調試程序
完成程序的編寫,決不意味著萬事大吉。你認為萬無一失的程序,實際上機運行時可能不斷出現麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運行,但是運行結果顯然是錯誤的。
開發環境所提供的編譯系統無法發現這種程序邏輯錯誤,只能靠自己的上機經驗分析判斷錯誤所在。程序的調試是一個技巧性很強的工作,對於初學者來說,盡快掌握程序調試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調試高手一眼就看出錯誤所在。
通過這次為數不多的幾天計算機實踐學習,我們了解了一些關於c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難!
B. C語言實驗報告怎麼寫
#include <stdio.h>
int main()
{
unsigned long a;
char c;
printf("Input a binary number: ");
for(a=0;(c=getchar())!=' ';)
a=a*2+c-'0';
printf("The number is %lu in decimal ",a);
printf("The number is %lo in octal ",a);
printf("The number is %lX in Hexadecimal ",a);
return 0;
}
C. C語言試驗報告該怎麼寫
實驗題目:
輸入一個班個學生的學號和每個學生考試三門功課(數學、英語、計算機基礎)的成績。編程計算出每個學生的總分和平均分,並按學生成績優劣排序,最後列印一張按高分到低分名次排序的成績單。要求:
1)排序用一個函數實現。
2)列印的成績單表項包括:序號,學號、數學、英語、計算機、總分、平均分。
3)按實驗報告電子模板格式填寫實驗內容。
實驗目的
源程序清單:
(調試好的源程序代碼)
#include <stdio.h>
#include <stdlib.h>
#define STU_NUM 10 /*宏定義學生的數量*/
struct student /*定義一個結構體用來存放學生學號、三門課成績、總分及平均成績*/
{
char stu_id[20]; /*學生學號;*/
float score[3]; /*三門課成績;*/
float total; /*總成績;*/
float aver; /*平均成績;*/
};
/*排序用一個函數來實現*/
void SortScore(student *stu,int n)
{
student stud;
for(int i = 0; i < n-1; i++)
for(int j = i+1 ; j < n; j++)
{
if(stu[i].total < stu[j].total)
{
stud = stu[i];
stu[i] = stu[j];
stu[j] = stud;
}
}
}
int main( )
{
student stu[STU_NUM]; /*創建結構體數組中有10個元素,分別用來保存這10個人的相關信息。*/
/*輸入這十個學生的相關信息*/
for(int i = 0; i<STU_NUM; i++)
{
printf("請輸入第%d個學生的學號:",i+1);
scanf("%s",&stu[i].stu_id);
printf("輸入第%d個學生的數學成績:",i+1);
scanf("%f",&stu[i].score[0]);
printf("輸入第%d個學生的英語成績:",i+1);
scanf("%f",&stu[i].score[1]);
printf("輸入第%d個學生的計算機成績:",i+1);
scanf("%f",&stu[i].score[2]);
stu[i].total = stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
stu[i].aver = stu[i].total/3;
}
printf("\n");
SortScore(stu,STU_NUM);/*調用排序函數*/
/*輸出排序後的各學生的成績*/
for(i = 0 ; i < STU_NUM; i++)
{
printf("序號: %d\t",i);
printf("學號:%s\t",stu[i].stu_id);
printf("數學:%f\t",stu[i].score[0]);
printf("英語:%f\t",stu[i].score[1]);
printf("計算機:%f\t",stu[i].score[2]);
printf("平均成績:%f\t",stu[i].aver);
printf("總分:%f\t",stu[i].total);
printf("\n\n");
}
return 0;
}
主要標識符說明:
(源程序中主要標識符含義說明)
#define STU_NUM 10 /*宏定義學生的數量*/
struct student /*定義一個結構體用來存放學生學號、三門課成績、總分及平均成績*/
{
char stu_id[20]; /*學生學號;*/
float score[3]; /*三門課成績;*/
float total; /*總成績;*/
float aver; /*平均成績;*/
};
D. C語言實驗報告怎麼寫實驗步驟高手最好給個樣板啊!
.實驗報告規范
實驗報告內容包括:
1.實驗目的:說明實驗所驗證的知識點。
2.需求分析:以無歧義的陳述說明程序設計的任務、約束條件、輸入輸出要求、對功能的規定及模型。
3.邏輯設計:說明本程序中用到的所有抽象數據類型的定義、主程序的流程以及各程序模塊之間的層次調用關系。
4.詳細設計:邏輯設計中定義的所有數據類型的實現,核心演算法的設計描述、人機界面設計、函數之間調用關系的描述,主要功能的演算法框架,測試數據設計。
5.測試分析:測試結果的分析與討論,測試過程中遇到的主要問題及採取的解決措施。
6.心得:軟體設計與實現過程中的經驗與體會,進一步改進的設想。
7.程序清單:源程序中應有足夠的注釋。如果提交源程序軟盤,列出程序文件名。
E. C語言程序設計實驗報告怎麼寫
通過本試驗初步培養計算機邏輯解題能力。熟練掌握賦值語句和if語句的應用;掌握switch多路分支語句和if嵌套語句的使用
F. 咋寫C語言實驗報告
c(c++)上機實驗報告格式:
⒈ 實驗目的
(1) 了解在具體的語言環境下如何編輯、編譯、連接和運行一個 C 程序。
⑵ 通過運行簡單的 C 程序,初步了解 C 源程序的特點。
⑶ 掌握 C 語言數據類型,熟悉如何定義一個整型、字元型和實型的變數,以及對它們賦值的方法。
⑷ 掌握不同的類型數據之間賦值的規律。
⑸ 學會使用 C 的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(--)運算符的使用。
2.實驗內容和步驟
⑴ 檢查所用的計算機系統是否已安裝了 C 編譯系統並確定他所在的子目錄。
⑵ 進入所用的集成環境。
⑶ 熟悉集成環境的界面和有關菜單的使用方法。
⑷ 輸入並運行一個簡單的、正確的程序。
⒊ 實驗題目
⑴ 輸入下面的程序
# include 「stdio.h」 void main()
{ printf(「This is a c program. 」); }
G. c語言程序設計題。實驗報告。高分。
車票系統,與你的第2題要求略有不同,你自己修改吧
#include<stdio.h>
#include<stdlib.h>
#include<dos.h>
#include<time.h>
#include<conio.h>
#include<string.h>
const int MAX=20;
const int N=50;
const int MAXFILENAME=100;
enum {FALSE,TRUE};
struct time
{
int hour;
int minutes;
};
struct ticket
{
int SerialNumber;
struct time SetOut;
char DeparturePoint[MAX];
char TerminalPoint[MAX];
float LastTime;
int FixNumber;
int FixedNumber;
}car[N];
int RecordNumber;
int FLAG=FALSE;
/**********************************************/
int ShowMessage(void); //載入原始數據
void mainmenu(void); //主菜單
void InsertMessage(void); //錄入班次信息
void SearchMenu(void); //查詢路線子菜單
void SearchByNumber(void); //按班次號查詢
void SearchByAddress(void); //按終點站查詢
void TicketManagement(void); //車票售出與退回
void TicketOrder(void); //售票
void TicketDelete(void); //退票
void exit(void); //退出該系統
/********************************************/
int main(void)
{
RecordNumber=ShowMessage();
if(1)
do{
mainmenu();
}while(FLAG==FALSE);
return 0;
}
void mainmenu(void)
{
system("color 1f");
system("mode con: cols=140 lines=130");
char functionNumber;
printf(" 車票管理系統\n\n");
printf(" 製作:hmm182007\n");
printf(" 日期:2007/11/25/19:57\n");
printf("============================================================================\n");
printf(" 1.錄入班次信息\t\n");
printf(" 2.瀏覽班次信息\t\n");
printf(" 3.查詢行車路線\t\n");
printf(" 4.售票與退票系統\t\n");
printf(" 5.退出該系統\t\n");
printf("============================================================================\n");
printf("請選擇你所需要的功能:");
scanf("%c",&functionNumber);
switch(functionNumber)
{
case '1':
{
InsertMessage();
printf("\n按任意鍵回主菜單......\n");
getchar();
getchar();
}
break;
case '2':
{
ShowMessage();
printf("\n按任意鍵回主菜單......\n");
getchar();
getchar();
}
break;
case '3':
{
SearchMenu();
printf("\n按任意鍵回主菜單......\n");
getchar();
getchar();
}
break;
case '4':
{
TicketManagement();
getchar();
getchar();
}
break;
case '5':FLAG=TRUE;exit();break;
default:
{
printf("輸入錯誤,請確保你的輸入為1--5.\n");
printf("按任意鍵回主菜單......\n");
getchar();
getchar();
}
}//switch ends
FLAG=FALSE;
}
void InsertMessage(void)
{
FILE *fp;
char filename[MAXFILENAME];
int i;
printf("請輸入文件名或者文件路徑名:");
scanf("%s",filename);
if((fp=fopen(filename,"r"))==NULL)
{
printf("文件%s不可讀,請確認文件%s存在或者文件路徑正確.\n\n",filename,filename);
mainmenu();
}
for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++)
{
fscanf(fp,"%d%d%d",&car[i].SerialNumber,&car[i].SetOut.hour,&car[i].SetOut.minutes);
fscanf(fp,"%s%s%f%d%d",&car[i].DeparturePoint,&car[i].TerminalPoint,&car[i].LastTime,&car[i].FixNumber,&car[i].FixedNumber);
}
int count=i;
printf("班次\t發車時間\t起點\t終點\t行車時間(小時)\t額定載量\t已定票人數\n");
for(i=0;i<count;i++)
{
printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);
}
fclose(fp);
}
int ShowMessage(void)
{
int i;
FILE *fp;
if((fp=fopen("add.txt","r"))==NULL)
{
printf("讀取數據失敗,請檢查文件add.txt是否存在.\n");
exit(-1);
}
for(i=0;!feof(fp)&&!ferror(fp);i++)
{
fscanf(fp,"%d%d%d",&car[i].SerialNumber,&car[i].SetOut.hour,&car[i].SetOut.minutes);
fscanf(fp,"%s%s%f%d%d",&car[i].DeparturePoint,&car[i].TerminalPoint,&car[i].LastTime,&car[i].FixNumber,&car[i].FixedNumber);
}
int count=i;
printf("班次\t發車時間\t起點\t終點\t行車時間(小時)\t額定載量\t已定票人數\n");
for(i=0;i<count;i++)
{
printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);
}
return count;
}
void SearchMenu(void)
{
system("color 1f");
system("mode con: cols=140 lines=130");
char functionNumber;
printf(" 查詢子菜單\n");
printf("============================================================================\n");
printf(" 1.按班次號查詢\t\n");
printf(" 2.按終點站查詢\t\n");
printf(" 3.返回主菜單\t\n");
printf("============================================================================\n");
printf("請選擇你所需要的功能:");
scanf("%*c%c",&functionNumber);
switch(functionNumber)
{
case '1':SearchByNumber();break;
case '2':SearchByAddress();break;
case '3':
getchar();
mainmenu();
break;
default:
printf("輸入錯誤,請確保你的輸入為1--3.\n");
printf("按任意鍵回查詢子菜單......\n");
getchar();
getchar();
SearchMenu();
}
}
void SearchByNumber(void)
{
int SearchNumber;
printf("請輸入要查詢的班次號:");
scanf("%d",&SearchNumber);
printf("班次\t發車時間\t起點\t終點\t行車時間(小時)\t額定載量\t已定票人數\n");
printf("%d\t%d:%d\t\t",car[SearchNumber-1].SerialNumber,car[SearchNumber-1].SetOut.hour,car[SearchNumber-1].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[SearchNumber-1].DeparturePoint,car[SearchNumber-1].TerminalPoint,car[SearchNumber-1].LastTime,car[SearchNumber-1].FixNumber,car[SearchNumber-1].FixedNumber);
}
void SearchByAddress(void)
{
int i;
char Address[MAX];
printf("請輸入終點站的名稱:");
scanf("%s",&Address);
printf("班次\t發車時間\t起點\t終點\t行車時間(小時)\t額定載量\t已定票人數\n");
for(i=0;i<RecordNumber;i++)
{
//對比終點站記錄,找到並輸出
if((strcmp(Address,car[i].TerminalPoint))==0)
{
printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);
}
}
}
void TicketManagement(void)
{
char functionNumber;
system("color 1f");
system("mode con: cols=140 lines=130");
printf(" 訂票與退票菜單\n");
printf("============================================================================\n");
printf(" 1.訂票\t\n");
printf(" 2.退票\t\n");
printf(" 3.返回主菜單.\n");
printf("============================================================================\n");
printf("選擇你需要的功能:");
scanf("%*c%c",&functionNumber);
switch(functionNumber)
{
case '1':
{
TicketOrder();
//getchar();
//getchar();
}
break;
case '2':TicketDelete();break;
case '3':
{
getchar();
mainmenu();
}
break;
default:
{
printf("輸入錯誤,請確保你的輸入為1--3.\n");
printf("按任意鍵回主菜單......\n");
getchar();
getchar();
mainmenu();
}
}
}
void TicketOrder(void)
{
int i;
printf("請輸入要訂購的車票的班次:");
scanf("%d",&i);
if(i<0||i>RecordNumber)
{
printf("對不起,今天沒有這趟車,請明天再來,謝謝使用!\n");
printf("按任意鍵回主菜單......\n");
getchar();//getchar();
TicketManagement();
}
time_t tval;
struct tm *now;
tval = time(NULL);
now = localtime(&tval);
if((now->tm_hour==car[i].SetOut.hour&&now->tm_min<car[i].SetOut.minutes)||(now->tm_hour<car[i].SetOut.hour))
{
if(car[i].FixedNumber<car[i].FixNumber)
{
car[i].FixedNumber++;
printf("你的訂票成功,請按時上車,謝謝使用!\n");
}
else printf("對不起,今天的這趟車的票已賣完,請明天再來,謝謝合作!\n");
}
else printf("對不起,今天的這趟車已發出,請明天再來,謝謝合作!\n");
printf("班次\t發車時間\t起點\t終點\t行車時間(小時)\t額定載量\t已定票人數\n");
printf("%d\t%d:%d\t\t",car[i-1].SerialNumber,car[i-1].SetOut.hour,car[i-1].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i-1].DeparturePoint,car[i-1].TerminalPoint,car[i-1].LastTime,car[i-1].FixNumber,car[i-1].FixedNumber);
//printf("按任意鍵回主菜單......\n");
//getchar();getchar();
}
void TicketDelete(void)
{
int i;
printf("請輸入要退購的車票的班次:");
scanf("%d",&i);
if(i<0||i>RecordNumber)
{
printf("對不起,今天沒有這趟車,無法完成退票.謝謝使用!\n");
getchar();
//getchar();
TicketManagement();
getchar();
}
time_t tval;
struct tm *now;
tval = time(NULL);
now = localtime(&tval);
if((now->tm_hour==car[i].SetOut.hour&&now->tm_min<car[i].SetOut.minutes)||(now->tm_hour<car[i].SetOut.hour))
{
if(car[i].FixedNumber>=1)
{
car[i].FixedNumber--;
printf("退訂車票成功,謝謝使用!\n");
}
else printf("對不起,今天的這趟車的票尚未賣出,無法完成退票!\n");
}
else printf("對不起,今天的這趟車已發出,無法完成退票!\n");
printf("班次\t發車時間\t起點\t終點\t行車時間(小時)\t額定載量\t已定票人數\n");
printf("%d\t%d:%d\t\t",car[i-1].SerialNumber,car[i-1].SetOut.hour,car[i-1].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t %d\t\t%d\n",car[i-1].DeparturePoint,car[i-1].TerminalPoint,car[i-1].LastTime,car[i-1].FixNumber,car[i-1].FixedNumber);
getchar();//getchar();
}
void exit(void)
{
printf("\n\n*********************謝謝使用本系統,歡迎下次繼續使用***********************\n");
exit(0);
}
H. c語言程序設計實驗報告
五、 課程設計小結心得體會
1設計思想
1)、設定一個一維數組,可先按員工序號設定每位員工的工資
2)、利用While語句和Prinft語句完成用戶菜單的設計
功能為:第1項 設為員工編號和工資數據
第2項 設為修改員工工資數據
第3項 設為查詢員工工資數據
第4項 設為結束系統
3)、當用戶選擇1、2項時,需輸入員工編號,所以需要設計編號校正功能,如果出錯可輸出「The error employe number」
4)、當選擇2時,進行工資數據的修改,並將新數據存回該員工的工資數組中
5)、利用for循環中判斷語句,將用戶工資數與數組中的工資數進行比較,如相同則輸出,將計數器加1,如此下去,直到把整個數組遍歷一遍
6)、判斷計數器是否為0, 是0表示找不到相符的工資,如果不為0,則輸出共查出幾比相符的工資
以上當然裡面也涉及了「函數的模塊化」理念,可以避免但需要重復列印頭文件時重復編寫列印信頭的語句。像這樣的程序是多見的,這樣不但降低了程序還發效率,而且耗時浪費資源「共用體」的使用簡化了程序的「復雜」性,正如(4)中,學號與姓名同時表示一個人,但在函數使用了「共用體」,從而程序的簡單可以便於糾錯,查找問題,避免了代碼的重復,這樣就給編譯時帶來了一定的難度與「量」的繁雜。一般不採取這樣的做法,力求「簡單、明了、清晰」。