編程實驗報告
Ⅰ c++學習過程的實驗報告
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{ int n=0,s=0,x,i,max,min,a[11];
cin>>x;
while(x>=0)
{ a[n]=x;
s+=x;
if(n++==0)max=min=x;
else if(x>max)max=x;
else if(x<min)min=x;
cin>>x;
}
for(i=0; i<n; i++)
cout<<a[i]<<", ";
cout<<" 學生的人數:"<<n;
cout<<" 學生的總分是:"<<s;
cout<<" 學生的平均分是:"<<(double)s/n;
cout<<" 學生的最高分是:"<<max;
cout<<" 學生的最低分是:"<<min<<endl;
system("pause");
return 0;
}
Ⅱ 計算機程序設計基礎的實驗報告怎麼寫
1
實驗要求
:
1.
實驗前按實驗報告格式要求,寫出預實驗報告,注意留出記錄結果的空間。
2.
認真實驗
,
注意記錄
3.
撰寫實驗報告
.
按時上交
.
實驗報告格式:
實驗
*
***** ***** *****
一、
實驗目的
照抄實驗指導的內容。
二、
實驗步驟和內容
包括:
1
.實驗題目要求。
2
.源程序清單
3
.預期結果
3
.上機執行或調試結果:包括原始數據、相應的運行結果和必要的說明
三、
實驗體會
調試中遇到的問題及解決辦法;若最終未完成調試,要試著分析原因;調試程
序的心得與體會;其他演算法的存在與實踐;對課程及實驗的建議等。
Ⅲ 咋寫c語言實驗報告
c(c++)上機實驗報告格式:
⒈ 實驗目的
(1) 了解在具體的語言環境下如何編輯、編譯、連接和運行一個 C 程序。
⑵ 通過運行簡單的 C 程序,初步了解 C 源程序的特點。
⑶ 掌握 C 語言數據類型,熟悉如何定義一個整型、字元型和實型的變數,以及對它們賦值的方法。
⑷ 掌握不同的類型數據之間賦值的規律。
⑸ 學會使用 C 的有關算術運算符,以及包含這些運算符的表達式,特別是自加(++)和自減(--)運算符的使用。
2.實驗內容和步驟
⑴ 檢查所用的計算機系統是否已安裝了 C 編譯系統並確定他所在的子目錄。
⑵ 進入所用的集成環境。
⑶ 熟悉集成環境的界面和有關菜單的使用方法。
⑷ 輸入並運行一個簡單的、正確的程序。
⒊ 實驗題目
⑴ 輸入下面的程序
# include 「stdio.h」 void main()
{ printf(「This is a c program. 」); }
Ⅳ 有誰能夠告訴我c語言的實驗報告怎麼寫
實驗題目:
編程實現:二叉樹採用二叉鏈表存儲,要求建立一棵二叉樹,並輸出要求的樹狀形式與結點編號。
結點結構為:
lchied Data num rchied
其中二叉樹的num編號域為整數類型,data數據域為字元類型,
要求生成二叉樹中編號,從1開始進行連續編號,每個結點的編號大於其左右子樹中孩子的編號,同一個結點的左右孩子中,其左孩子的編號小於其右孩子的編號,
請給出對二叉樹中結點的實現如上要求編號並按如下樹狀形式列印出相應點編號的程序。
測試數據:輸入 AB∪D∪∪CE∪F∪∪∪ (其中符號「∪」表示空格(space)字元)
實驗分析:
本題的考察點:二叉樹遍歷應用。本題主要涉及到對二叉樹的創建,二叉樹的列印,以及在遍歷的時候順便給每個節點編號,這樣列印的時候順便就把節點的序號也列印出來了。下面分別給出三個演算法。
二叉樹的創建演算法:
二叉樹的列印演算法:
給結點的編號演算法:
另外在這里也闡明一下二叉樹的結構:
結合上面的四個演算法,這個問題自然也就迎刃而解了,這樣也就能得到這個問題的完整程序。
完整程序如下:
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
int num;
char data;
struct BiTNode *LChild,*RChild;
}BiTNode,*BiTree;
void CreateBiTree(BiTree *BT)
{
char ch;
ch=getchar();
if (ch==' ') (*BT)=NULL; /* #代表空指針*/
else
{
(*BT)=(BiTree) malloc(sizeof(BiTNode));/*申請結點 */
(*BT)->data=ch; /*生成根結點 */
CreateBiTree(&((*BT)->LChild)); /*構造左子樹 */
CreateBiTree(&((*BT)->RChild)); /*構造右子樹 */
}
}
void print(BiTree root,int nlayer)
{
int i;
if(root==NULL)return;
print(root->RChild,nlayer+4);
for(i=0;i<nlayer;i++)
printf(" ");
printf("%c%d\n",root->data,root->num);
print(root->LChild,nlayer+4);
}
void num(BiTree bt)
{
static int i=1; //定義靜態全局變數
if(bt!=NULL)
{
num(bt->LChild);
num(bt->RChild);
bt->num=i;
i++;
}
}
int main()
{
BiTree bt;
printf("請輸入相關字元以創建一個二叉樹:\n");
CreateBiTree(&bt);
num(bt);
print(bt,1);
return 0;
}
程序的測試結果:
實驗總結:
在解決具體的實驗問題時,我們要分析問題,將一個大的問題細分為一個個小的問題,再去分析解決一個個小的問題,這樣就能很好的解決問題了。在平時的實驗過程中,要注重培養自己的分析問題及解決問題的能力。
大致一個流程和格式是這樣的,具體的可以自己添加。。。。
Ⅳ 2021大學生計算機實驗總結報告
實驗相對於每個人來說都有著特殊的意義,一般意義上來說他肯定是都會有不一樣的 心得體會 ,對於那些學習過實驗後的人來說記錄下這些心得體會是十分重要的,寫一份實驗心得體會他不僅僅能抒發自己的情感,與此同時我們還能學會做人,下面就讓我帶你去看看大學生計算機實驗 總結 報告 範文 5篇1,望能幫助到大家!
更多的計算機實驗總結請點擊下方↓↓↓
★計算機實訓總結範文5篇★
★大學生計算機實習總結報告★
★計算機實訓報告範文精選5篇★
★大學生計算機實習報告總結3000字★
計算機實驗報告1
一、實驗目的
1.掌握Word文檔的創建、並按指定路徑、指定文件名保存文件。
2.掌握文檔中文字的快速輸入並設置:文字的字型大小、字體、字顏色、行間距、字間距等格式。
3.掌握文檔中段落的分欄、首字下沉、底紋、邊框、頁眉頁腳等的設置 方法 。
4.掌握文檔中插入藝術字、剪貼畫、圖片及公式的方法、並設置其版式及圖片文字說明。 5.掌握規則、非規則表格的設計。
5.掌握使用Word軟體對論文、科技 文章 進行排版。
6.掌握文檔中頁面設置、文字的字體字型大小、顏色、行間距、字間距的設置。 8.掌握分頁、分節要點,按不同章節的要求,設置不同的頁眉、頁腳。
7.掌握正文及三級標題的設置,並自動生成目錄(或有修改後同步該目錄)。 10.掌握論文封面的設計。
二、實驗內容
1.單文檔圖文混排。
2.長文檔排版。
三、實驗過程及結果
計算機系統由計算機系統賴以工作的實體。後者是各種程序和文件,用於指揮全系統按指定的要求進行工作。
通常所說的計算機均指數字計算機,其運算處理的數據,是用離散數字量表示的。而模擬計算機運算處理的數據是用連續模擬量表示的。模擬機和數字機相比較,其速度快、與物理設備介面簡單,但精度低、使用困難、穩定性和可靠性差、價格昂貴。故模擬機已趨淘汰,僅在要求響應速度快,但精度低的場合尚有應用。把二者優點巧妙結合而構成的混合型計算機,尚有一定的生命力。
硬體和軟體兩部分組成。硬體包括中央處理機、存儲器和外部設備等;軟體是計算機的運行程序和相應的文檔。計算機系統具有接收和存儲信息、按程序快速計算和判斷並輸出處理計算機系統由硬體(子)系統和軟體(子)系統組成。前者是藉助電、磁、光、機械等原理構成的各種物理部件的有機組合,是電子計算機分數字和模擬兩類。
計算機實驗報告2
計算機網路課程的實驗不同於以前做過的C語言上機實驗和數據結構上機實驗,後兩者都是編程的,要求的是個人對基礎知識的掌握和熟練的應用,簡單地說就是一個人的戰場。而計算機網路課程則是一門操作性很強的課程,很多時候它更要求我們注重團隊之間的交流與配合,而不是獨自完成。
第一次實驗是雙絞線的製作,通過這個實驗讓我學到了如何製作雙絞線,也是我大學期間第一次做操作性這么強的實驗。以前的實驗都是編程,而這一次的實驗卻是完完全全地讓我們自己動手。剝皮->排序->理直->剪齊->插入->壓線,雖然實驗過去了有一段時間,但是還是能清楚地記得做法。雖然最後我們的實驗沒有成功,但是這並不代表我們沒有收獲。
第二次的實驗是Linu__的使用與DNS伺服器的配置與管理。在課堂上,由於機子的問題,Linu__不能成功打開。於是就學習了一下DNS伺服器的配置和管理。通過學習,我知道了如何添加DNSZone,如何添加主要區域,正向搜索和反向搜索,添加DNSDomain,如何設置DNS伺服器的動態更新,如何修改區域傳輸的通知列表等等。關於Linu__,下課後仍然不死心,自己在網上下了個Linu__ 操作系統 ,然後在同學的指導下一步步地裝好了。雖然說最後沒怎麼用,自己也不會用。但是當打開操作系統的那一瞬間,那個華麗麗的界面還是讓我深深地震撼了一把。不得不感嘆Linu__真的好高級。我相信,不久之後,我一定可以熟練操作Linu__系統的。
第三次試驗是有關聊天軟體和點歌軟體的配置和運用。在這個實驗里,我們開始有了更明確的分工,一個同學做客戶端,一個同學做服務端,在做這些之前,要首先修改我們的IP。但是後來我想,其實根本沒必要修改IP,實驗課程裡面要求我們修改IP,不過是讓我們對此更熟悉而已。在這次的實驗中,我扮演的是服務端的角色,按照實驗要求一步一步地操作,我們成功地用RT__軟體語音聊天。也成功地用DJ點歌服務為對方點歌。其實這次實驗給我的感覺,有點像運營商與用戶的關系,運營商通過相關設置,讓用戶可以訪問其客戶端進行相關的操作。這次的實驗為之後的模擬網站發布奠定了一定的基礎。
隨後的幾周,我們又進行了網站發布,模擬小型區域網的實驗。通過這些實驗,讓我們對身邊的計算機網路有了更為客觀、形象、具體的認識。而不是僅僅限於書本上的文字表達,或者是思維中模糊的想像。這門實驗課程,不僅是對理論課程的鞏固,更是對理論課程的擴充。除此之外,在實驗過程了,我們學會了相互合作,相互幫助,了解了團隊合作的重要性,也知道了怎麼樣和團隊成員之間協調。要想實驗成功,必須要確保每一個環節,每一個團隊成員負責的版塊都沒有出錯,合起來,整個實驗的最終目標才可以實現。
計算機實驗報告3
課程:大學計算機基礎 班級 : __________ 學號:____ 姓名:______組別: 同組者姓名: 儀器編號: 實驗日期:
實驗 windows 2000 操作[實驗目的]1. 掌握windows 2000的啟動和退出。熟悉windows 2000的桌面環境,掌握「回收站」、任務欄、幫助菜單的使用。2. 掌握windows 2000的窗口、菜單以及對話框的操作。掌握「資源管理器」和「我的電腦」的使用。3. 掌握文件與文件夾的創建、移動、復制等基本操作。4. 掌握應用程序的安裝與刪除、移動與退出,快捷方式的創建與刪除。5. 掌握windows 2000系統的設置,了解windows2000 附件的使用。[實驗環境]硬體:pentium 以上的計算機。軟體:windows2000 操作系統。[實驗內容]
見附件[實驗結果]1.建立了如下圖所示目錄樹:d: user new1.cod a user2 b bbb new2.docbbb2.完成了「計算機」快捷方式的創建。3.完成了控制面板中顯示、區域選項等屬性的設置。 實驗指導教師(簽名) 實驗成績 實驗報告批改日期: 實驗內容:2.(1)打開b文件夾 選中bbb 單擊右鍵後選擇「復制」命令 打開user文件夾 在空白處單擊右鍵後選擇「粘貼」命令。 (2)打開user文件夾 選中b 單擊右鍵後選擇「剪切」命令 打開a文件夾 在空白處單擊右鍵後選擇「粘貼」命令。 (3)打開user文件夾 選中c 單擊右鍵後選擇「刪除」命令。3.(1)單擊「開始」按鈕後選擇「搜索/文件或文件夾」命令 在搜索對話框的文件名欄中輸入「calc.e__e」 單擊「搜索」按鈕 選中找到的程序 單擊右鍵選擇「發送到桌面快捷方式」。 (2)選中桌面上的「calc.e__e」快捷圖標 右鍵單擊後選擇「重命名」 輸入「計算器」。(3)選中桌面「計算器」快捷圖標 按滑鼠左鍵拖動到「開始」菜單的「程序」選項中。(4)選中桌面上的「計算器」快捷圖標 按滑鼠左鍵拖動到「回收站」圖標上 在確認對話框中單擊「是」。4.(1)打開「控制面板」窗口 雙擊 顯示器 圖標 單擊「屏幕保護程序」選項卡 在「屏幕保護程序」下拉列表框中選擇「滾動字幕」 單擊設置按鈕 出現的對話框分別做相應的設置 單擊「應用」按鈕 單擊「確定」按鈕。 (2)打開「控制面板」窗口 雙擊顯示器圖標 單擊「圖案」按鈕 在圖案列表框中選擇「clouds」 在「顯示圖片」列表框中選擇「居中」 單擊「應用」 單擊「確定」。 (3)打開「控制面板」窗口 雙擊「區域選項」圖標 單擊「貨幣」選項卡 在「貨幣符號」下拉列表框中選擇「$」 在「貨幣正數格式」下拉列表框中選擇「¥1.1」 在「貨幣負數格式」下拉列表框中選擇「-¥1.1」 單擊「應用」按鈕 單擊「確定」按鈕。(4)打開「控制面板」窗口 雙擊「區域選項」圖標 單擊「數字」選項卡 在「小數點後面的位數」下拉列表框中選擇「2」 在「數字分組符號」下拉列表框中選擇「,」 在「組中數字個數」下拉列表框中選擇「123,456,789」 單擊「應用」按鈕 單擊「確定」按鈕。(5)打開「控制面板」窗口 雙擊「區域選項」圖標 單擊「日期」選項卡 在「短日期格式」下拉列表框中選擇「yy-mm-dd」 單擊「應用」按鈕 單擊「確定」按鈕。(6) 單擊「時間」選項卡 在「時間格式」下拉列表框中選擇「hh:mm:ss」 在「上午格式」下拉列表框中選擇「am」 在「下午格式」下拉列表框中選擇「pm」 單擊「應用」按鈕 單擊「確定」按鈕。(7)打開「控制面板」窗口 雙擊「任務欄和開始菜單」圖標 在「自動隱藏任務欄」單選按鈕前打鉤 去掉「顯示時鍾」單選按鈕前的鉤 單擊「應用」按鈕 單擊「確定」按鈕。5.(1)單擊「開始」菜單 選擇「程序/附件/畫圖」打開畫圖程序 按要求畫一副風景圖。 (2)在「畫圖」窗口中單擊「a」按鈕 輸入文字「這是我的家」(3)單擊「文件/保存」菜單 在「文件名」文本框中輸入「我的家 」存檔 (4)打開一副圖片 按[alt]+[print screen] 打開「畫圖」程序 單擊「文件/新建」菜單 在圖紙的空白出單擊右鍵選擇「粘貼」 單擊「文件/保存」菜單 在「文件名」文本框中輸入「截圖 」存檔。
計算機實驗報告4
計算機網路課程實訓已經結束幾天了.實訓期間,讓我學到了很多東西,不僅使我在理論上對網路有了全新的認識,在實踐能力上也得到了提高,真正地做到了學以致用,更學到了很多做人的道理,對我來說受益非淺。除此以外,我還學會了如何更好地與別人溝通,如何更好地去陳述自己的觀點,如何說服別人認同自己的觀點。第一次親身感受到理論與實際的相結合,讓我大開眼界。也是對以前所學知識的一個初審吧!這次實訓對於我以後學習、找工作也真是受益菲淺,在短短的幾天中相信這些寶貴的 經驗 會成為我今後成功的重要的基石。
作為一名大一的學生,經過差不多一年的在校學習,對網路有了理性的認識和理解。所以在實訓之前,網路對我來說是比較抽象的,在這次實訓中,是一次比較真實的接觸網路。讓我們親身體會了什麼是網路,以及計算機軟體、硬體等等。這次實訓也讓我深刻了解到,不管在工作中還是在生活中要和老師,同學保持良好的關系是很重要的。三人行必有我師,其實同學也是我們的老師不懂可以相互問。在這幾天的實訓中可以說是我們上大學以來學的最多有關專業的知識,比如說:虛擬機VMwareWorkstation、區域網聯網實踐、WindowsServer2003基礎、Linu__網路操作系統、網路操作系統綜合實訓、網路操作系統綜合實訓等等。這次實訓我們真正的學到了技術,這些知識基礎而富有內涵有助於我們專業知識的入門,更有助於我們未來的發展。
這次實訓我們收獲很大,對於剛入門的我們一切都是那麼的陌生。
在此期間老師給我們點起了一盞燈指引我們走向光明,這樣的情況下我們也會面對許許多多的困難,這個時候我們感受到了集體力量的偉大,我們互幫互助共同完成了實訓工作。我們在虛擬機上裝系統進行雙機互聯,我們一起裝系統一起互 相學 習,我們一起感受成功的快樂,這一刻我們共同成長。
俗話說:走過去前面依然是片藍天,每天的太陽都是新的。相反,瞻前顧後,畏首畏尾,往往會導致自我封閉錯失良機,最終會導致止步不前一事無成。「只有相信自己,別人才能相信你,才能給你機會。」絕對是至理 名言 。
在做調研的時候也是一樣,我們擁有了自信去敲門並從我們的行動中表現出來,當別人從我們身上眼裡看到這種自信時候,他們也就相信了我們自身的能力,就會給我們機會,也就會配合我們要做的事情,並樂意去做的更好;反之如果你表現的畏首畏尾的話,讓他們看不到我們自身的能力,給他們一瓶子不滿半瓶子逛盪的感覺,而且還顯得那麼幼稚那麼的不穩重,所以就會對我們的請求不屑一顧或者隨便找個借口把你打發走,而這正是我們做事情所不願意看到的。所以當一個人擁有自信的時候一切都再不那麼遙遠!
所以說無論做什麼事我們都要充滿自信地去探索去摸索敢於嘗試,真誠合作!
計算機實驗報告5
一、《軟體技術基礎》上機實驗內容
1.順序表的建立、插入、刪除。
2.帶頭結點的單鏈表的建立(用尾插法)、插入、刪除。
二、提交到個人10m硬碟空間的內容及截止時間
1.分別建立二個文件夾,取名為順序表和單鏈表。
2.在這二個文件夾中,分別存放上述二個實驗的相關文件。每個文件夾中應有三個文件(.c文件、.obj文件和.e__e文件)。
3. 截止時間:12月28日(18周周日)晚上關機時為止,屆時伺服器將關閉。
三、實驗報告要求及上交時間(用a4紙列印)
1.格式:
《計算機軟體技術基礎》上機實驗報告
用戶名se________ 學號姓名 學院
①實驗名稱:
②實驗目的:
③演算法描述(可用文字描述,也可用流程圖):
④源代碼:(.c的文件)
⑤用戶屏幕(即程序運行時出現在機器上的畫面):
2.對c文件的要求:
程序應具有以下特點:a可讀性:有注釋。
b交互性:有輸入提示。
c結構化程序設計風格:分層縮進、隔行書寫。
3. 上交時間:12月26日下午1點-6點,工程設計中心三樓教學組。 請注意:過時不候喲!
四、實驗報告內容
0.順序表的插入。
1. 順序表的刪除。
2.帶頭結點的單鏈表的插入。
3. 帶頭結點的單鏈表的刪除。
注意:1. 每個人只需在實驗報告中完成上述4個項目中的一個,具體安排為:將自己的序號對4求余,得到的數即為應完成的項目的序號。
例如:序號為85的同學,85%4=1,即在實驗報告中應完成順序表的刪除。
2. 實驗報告中的源代碼應是通過編譯鏈接即可運行的。
3. 提交到個人空間中的內容應是上機實驗中的全部內容。
大學生計算機實驗 總結報告 相關文章:
★ 計算機實訓總結範文5篇
★ 大學生計算機實訓心得體會
★ 大學生計算機專業實習報告範文5篇
★ 計算機實訓報告範文精選5篇
★ 計算機網路個人實習總結
★ 計算機實踐報告範文3000字3篇
★ 大學生計算機實習報告總結3000字
★ 計算機實習報告範文5篇
★ 大學生計算機實習報告總結3000字(3)
★ 大學生計算機實訓心得體會(2)
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm..com/hm.js?"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();Ⅵ 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語言的理論知識,著對我們將來到社會工作將會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難!
Ⅶ C++實驗報告怎麼寫
實驗要求:把題目抄進去。。實驗原理:把代碼抄進去。。實驗材料:計算機一台,VC++6.0。。實驗調試:把編程過程中的錯誤抄進去。。沒錯誤你刪個分號讓它出錯。。實驗結果:把程序運行結果抄進去。。心得體會:C++真是好東西啊。。
Ⅷ c語言實驗報告心得
c語言實驗心得:
1、只有頻繁用到或對運算速度要求很高的變數才放到data區內,如for循環中的計數值。
2、其他不頻繁調用到和對運算速度要求不高的變數都放到xdata區。
3、常量放到code區,如字型檔、修正系數。
4、邏輯標志變數可以定義到bdata中。
在51系列晶元中有16個位元組位定址區bdata,其中可以定義8*16=128個邏輯變數。這樣可以大大降低內存佔用空間。定義方法是: bdata bit LedState;但位類型不能用在數組和結構體中。
5、data區內最好放局部變數。
因為局部變數的空間是可以覆蓋的(某個函數的局部變數空間在退出該函數是就釋放,由別的函數的局部變數覆蓋),可以提高內存利用率。當然靜態局部變數除外,其內存使用方式與全局變數相同;
6、確保程序中沒有未調用的函數。
在Keil C里遇到未調用函數,編譯器就將其認為可能是中斷函數。函數里用的局部變數的空間是不釋放,也就是同全局變數一樣處理。這一點Keil做得很愚蠢,但也沒辦法。
7、如果想節省data空間就必須用large模式。
將未定義內存位置的變數全放到xdata區。當然最好對所有變數都要指定內存類型。
8、使用指針時,要指定指針指向的內存類型。
在C51中未定義指向內存類型的通用指針佔用3個位元組;而指定指向data區的指針只佔1個位元組;指定指向xdata區的指針佔2個位元組。如指針p是指向data區,則應定義為: char data *p;。還可指定指針本身的存放內存類型,如:char data * xdata p;。其含義是指針p指向data區變數,而其本身存放在xdata區。
以前沒搞過C51,大學時代跟單片機老師的時候也是搗鼓下匯編,現在重新搞單片機,因為手頭資料不多,找到一些C51的程序,發現裡面有這些關鍵字,不甚明了,沒辦法只好找了下,發現如下描述:
從數據存儲類型來說,8051系列有片內、片外程序存儲器,片內、片外數據存儲器,片內程序存儲器還分直接定址區和間接定址類型,分別對應code、data、xdata、idata以及根據51系列特點而設定的pdata類型,使用不同的存儲器,將使程序執行效率不同,在編寫C51程序時,最好指定變數的存儲類型,這樣將有利於提高程序執行效率(此問題將在後面專門講述)。與ANSI-C稍有不同,它只分SAMLL、COMPACT、LARGE模式,各種不同的模式對應不同的實際硬體系統,也將有不同的編譯結果。
在51系列中data,idata,xdata,pdata的區別
data:固定指前面0x00-0x7f的128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。
idata:固定指前面0x00-0xff的256個RAM,其中前128和data的128完全相同,只是因為訪問的方式不同。idata是用類似C中的指針方式訪問的。匯編中的語句為:mox ACC,@Rx.(不重要的補充:c中idata做指針式的訪問效果很好)
xdata:外部擴展RAM,一般指外部0x0000-0xffff空間,用DPTR訪問。
pdata:外部擴展RAM的低256個位元組,地址出現在A0-A7的上時讀寫,用movx ACC,@Rx讀寫。這個比較特殊,而且C51好象有對此BUG,建議少用。但也有他的優點,具體用法屬於中級問題,這里不提。
三、有關單片機ALE引腳的問題
"單片機不訪問外部鎖存器時ALE端有正脈沖信號輸出,此頻率約為時鍾振盪頻率的1/6.每當訪問
外部數據存儲器是,在兩個機器周期中ALE只出現一次,即丟失一個ALE脈沖."這句話是不是有毛
病.我覺得按這種說法,應該丟失3個ALE脈沖才對,我一直想不通是怎麼回事,希望大蝦們幫幫我.
小弟感激涕零.
答:
其他所有指令每6個機器周期發出一個ALE,而MOVX指令佔用12個機器周期只發出一個ALE
四、如何將一個INT型數據轉換成2個CHAR型數據?
經keil優化後,char1=int1/256,char2=int1%256或char1=int1>>8,char2=int1&0x00ff效率是一樣的。
五、在KEIL C51上模擬完了,怎樣生成HEX文件去燒寫??
右鍵點項目中Target 1,選第二個,在OUTPUT中選中CREAT HEX
六、typedef 和 #define 有何不同??
typedef 和 #define 有何不同》》》 如
typedef unsigned char UCHAR ;
#define unsigned char UCHAR ;
typedef命名一個新的數據類型,但實際上這個新的數據類型是已經存在的,只不過是定義了
一個新的名字.
#define只是一個標號的定義.
你舉的例子兩者沒有區別,但是#define還可以這樣用
#define MAX 100
#define FUN(x) 100-(x)
#define LABEL
等等,這些情況下是不能用typedef定義的
七、請問如何設定KELC51的模擬工作頻(時鍾)
用右鍵點擊左邊的的target 1,然後在xtal一欄輸入
八、不同模塊怎樣共享sbit變數,extern不行?
把SBIT定義單獨放到一個.H中,每個模塊都包含這個.h文件
九、C51中對於Px.x的訪問必須自己定義嗎?
是的。
如sbit P17 = 0x97;即可定義對P1.7的訪問
十、SWITCH( )語句中表達式不可以是位變數對嗎?
可以用位變數:
#include
#include
void main()
{
bit flag;
flag=0;
switch(flag)
{
case '0':{printf("0\n");break;}
case '1':{printf("1\n");break;}
default:break;
}
}
bit 變數只有兩種狀態,if 語句足夠啦,!!!
十一、const常數聲明占不佔內存???
const 只是用來定義「常量」,所佔用空間與你的定義有關,如:
const code cstStr[] = {"abc"};
佔用代碼空間;而如:
const char data cstStr[] = {"abc"};
當然佔用內存空間。
另外,#define 之定義似乎不佔用空間。
十二、philips的單片機P89C51RD+的擴展RAM在C51中如何使用?
試一試將auxr.1清0,然後在c語言中直接聲明xdata類型的變數
十三、BUG of Keil C51
程序中用如下語句:
const unsigned char strArr[] = {"數學"};
結果發現strArr[] 內容為 {0xCA,0xD1,0xA7},真奇怪!
凡是有0xfd,則會通通不見了,所以只能手工輸入內碼了,例如 uchar strArr[]=
{0xCA,0xfd,0xd1,0xa7}(用Ultraedit會很方便)。
十四、Keil C51中如何實現代碼優化?
菜單Project下Option for target "Simulator"的C51.
看到Code optimization了嗎?
十五、請教c的!和 ~ 符號有甚區別??
!是邏輯取反,~是按位取反。
十六、c51編程,讀埠,還要不要先輸出1?
我怎麼看到有的要,有的不要,請高手給講講,到底咋回事?謝了
要輸出1的,除非你能保證之前已經是1,而中間沒有輸出過其他值。
十七、當定時器1(T1)用於產生波特率時,P3^5還是否可以用作正常的I/O口呢?
p3.5完全可以當普通的io使用
十八、C51中 INT 轉換為 2個CHAR?
各位高手:
C51中 INT 轉換為 CHAR 如何轉換諸如:
X = LOW(Z);
Y = HIGH(Z);
答:
x=(char)z;
y=(char)(z>>8);
十九、如果我想使2EH的第7位置1的話,用位操作可以嗎?
現在對位操作指令我一些不太明白請各位多多指教:
如 SETB 07H 表示的是20H.7置1,對嗎?(我在一本書上是這么看到的)
那麼如果我想使2EH的第7位置1的話,象我舉的這個例子怎麼表示呢?謝謝!
SETB 77H
setb (2eh-20h)*8+7
20h-2fh每位元組有8個可位操作(00h-7fh),其它RAM不可位直接操作
二十、char *addr=0xc000 和char xdata *addr=0xc000有何區別?
char *addr=0xc000;
char xdata *addr=0xc000;
除了在內存中佔用的位元組不同外,還有別的區別嗎?
char *addr=0xc000; 是通用定義,指針變數 addr 可指向任何內存空間的值;
char xdata *addr=0xc000; 指定該指針變數只能指向 xdata 中的值;
後一種定義中該指針變數(addr)將少佔用一個存儲位元組。
uchar xdata *addr=0xc000;指針指向外ram;
如果:data uchar xdata *addr=0xc000;指針指向外ram但指針本身存在於內ram(data)
中
以此類推可以idata uchar xdata *addr=0xc000;pdata uchar xdata *addr=0xc000;
data uchar idata *addr=0xa0;.........
二十一、while(p1_0)的執行時間?
假設,P1_0為單片機P1口的第一腳,請問,
while(P1_0)
{
P1_0=0;
}
while(!P1_0)
{
P1_0=1;
}
以上代碼,在KEIL C中,需要多長時間,執行完。能具體說明while(P1_0)的執行時間嗎?
模擬運行看看就知道了,
我模擬了試了一下,約14個周期
二十二、怎樣編寫C51的watchdog程序?
各位大蝦,我用KEIL C51 編寫了一個帶外部開門狗的程序,可程序無法運行起來,經過查
找,發現程序在經過C51編譯後,在MAIN()函數的前部增加了一端初始化程序,等到進入
主程序設置開門狗時,開門狗已經時間到,將我的程序復位了,請問我怎樣才能修改這一端
初始花程序,使他一運行,就設置開門狗?
可以在startup.a51中加入看門狗刷新指令,當然用匯編,然後重新編譯startup.a51
,將他和你的程序連接即可。新的startup.a51會自動代替系統默認的啟動模塊。
二十三、keil C51 怎樣把修改的startup.a51 加到工程文件中
直接加入即可
注意不要改動?STACK,?C_START,?C_STARTUP等符號。startup.a51直接加入項目,不用修改也可。可在內面自己修改匯編的一些限制或堆棧指針。
二十四、關於波特率的設置
我在設定串口波特率時發現一個問題:在晶體震盪器為11.0592MHz時,若設9600BPS的話,
TH1=0XFD,TL1=0XFD,而要設19200BPS的話,TH1、TL1有否變化,如果沒變,為什麼?
如果變了,又為什麼?(因為我看書上倆個是一樣的),希望大家點撥。
答:
當電源控制寄存器(PCON)第BIT7(SMOD)為1時波特率加倍。
TH1和TL1的值不變.
二十五、如何在C中聲明保留這部分RAM區不被C使用?
我不知道在C源程序中怎麼控制這個,但在匯編程序中加入下面一段就行:
DSEG AT 20H
AA: DS 10
這樣C51就不會佔用20H--29H了
或者在c51里這樣定義:
uchar data asm_buff[10] _at_ 0x20;
二十六、問浮點運算問題
我在用C51時發現它對傳遞浮點參數的個數有限制,請問:
1)參數是以全局變數的形式傳遞的,請問以全局變數的形式傳遞的參數也有限制嗎?
2)這種傳遞浮點參數的限制有多少呢?
3)float*float的結果是float類型還是double類型?能否直接賦值給float類型的變數?
答:
由於KEIL C51的參數傳遞是通過R0-R7來傳遞的,所以會有限制。
不過KEIL提供了一個編譯參數,可以支持更多參數的傳遞。具體
的內容見KEIL的PDF文檔。
我建議你把多個要傳遞的參數定義到指針或結構體中去,傳遞參
數通過指針或結構進行,這樣好一些。
第3個問題回答是YES,你自己試試不就知道了。
二十七、如何在某一個地址定義ram
用_at_ 命令,這樣可以定位靈活一點的地址
uchar xdata dis_buff[16] _at_ 0x6020 ;//定位RAM
將dis_buff[16]定位在0x6020開始的16個位元組
二十八、keil c中,用什麼函數可以得到奇偶校驗位?
例如32位數據,將四個位元組相互異或後檢查P即可,若耽心P被改變,可用內嵌匯編。
#include
unsigned char parity(unsigned char x){
x^=x;
if(P)return(1);
else return(0);
}
unsigned char parity2(unsigned int x){
#pragma asm
mov a,r7
xrl ar6,a
#pragma endasm
if(P)return(1);
else return(0);
}
Ⅸ c++程序設計實習報告怎麼寫
C/C++程序設計
課程設計報告[注意:文件名的格式為:
學號_中文姓名_版本_時間.doc
不符合文件名要求的實驗報告為不合格報告!
如:學號為200800800999的李一同學上交的第一版的文件名為:
200800800999_姓名_1_20100719.doc
注意:
(1)連字元是下劃線
(2)日期的格式為YYYYMMDD
(3)上傳的文件必須是Word2003版的,不可以是其他類型或Word其他版本的文件。文件後綴名不可以是「.doc.doc」
本文中所有批註內容,在課程設計報告上交時必須刪除!!!]
專 業:
班 級: 班
學 號:
姓 名:
版本號:
時 間:2010-xx-xx
目 錄
1 概述 2
1.1 目的 2
1.2 計劃 2
2 課程設計過程及結果 2
2.1 編程環境及工具 2
2.2 排序與簡單分析 2
2.3 綜合設計 2
2.3.1 功能實現 2
2.3.2 程序異常處理 2
2.3.3 特色功能 2
3 課程設計總結 2
3.1 課程設計計劃執行情況 2
3.2 我理解的C++ 3
3.3 改進設想 3
附錄 關鍵代碼 3
原創聲明:本課程設計報告及相應的軟體程序的全部內容均為本人獨立完成,如有抄襲,願承擔相應後果。[完全獨立完成(參考API及與同學討論是可以的,需要自己一點一點錄入並調試代碼、編寫報告)的同學,僅聲明此一句即可。刪除下面的非原創說明。
本文中所有批註內容,在課程設計報告上交時必須刪除!!!]
非原創說明:[非獨立完成的同學,上傳上面的原創聲明,並詳細描述自己所做部分和拷貝同學部分。
本文中所有批註內容,在課程設計報告上交時必須刪除!!!]
本課程設計本人完成的內容包括:
1、
2、
3、
拷貝同學的內容包括:
1、
2、
3、
本人獨立完成部分約占總工作量的百分比為:___________
聲明人:_______________________
學 號:_______________________
概述
目的
計劃
課程設計過程及結果
編程環境及工具
排序與簡單分析
綜合設計
功能實現
文件讀入
數據錄入
信息顯示
……[可自行擴展標題,以將實驗報告材料組織得有條理為目標
本文中所有批註內容,在課程設計報告上交時需刪除!!!]
程序異常處理
特色功能
課程設計總結
課程設計計劃執行情況
我理解的C++
改進設想
附錄 關鍵代碼
Ⅹ C語言程序設計實驗報告怎麼寫啊
只是個例子,不可照抄。
實驗內容與要求:
[實驗內容]
1、 通過本試驗初步培養計算機邏輯解題能力。熟練掌握賦值語句和if語句的應用;掌握switch多路分支語句和if嵌套語句的使用
2、 將前期所學習到的基本數據類型、運算符和表達式等程序設計基礎知識運用於具體的程序設計。
3、 進一步熟練掌握輸入輸出函數scanf, printf和getchar的使用,熟悉math.h中常用數學函數的使用方法
4、 掌握循環語句的應用方法。
5、 了解隨機數生成函數。
[實驗要求]
在規定期限獨立完成實驗內容
1、 提交實驗報告(電子版)
2、 提交相應源程序文件(文件名 EX6_x姓名.c, 如EX6_1彭健.c)
3、 要求從簡單到復雜,後面的要求均在前面的基礎上進行修改,前六題,每題均需要保留各自的程序,六題以後,每題均在前一題基礎上修改,保留最後一個程序即可(如做到第九題,則保留EX6_9姓名.c,做到第11題,則保留ex6_11姓名.c)
二、實驗原理和設計方案:
1、函數頭的選則,while循環語句,switch(case)語句,條件表達式,if else條件語句,自增運算符,設置復雜變數,輸出隨機操作數。
2、 變數要有分數變數和等級變數,要有選擇演算法題數的變數和計算正確與否的變數,要有隨機輸出的兩個操作數變數和自己按運算符號輸入結果的變數,最後還有判斷是否要進行的變數字元。中間結果有選擇運算符的switch()和分數等級的switch()和錯題對題的自增和選擇運算符計算的自增。
3、 問題的分析方法:先考慮設置整形變數和字元變數,考慮到要不斷循環計算,選擇用while語句來循環。在循環體中,將前面的輸出提示運算符,和自行選擇運算符、答案及輸出隨機操作數完成。再用switch語句對選擇的運算符進行判斷,並用變數進行自增運算,計算出錯題於對題個數和選擇了那種運算符號。在循環體最後用if else語句來判斷是否繼續執行還是跳出循環。最後根據自增計算的結果和公式進行分數計算,並用switch語句來是想等級的制定。
三、源代碼
#include
#include
#include
void main()
{
..........
}
四、試驗結果和啟發
因為輸入y要繼續循環,所以選擇用while語句。在while語句中要結合前面的按提示計算,並嵌套switch語句並用條件表達式,來計算結果正確與否,計算的題型是什麼。最後再用switch語句來完成分數等級的判斷。
五、實驗體會:
描述自己在編程或程序編譯運行中遇到的難點和問題及解決的辦法。