當前位置:首頁 » 編程軟體 » 編譯實驗報告1到5

編譯實驗報告1到5

發布時間: 2022-06-11 02:25:17

A. c語言綜合實驗報告 幫我弄一個

姓名 ***
**學 院 ** 專業 052 班
2007 年 11 月 24 日
實驗內容實驗五 指導老師 陳老師
一、實驗內容及要求:
編譯運行習題5-3,觀察x、y變數的值。
實現客戶機類(類名為CLIENT),其中包含的成員有:字元型靜態數據成員ServerName,用來保存伺服器名稱;整型靜態數據成員ClientNum,記錄已定義的客戶數量;靜態函數ChangeServerName(),用來改變伺服器名稱。在頭文件client.h中聲明這個類,在文件client.cpp中實現,在文件test.cpp中測試這個類,觀察相應的成員變數取值的變化情況。二、實驗目的:
1、復習類的聲明和使用、掌握對象的聲明和使用;
2、學習構造函數和析構函數的使用,觀察構造函數和析構函數的執行過程。
三、程序:
//client.h
class Client
{
public:
Client();
~Client();
static ChangeServerName(char *); //改變伺服器名稱
char * GetServerName(); //返回伺服器名稱
int GetClientNum (); //返回客戶機數量
protected:
static char ServerName[20]; //伺服器名稱
static int ClientNum; //存放伺服器數量
};
/////////////////////////////////////////////////////
//client.cpp
# include <iostream>
# include <cstring>
# include "client.h"
using namespace std;
static char *ServerName = "";
int Client::ClientNum = 0;
Client::Client()
{ClientNum ++;}

Client::~Client(){}

void Client::ChangeServerName(char * names) //改變伺服器名稱
{strcpy(ServerName,names);}

char * GetServerName() //返回伺服器名稱
{return ServerName;}

int GetClientNum () //返回伺服器數量
{return ClientNum;}
////////////////////////////////////////////////////////
//test.cpp
# include <iostream>
# include "client.cpp"
using namespace std;
void main() //用於測試的主函數
{
Client threeclient[3];
char namestr[20]; //臨時存放伺服器名稱
cout<<"定義了3個客戶"<<endl;
cout<<"請輸入新伺服器名稱:"<<endl;
cin>> namestr;
CC.ChangeServerName(namestr);
cout<<"伺服器的名稱是"<<Client::GetServerName()<<endl;
cout<<"客戶數量為"<<CC.GetClientNum ();

}

思考題:
(1)C語言有五種基本數據類型:字元、整型、單精度實型、雙精度實型和空類型。結構體可以定義自己所需特殊類型.其他類型是已經定義好,不可修改的,而結構體是根據自己的需要定義的特殊的類型.
(3)採用了循環,復合語句.

B. 實驗報告格式

實驗報告的書寫是一項重要的基本技能訓練。它不僅是對每次實驗的總結,更重要的是它可以初步地培養和訓練學生的邏輯歸納能力、綜合分析能力和文字表達能力,是科學論文寫作的基礎。

因此,參加實驗的每位學生,均應及時認真地書寫實驗報告。要求內容實事求是,分析全面具體,文字簡練通順,謄寫清楚整潔。

1、實驗名稱

要用最簡練的語言反映實驗的內容。如驗證某程序、定律、演算法,可寫成「驗證×××」;分析×××。

學生姓名、學號、及合作者

實驗日期和地點(年、月、日)

2、實驗目的

目的要明確,在理論上驗證定理、公式、演算法,並使實驗者獲得深刻和系統的理解,在實踐上,掌握使用實驗設備的技能技巧和程序的調試方法。一般需說明是驗證性實驗還是設計性實驗,是創新性實驗還是綜合性實驗。

實驗設備(環境)及要求

在實驗中需要用到的實驗用物,葯品以及對環境的要求。

3、實驗原理

在此闡述實驗相關的主要原理。

4、實驗內容

這是實驗報告極其重要的內容。要抓住重點,可以從理論和實踐兩個方面考慮。這部分要寫明依據何種原理、定律演算法、或操作方法進行實驗。詳細理論計算過程。

5、實驗步驟

只寫主要操作步驟,不要照抄實習指導,要簡明扼要。還應該畫出實驗流程圖(實驗裝置的結構示意圖),再配以相應的文字說明,這樣既可以節省許多文字說明,又能使實驗報告簡明扼要,清楚明白。

(2)編譯實驗報告1到5擴展閱讀:

科技實驗報告是描述、記錄某個科研課題過程和結果的一種科技應用文體。撰寫實驗報告是科技實驗工作不可缺少的重要環節。雖然實驗報告與科技論文一樣都以文字形式闡明了科學研究的成果,但二者在內容和表達方式上仍有所差別。

科技論文一般是把成功的實驗結果作為論證科學觀點的根據。實驗報告則客觀地記錄實驗的過程和結果,著重告知一項科學事實,不夾帶實驗者的主觀看法。

C. 編譯程序 顯示所以水仙花數的實驗報告。

#include<iostream>
using namespace std;
void main()
{
int a,b,c;
for(int x=100;x<1000;x++)
{
a=x/100;
b=(x%100)/10;
c=x%10;
if(a*a*a+b*b*b+c*c*c==x)
cout<<x<<endl;
else
continue;
}
}

D. C語言程序設計實驗報告怎麼寫啊

通過本試驗初步培養計算機邏輯解題能力。熟練掌握賦值語句和if語句的應用;掌握switch多路分支語句和if嵌套語句的使用

E. 實驗報告怎樣寫啊

一, 程序功能
本程序利用指針,鏈表,文件,以及字元串等各種操作,實現程序功能:字典管理。
二, 題目分析
與前兩題不同,本題需大量利用指針和鏈表操作。這無形中增加了題目的難度。由於指針這部分知識掌握得不牢固,加上鏈表和文件都是新學的內容,編程過程遇到了一些困難,調試與查錯一度成為課設的主要工作。
為了更好的完成設計,我復習了指針這部分內容,鞏固了鏈表和文件兩部分知識。
在完成課設過程中,我發現困擾我的地方不是編寫插入,刪除,查找這些函數,而是建立初始鏈表。
我首先編了三個函數:creat,insert_a_word,list,和一個main函數。調試時發現調用list函數輸出除了原來insert的字元串,還有一些亂碼,這就說明以上三個函數的某個或幾個有問題。後來我把目標放在creat函數上。我本來是想模仿書上的creat 函數,但是要從文件上讀取字元串,就要用到fscanf,由於操作的不純熟,空間的分配出現了問題,在初始鏈表的時候帶進了一些亂碼。後來我重新編了creat函數,解決了這個問題。
解決了初始鏈表的問題以後,遇到的問題無非是指針上的操作錯誤,往往一編譯就出現很多警告和錯誤,於是一個一個找,一個一個調。這些花費了我很長時間,以至於一看到藍屏下的出錯信息就想逃。這些錯誤後來都被我解決了。
在完成課設過程中,我是一邊出錯一邊改錯,一邊調試一邊翻書,進展緩慢。不過也是因為出了錯,翻了書,我發現了自己知識體系中的不足之處,鞏固了薄弱的地方。
大體編完了以後,我又對程序進行了完善。比如說增加了全局變數n,在輸出插入單詞成功時輸出插入單詞的個數。經過這個程序設計的編寫,我覺得作為一個編程者,首先,必須有嚴謹的作風:因為一個程序中小小的一點不足在最後的運行時都會對整個程序產生不可忽視的影響,甚至使程序終止,不能運行下去;其次,還必須有足夠的耐心去觀察解決出現的一系列問題;當然,還必須有較強的邏輯思維能力,因為程序出現錯誤不是光有耐心就能解決的,必須利用邏輯思維能力,一步步地排除錯誤
三、源程序

或者;
一. 程序功能
設計一個單向鏈表類,完成一個通訊錄的簡單管理工作。通訊錄是一個簡單的資料庫庫表,每個結點包含一個人的所有通訊信息。
程序的執行過程為:循環顯示主菜單,用戶在Choice處輸入選項,即按照功能列表輸入1-9的任意一個數字,按回車後,執行響應的功能。
各菜單項功能如下:
1、 Add Record (增加記錄)
提示輸入各欄位。一次輸入一個人的數據。
2、 Delete Record (刪除記錄)
輸入待刪除記錄的姓名,顯示該姓名下的所有信息,讓用戶再次確認是否要刪除
3、 Display All Record(顯示所有記錄)
按順序顯示庫中所有記錄,每屏顯示10條記錄。每顯示10條,用戶按<Enter>鍵繼續顯示下一屏。
4、 Query(按姓名查找並顯示一個記錄)
輸入姓名,顯示該姓名下的所有信息
5、 Modify Record(按姓名查找,修改一個記錄)
輸入姓名,顯示該姓名下的所有信息。然後,在子菜單中提示修改哪個數據。
6、 Add from a Text File(從正文文件中添加數據到庫表中)
用戶可事前建立一個正文文件,存放待加入的數據,然後從該文件中一次性導入多個人員的數據。程序運行時,提示輸入正文文件的文件名。
7、 Write to a Text File
將庫表中的數據寫入一個正文文件中。
8、 Sort(排序庫表)
首先顯示當前排序關鍵字,然後 提示是否需要改變,用戶根據需要回答是否需要改變。系統中有兩種排序方式,一種是按姓名排序,一種是按辦公室電話排序。改變排序的方式
的意義是在兩種排序方式之間的切換。
9、 Quit(退出系統)

二. 添加的一些功能
1.程序設計過程中我添加了報錯系統,例如我定義了int isnumber(char a[])和int ischar(char a[])2個函數,分別用於判斷用戶輸入的字元串是否為數字或非數字字元串。
2.我還添加了清屏功能,在適當的地方添加此功能可以方便用戶使用。
3.在void add(Addrlist &addrlist)函數中我還添加了提示「已經添加同名聯系人,是否需要修改新聯系人的各項記錄?(y/n)並確認」的功能。
4.在void del(Addrlist &addrlist)函數中我添加了確認2次輸入的待刪除姓名一致的功能,而且提示用戶確認刪除。
5.在void modify(Addrlist &addrlist)函數中我還添加了可以一次修改多個信息,可以隨時返回的功能,更方便用戶使用。
6.在void addfromtxtfile(Addrlist &addrlist)函數中,導入數據時系統顯示重名信息並自動過濾重名信息。

三.程序設計過程中的一些感想
剛開始接到設計題目的時候感覺很是幸運,因為我知道強化班他們也學過C++,而且也做過課程設計。他們的題目是要做一個圖書館的管理系統,那可是很艱巨的任務呀!大家選擇比較多的應該是我的這個通訊錄了,一看好多函數書上都有,就算是我最頭疼的鏈表書上也有詳細的過程。好象事情從來就是想起來容易做起來難,當我開始要做這個課程設計的時候,我竟然不知道如何下手。也可能是人天生的惰性在起作用,一開始我確實想找強化班的兄弟幫我設計一下,畢竟他們有經驗,可以幫我開個好頭。後來還是決定自己來做,雖然做得可能會稍微差一點。既然學習了就應該自己去實現。
在做的過程中遇到了很多麻煩,雖然我早有心理准備,但還是令我傷透了腦筋。只怪自己平時看書太少,其實有很多東西在書上都可以找到答案的。可是還是有一些問題我實在沒有辦法解決。
我開始只是想自己做一套程序,這會讓我有一種自豪感,沒想到到了最後時期,仍然有些問題沒有解決。只好求助同學。在同學的幫助之下,總算是解決了最後的問題。但由於水平有限,和其他同學比起來,我的程序顯得那麼笨拙。
通過這次的課程設計使我更深刻地體會到事情從來都不像你想像的那麼簡單,只有去做,才會真正感到它的困難。同時也使我明白了,什麼時候都不要忘記最基礎的東西。因為平時沒有注意看書,使我在設計的過程中吃盡了苦頭,浪費了不少時間。
雖然一開始雄心勃勃要自己獨立完成程序,可是最後還是要求助於別人。這與最開始的想法有些違背。有的時候的確不應該自己鑽牛角尖,每個同學都可以成為自己的老師,虛心請教是必不可少的。

三、源程序

F. 編譯原理實驗報告

#include<stdio.h>
void main()
{

int m=0,n=0,n1=0,n2=0,n3=0,zg,fzg,flag;
int bz[7]=;/*狀態改變控制,1 表示可以改變狀態zt值,0 表示不可以*/
int zt[7]=;/*狀態值,2表示未定狀態,1表示 是,0表示 否*/

char temp[100]="\0";/*用於求first集*/
char z[7];/*非總結符*/
char z1[7];/*總結符*/
char z2[7]="\0";/*gs[]文法中出現的標記個數的輔助字元 01234*/
char gs[100]="\0";/*文法,按順序排成字元串*/

printf("請依次輸入非終結符(不超過7個):");
gets(z);
while(z[m]!='\0')

fzg=m;//zg是非終結符個數

while(n<m)
//生成01234輔助字元
printf("您輸入了:");
puts(z);
fflush(stdin);

printf("請依次輸入終結符(不超過7個):");
gets(z1);
while(z1[n1]!='\0')

zg=n1;
printf("您輸入了:");
puts(z1);
fflush(stdin);

printf("按照正確格式輸入所有文法(總長度不超過100格式如下):");
printf("如果文法為(字元'k'表示空):\n");
printf("S-->AB S-->bC A-->k A-->b\n");
printf("輸入:0SAB0SbC1Ak1Ab\n");
printf(" (注:數字01234表示第一二三四個非終結符)\n");

gets(gs);
fflush(stdin);
printf("您輸入了:");
puts(gs);
m=0;
//對於輸入文法字元串的轉換,將每個文法式左部去除
while(gs[m]!='\0')
{
n=m;
if(gs[m]>='0'&&gs[m]<='9')
{
m++;
while(gs[m]!='\0')
{
gs[m]=gs[m+1];
m++;
}
//gs[m-1]='\0';
}
m=++n;
}

m=0;

//puts(gs);

/*情況一,直接判定是 形如: (A-->k) */
while(gs[m]!='\0')
{
if(gs[m]=='k')
{
zt[gs[m-1]-48]=1;
bz[gs[m-1]-48]=0;
}
m++;
}

/*情況二,直接判定--否 形如: (D-->aS ,D-->c) */
for(n=0;n<fzg;n++)
{
if(bz[n]==1)
{
m=0;
n2=0;
while(gs[m]!='\0')
{
if(z2[n]==gs[m])
{
if(gs[m+1]>=z1[0]&&gs[m+1]<=z1[n1-1])
zt[n]=0;
else //gs[m+1] 是非終結符n2做標記
}
//跳出循環,無法解決該情況,推到下面情況三
m++;
}
if(n2!=99) //完成所有掃描,未出現非終結符,得出結論zt[n]=0.bz[n]=0不允許再改變zt[n]
}
}

/*情況三,最終判定*/
do
{
flag=0;
for(n=0;n<fzg;n++)
{
if(bz[n]==1) //未得到判定
{ m=0;
while(gs[m]!='\0')
{
if(gs[m]==z2[n]) //判定gs[m]是輔助字元0123
{
m++;
while(gs[m]>='A'&&gs[m]<='Z')
{

n1=0;
for(n2=0;n2<fzg;n2++) //循環查找是gs[m]哪個非終結符
{
if(gs[m]==z[n2])
{
if(zt[n2]==1) //這個非終結符能推出空
zt[n]=1;
else if(bz[n2]==1) //這個非終結符 現在 不能推出空,但它的狀態可改即它最終結果還未判定

else
//設 m1 做標記供下一if參考
break; //找到gs[m]是哪個非終結符,for循環完成任務,可以結束
}

}
if(n1==99) break;
m++;
}
}
m++;
}
if(zt[n]==1) bz[n]=0;
if(bz[n]==0) flag=1;//對應for下的第一個if(zt[n]==2)
}

}
}while(flag);

printf("結果是:\n");

for(m=0;m<5;m++)
{
switch(zt[m])
{
case 0:printf("%c---否\n",z[m]);break;
case 1:printf("%c---是\n",z[m]);break;
case 2:printf("%c---未定\n",z[m]);break;
}

}
/*
puts(gs);
puts(zt);
puts(z);
puts(z1);
puts(z2);
printf("%d,,,%d",fzg,zg);
*/

//下面求first集
//下面求first集

for(n=0;n<fzg;n++)

m=0;n=0;n1=0;n2=0;
while(gs[n]>='0'&&gs[n]<='9')
{
for(;m<fzg;m++)
{
if(n2!=m)
n1=0; //m=n2用於第二次以後的for循環中還原上次m的值

if(gs[n]==z2[m])
{
while(gs[n+1]>'9')
{
if(n1==0)
//如果是第一個直接保存

//不是第一個,先與字元數組中其它字元比較,沒相同的才保存
else if(gs[n]>='a'&&gs[n]<='z'&&gs[n+1]>='A'&&gs[n+1]<='Z') //gs[n]是終結符 且 gs[n+1]是非終結符
;//什麼也不做,程序繼續n++,掃描下一個gs[n]

else
{
for(n3=0;n3<=n1;n3++)
{
if(temp[m*13+n3]==gs[n+1])
break;
}

if(n3>n1) //for循環結束是因為n3而不是break

}
n++;
}
break; //break位於if(gs[n]==z2[m]),對於gs[n]已找到z2[m]完成任務跳出for循環
}
}
n2=m; //存放該for循環中m的值
n++;
}
//進一步處理集除去非終結符
m=0;n=0;n1=0;n2=0;
for(m=0;m<fzg;m++)
{
if(flag!=m)
n1=0; //m=flag用於第二次以後的for循環中還原上次m的值

while(temp[m*13+n1]!='\0')
{
while(temp[m*13+n1]>='A'&&temp[m*13+n1]<='Z') //搜索非終結符
{
for(n=0;n<fzg;n++) //確定是哪個非終結符
{if(temp[m*13+n1]==z[n])
break;
}
while(temp[m*13+n1]!='\0') //從temp[n*13+n1]開始每個字元依次往前移動一

n1--;
while(temp[n*13+n2]!='\0') //把z[n]對應的first加入temp[m*13+n1]這個first中,每個字元依次加在最後
{
for(n3=0;n3<n1;n3++) //循環判定是否有相同的字元
{
if(temp[m*13+n3]==temp[n*13+n2])
break;
}
if(temp[n*13+n2]=='k'&&zt[m]==0) //那些不能推出 空,但是因為要加入 其他非終結符的first集 而可能含有 空
n2++;
else if(n3>=n1) //for循環結束是因為n3而不是break ,即無相同字元

else n2++;
}

n1=0;
n2=0;
}

n1++;
}
flag=m; //存放該for循環中m的值
}

//非終結符的first集輸出
m=0;n1=0;
for(m=0;m<fzg;m++)
{
n1=0;
printf("非終結符 %c 的first集是: ",z[m]);
while(temp[m*13+n1]!='\0')
{
printf("%c",temp[m*13+n1]);
n1++;
}
printf("\n");
}

}

G. java實驗報告

實驗1
Java開發工具及程序設計初步
實驗目的

能夠搭建Java的開發環境

熟悉常用的JDK操作命令的使用

熟悉Java程序的編寫和編譯過程

了解常用Java開發工具的使用
實驗內容
實驗練習1:搭建和使用JDK
1.JDK的下載和安裝
JDK是SUN公司免費在網上發布的,我們可以進入SUN公司的網站(http://java.sun.com)下載並安裝。JDK安裝完成後,進行如下操作:
(1)查看並寫出JDK的安裝目錄______________________________;
(2)查看主目錄bin文件夾中常用的JDK命令文件,寫出java、javac等JDK命令所在的文件目錄_________________________________;
(3)在Windows中打開一個命令行窗口,打開命令行窗口的方法有兩種:
•選擇「開始」→「所有程序」→「附件」→「命令提示符」
•選擇「開始」→「運行…」命令,在打開的「運行」窗口中輸入「cmd」命令並「確定」。
(4)在打開的命令行窗口中,分別執行java和javac命令,如:C:\>java
查看執行結果,看是否輸出如下的java命令的幫助信息(如圖1-1所示)。
圖1-1:java命令的幫助信息
C:\>javac
查看執行結果,看是否輸出如下的javac命令的幫助信息(如圖1-2所示)。
圖1-2:javac命令的幫助信息
如果上面的信息均能輸出,說明JDK的安裝成功,基本上可正常使用。
2.操作系統環境變數的使用
操作系統的環境變數是在操作系統中定義的變數,可被該操作系統上運行的程序訪問。JDK中主要有兩個相關的操作系統環境變數,即path和classpath。
(1)查看操作系統環境變數
•在命令行窗口中執行set命令
如:C:\>set
查看set命令的輸出結果,在set命令的輸出結果中可看到許多等式,其中等號的左邊是環境變數的名稱,等號的右邊是環境變數的取值。
命令:set
<環境變數名>,可查看指定的某個環境變數的設置情況。
執行命令:C:\>set
path,查看path變數的設置情況。
•在「環境變數」窗口中查看環境變數
用滑鼠右鍵單擊「我的電腦」,選擇「屬性」命令,在打開的「系統屬性」對話框中選擇「高級」→「環境變數」,打開「環境變數」窗口。
在「環境變數」窗口中,有用戶變數和系統變數兩種環境變數。其中,用戶環境變數只對某個用戶起作用;系統環境變數對該系統上的所有用戶都有效。
當我們以某一用戶身份登錄Windows時,它所使用的變數是系統變數和用戶變數的總和。
如果一個變數在系統變數窗口和用戶變數窗口都進行了設置,那麼這個變數的取值在一般情況下為系統變數的取值與用戶變數的取值相加;但有時也會出現用戶變數的取值覆蓋系統變數取值的情況。不管是什麼情況,最終都以在命令行窗口中通過set命令查看到的結果為准。
(2)設置系統的環境變數
•在命令窗口中執行set命令
格式:set
變數名=[變數值]
執行如下命令,查看執行結果。
C:\>set
Xx=aa
//新建一個環境變數並設置其取值
C:\>set
Xx
//查看該環境變數
C:\>set
Xx=
//取消環境變數的設置
C:\>set
//查看環境變數
注意:在命令行窗口中設置的環境變數,只在該命令行窗口中起作用。
•在「環境變數」窗口中進行設置
可使用「新建」或「編輯」按鈕。
注意:①
在「環境變數」窗口中設置的環境變數對以後所有的應用程序和命令行窗口都起作用,但不會影響原來運行的應用程序和啟動的命令行窗口。

在「用戶環境變數」窗口中進行的設置需要在注銷重新登錄後才起作用。
(3)path環境變數的作用和設置
環境變數path的值指定了JDK命令搜索路徑,即當我們要執行某個命令時,操作系統首先會在當前目錄下查找這個命令,如果當前目錄下沒有這個命令程序,操作系統會沿著path環境變數中所指定的目錄依次去查找這個命令文件,並以最先找到的為准。
觀察path變數的取值情況,path變數可以有多個取值,每個值代表一條搜索路徑,它們之間用「;」分隔。
在命令行窗口中執行如下命令:
C:\>set
path
//查看path環境變數
C:\>set
path=
或set
path=C:\
//取消path變數的設置或重新設置path的值
C:\>set
path
C:\>java
或javac
//執行java或javac命令
會出現如下錯誤信息(如圖1-3所示):
圖1-3:錯誤信息
分析錯誤的原因:_____________________________________________________
改正的方法:__________________________________
實驗練習2:Java程序的編寫與編譯過程
1.一個簡單的Java程序的編寫與編譯
第一步:先在磁碟上創建保存程序文件的目錄(文件夾),如:D:\javawork\lesson1。
第二步:在「記事本」中創建並編輯Java源程序文件Test1.java,程序代碼如下:
class
Test1
{
}
保存文件,擴展名為.java。
第三步:在命令行窗口中,對源文件Test1.java進行編譯。
可參考如下命令:
如果當前盤當前目錄為C:\,先將當前目錄設置為D:\javawork\lesson1。
C:\>d:
D:\>cd
ja*w*
D:\javawork>cd
le*
D:\javawork\lesson1>javac
Test1.java
如果編譯成功,則不出現任何提示,回到命令提示符狀態下。打開保存源文件的文件夾,查看編譯生成的位元組碼文件Test1.class。
第四步:運行位元組碼文件Test1.class。
D:\javawork\lesson1>java
Test1
執行結果出現異常,如圖1-4所示。
圖1-4:執行出現異常
出現異常的原因是:缺少執行應用程序的入口main方法。main方法的聲明必須是public
static
void
main(String
args[]){}。修改源程序代碼並重新編譯,源程序代碼如下:
class
Test1
{
public
static
void
main(String
args[])
{
}
}
編譯完成後,執行位元組碼文件。
在main方法中,添加輸出的語句並重新編譯執行,程序代碼如下:
class
Test1
{
public
static
void
main(String
args[])
{
System.out.println("Hello
World!");
}
}
輸出結果如圖1-5所示。
圖1-5:程序執行結果
2.classpath環境變數的作用與設置
環境變數calsspath用於指定Java類的路徑,即設置classpath的作用是告訴Java運行系統的類載入器到哪裡去尋找要執行的類。
在前面打開的命令行窗口中繼續執行以下命令:
D:\>java
Test1
執行結果如圖1-6所示:
圖1-6:改變當前目錄後重新執行的結果
會發現程序執行出現異常:無法找到Test1類。說明在classpath變數中沒有將Test1.class文件所在的目錄設置為搜索路徑,在命令行窗口中執行命令:
D:\>set
classpath=%classpath%;d:\javawork\lesson1
重新執行程序,則運行結果正常。
調試練習
本節中的程序Test2.java不能正確地編譯,修改所有的語法錯誤,使程序能夠成功編譯。程序編譯之後,執行程序,比較輸出結果與示例輸出,然後排除所有可能的邏輯錯誤,示例輸出演示了代碼更正後程序的正確輸出結果。
1.示例輸出
2.錯誤的代碼
//Test2.java
import
javax.swing.JOptionPane;
public
class
test2
{
public
static
void
main(string
args[])
{
JOptionPane.showMessageDialog(null,"Hello")
}
}

H. c程序的運行環境和運行一個c程序的方法實驗報告書

實驗目的 (1)了解所用的計算機系統的基礎操作方法,學會獨立使用該系統。 (2)了解在該系統上如何編輯、編譯、連接和運行一個C程序。 (3)通過運行簡單的C程序,初步了解C源程序的特點。 二、實驗內容 1.檢查所用的計算機系統是否已安裝了C編譯系統並確定它所在的子目錄。如果是在Windows操作系統下使用Turbo C編譯器,可以按以下步驟進行操作: ①單擊Windows桌面上的「開始」按鈕,在菜單中單擊「查找(F)」,在其右面的下拉菜單中單擊「文件或文件夾(F)」。屏幕上出現「查找」窗口。 ②在「名稱」框中輸入文件名「tc.exe」,單擊「開始查找」按鈕,系統即自動在指定的范圍內尋找所需要文件,如果找到,就會顯示出文件路徑(例如:C:\lib\tc或c:\tc)。 ③注意:在「搜索」框中應說明搜索范圍,如使「搜索」欄中的內容為「C:\」,表示從根目錄開始尋找,即搜索整個C盤。 2.建立用戶自己的子目錄 ①利用「Windows資源管理器」在磁碟(如D盤)上建立自已的文件夾。 ②利用DOS命令md在磁碟上建立自己的子目錄。 3.進入TC工作環境 第一種方法; ①單擊桌面上的「開始」按鈕,從菜單中選擇「程序」,單擊它然後在其下拉菜單中選擇「MS-DOS」,屏幕上出現MS-DOS窗口。 ②用DOS命令cd,使當前目錄改變為tc.exe所在的子目錄(例如:C:\lib\tc)。 ③在tc的子目錄下輸入tc,按回車鍵進入tc的工作環境。 第二種方法: 用滑鼠雙擊「我的電腦」圖標,進入C盤根目錄,在C盤根目錄下找到tc.exe文件所在的文件夾(如C盤下的lib文件夾下的tc文件夾),在文件夾中找到tc.exe文件,雙擊滑鼠進入TC的工作環境。 4.熟悉Turbo C集成環境 ①了解和熟悉編輯(Edit)窗口和信息(Message)窗口的作用。試一下能否向信息窗口輸入程序。按功能鍵F5,觀察它有什麼作用,再按一次F5,再觀察它有什麼作用。按F6,觀察它有什麼作用;再按一次F6,再觀察它有什麼作用。(參見第一部分的1.1節) ②按功能鍵F10,並按回車鍵,觀察「File」菜單,了解它們的作用和方法。用鍵盤上的「→」鍵,分別選中Edit、Run、Compile、Project、Options、Debug、Break/watch,觀察它們的菜單,大致上了解它們的作用,以後用到時再深入了解。 ③選擇File菜單中的New並按回車鍵,在編輯窗口中隨意輸入幾行字元,觀察窗口頂部左端line和col後面數字的變化。 5.編輯並運行一個簡單的程序 ①再選擇File菜單中的New並按回車鍵,使編輯窗口變成空白。 ②輸入下面的程序 main( ) { printf("* * * * *\n"); printf(" Hello.\n"); printf("* * * * *\n"); } ③按功能鍵F9進行編譯和連接,觀察屏幕上顯示的編譯信息。如果出現「出錯信息」,則應找出原因並改正之,再進行編譯。 ④如果編譯無錯誤,按Ctrl和F9鍵使程序運行,按Alt和F5鍵,切換到用戶屏,觀察運行結果。 ⑤按任一鍵回到TC窗口,將程序命令為ex1.c保存在自已的子目錄下。(參見第一部分1.2節的內容) 6.編輯並運行另一個C程序 ①再選擇File→New,使編輯窗口變成空白。 ②輸入以下程序 main( ) { int a,b,sum; a=150;b=200; sum=a+b; printf("sum is %d\n",sum); } ③按F9進行編譯,仔細分析編譯信息窗口和Message窗口,可能顯示有多個錯誤,逐個修改,直到不出現錯誤。 ④運行程序,分析運行結果。 ⑤將程序命名為ex2.c,保存到自己所建的子目錄下。 7.編輯並運行一個需要在運行時輸入數據的程序 ①清空編輯窗口,輸入下面的程序。 main( ) { int a,b, max; scanf("%d%d",&a,&b); if(a>b) max=a; else max=b; printf("%d",max); } ②編輯並運行,注意按Ctrl和F9運行後,先從鍵盤輸入整數2和5,然後按回車鍵,再按Alt和F5鍵,觀察運行結果。 ③將程序中的第3行改為: int a;b;max; 再進行編譯,觀察其結果。 ④將程序第5、6兩行合並為一行,即 if(a>b) max=a ; else max=b ; 進行編譯和運行,分析結果。 將程序命名為ex3.c保存在用戶自己的子目錄下。

麻煩採納,謝謝!

熱點內容
圖的鄰接表存儲及遍歷 發布:2024-10-18 12:02:31 瀏覽:495
如何查詢電腦型號的配置 發布:2024-10-18 11:57:42 瀏覽:273
如何開張一個租賃伺服器 發布:2024-10-18 11:46:13 瀏覽:826
python解析json文件 發布:2024-10-18 11:29:34 瀏覽:311
編譯程序的生成程序 發布:2024-10-18 11:29:27 瀏覽:404
軌跡處理演算法 發布:2024-10-18 11:22:25 瀏覽:783
支付密碼怎麼破解 發布:2024-10-18 11:09:19 瀏覽:144
線性鏈表c語言 發布:2024-10-18 11:09:17 瀏覽:785
淘寶賣的腳本可靠嗎 發布:2024-10-18 10:54:04 瀏覽:120
數質數演算法 發布:2024-10-18 10:53:26 瀏覽:282