第一篇:實驗三_LINUX的C語言編程
實驗三 LINUX的C語言編程
要求:
1、請查閱資料,掌握vi編輯器的基本使用,包括兩種不同模式的區(qū)別,如何在兩種模式之間切換,以及常用的編輯命令等;
2、使用vi編寫一個c程序,要求該程序通過命令行接收用戶的輸入,其輸入?yún)?shù)為FreeBSD系統(tǒng)中的任意文本文件,接收輸入后,c程序讀取該文件內(nèi)容,并打印在屏幕上。編輯好后,存為.c文件(如a.c),使用gcc編譯該文件,運行結(jié)果文件。
3、詳細記錄學習的內(nèi)容和實驗的整個過程,包括用到的vi命令,c程序源代碼,gcc命令,以及執(zhí)行結(jié)果文件的命令等;
4、對整個實驗過程進行分析總結(jié),給出詳細步驟;
一:vi編輯器的使用
vi 的兩種命令模式;
Command(命令)模式,用于輸入命令; Insert(插入)模式,用于插入文本;
Visual(可視)模式,用于視化的的高亮并選定正文;
Command 模式是vi或vim的默認模式,如果我們處于其它命令模式時,要通過ESC鍵切換過來。
當我們按ESC鍵后,接著再輸入:號時,vi會在屏幕的最下方等待我們輸入命令; 文件的保存和退出 :w 保存;
:w filename 另存為filename; :wq!保存退出;
:wq!filename 注:以filename為文件名保存后退出; :q!不保存退出;
:x 應(yīng)該是保存并退出,功能和:wq!相同 光標移動
j 向下移動一行; k 向上移動一行; h 向左移動一個字符; l 向右移動一個字符;
插入模式(文本的插入)i 在光標之前插入; a 在光標之后插入;
I 在光標所在行的行首插入; A 在光標所在行的行末插入;
o 在光標所在的行的上面插入一行; O 在光標所在的行的下面插入一行;
s 刪除光標后的一個字符,然后進入插入模式; S 刪除光標所在的行,然后進入插入模式; 文本內(nèi)容的刪除操作 x 一個字符;
#x 刪除幾個字符,#表示數(shù)字,比如3x; dw 刪除一個單詞;
#dw 刪除幾個單詞,#用數(shù)字表示,比如3dw表示刪除三個單詞; dd 刪除一行;
#dd 刪除多個行,#代表數(shù)字,比如3dd 表示刪除光標行及光標的下兩行; 恢復修改及恢復刪除操作; u 撤消修改或刪除操作;
查找
/SEARCH 注:正向查找,按n鍵把光標移動到下一個符合條件的地方; ?SEARCH 注:反向查找,按shift+n 鍵,把光標移動到下一個符合條件的 替換
:s /SEARCH/REPLACE/g 注:把當前光標所處的行中的SEARCH單詞,替換成REPLACE,并把所有SEARCH高亮顯示;
:%s /SEARCH/REPLACE 注:把文檔中所有SEARCH替換成REPLACE;
:#,# s /SEARCH/REPLACE/g 注:#號表示數(shù)字,表示從多少行到多少行,把SEARCH替換成REPLACE;
二:編寫程序和編譯程序
先在home文件夾下建立test文件夾,用于自己的程序開發(fā)。
根據(jù)題目要求編寫相應(yīng)程序:
編寫完程序后保存。
使用gcc命令編譯時發(fā)現(xiàn)如下問題:
后來上網(wǎng)查找后發(fā)現(xiàn)FreeBSD默認不再使用GCC構(gòu)建,使用Clang/LIVM替代GCC作為默認的C/C++編譯器。
于是使用clang命令進行編譯如下:
得到輸出文件后,再新建一個test.txt文件用于測試。然后執(zhí)行可執(zhí)行文件:./a.out
由上可以看出,在執(zhí)行編譯命令后我并沒有指定輸出文件的類型和名稱,a.out為默認輸出的名稱和類型,可以使用clang a.c –o test來生成不同類型和名稱的輸出文件。另外看到提示是輸入文件的路徑,如果是當前文件下的文件,則可以只輸入文件的相對路徑,如果在別的文件夾下則需要輸入文件的絕對路徑。如使用#cp /home/test/test.txt /home/test2.txt復制一個文件到別的目錄后讀取。測試如下:
三:程序源代碼
#include
char path[20];//文件路徑字符串
char msg[100];//讀入數(shù)據(jù)緩存區(qū)
printf(“please enter the path of your filern”);//輸出提示
scanf(“%s”,path);//獲取文件路徑
file = fopen(path);//打開文件
while(fgets(msg,sizeof(masg)-1,file)!=NULL)//逐行讀取文件 直到文件末 { printf(“%s”,msg);//輸出讀取到的文件內(nèi)容 } fclose(file);//關(guān)閉文件 return 0;//返回 } 四:實驗總結(jié)和分析
本次實驗首次使用vi編輯器編寫了一段代碼,并成功的編譯并運行。首先說一下vi編輯器的使用感受,和window不太一樣,它有不同的模式,只有在特定的模式下才能執(zhí)行相應(yīng)的命令或者操作。而且我發(fā)現(xiàn)了另一個很好用的ee編輯器,使用這個編輯器可以很方便的進行文件的操作,主要是它有很豐富的提示。但是為什么vi編輯器是大家常談的呢?主要是vi編輯器體積小巧,功能強大,雖然在大的系統(tǒng)工程方面不太好用,但是正常的使用來說還是足夠的,幾乎所有的類似操作系統(tǒng)都會裝有這一編輯器,學會vi編輯器的使用可以使自己在沒有別的編輯器的情況下還能進行文件的編輯和系統(tǒng)的配置。這樣對于日后的開發(fā)有很大的好處。另外在發(fā)現(xiàn)FreeBSD中沒有安裝gcc時,我嘗試過給器安裝一個gcc編輯器,但是卻失敗了,截圖如下(圖1),希望通過后面的學習安裝上去。
圖1:安裝gcc編譯器失敗
另外我又進行了多文件結(jié)構(gòu)的和多控制臺的測試。就是通過多個控制臺分別編寫多個文件,最后統(tǒng)編譯鏈接成一個可執(zhí)行文件,這樣可以大致模仿出ADE的編輯環(huán)境,進行多個文件的編寫。
第二篇:實驗三GUI編程
實驗三GUI編程
一、實驗?zāi)康模?/p>
1、了解Java系統(tǒng)圖形用戶界面的基本工作原理和界面設(shè)計的步驟
2、了解圖形用戶界面的事件響應(yīng)機制.3、掌握圖形用戶界面各種常用的基本組件的使用方法及其事件響應(yīng).4、掌握圖形用戶界面各種布局策略的設(shè)計與使用.二、實驗時間:
三、實驗地點:
四、實驗內(nèi)容與步驟:
(1)創(chuàng)建一用戶登錄界面,接受用戶輸入的帳號和密碼,給三次輸入機會。
(2)編寫成人身高和體重檢查程序。
要求:身高和體重在兩個不同的文本框中輸入,性別在單選鈕中選擇。
按確定后顯示標準體重和身材比例評價。附:
國際上常用的人的體重計算公式,以及身材比例計算(比較適合東方人)標準體重=(身高cm-100)x0.9(kg)
標準體重(女)=(身高cm-100)x0.9(kg)-2.5(kg)
正常體重:標準體重+-(多少)10%.
超重:大于標準體重10%小于標準體重20%.
輕度肥胖:大于標準體重20%小于標準體重30%.
中度肥胖:大于標準體重30%小于標準體重50%.
重度肥胖:大于標準體重50%以上
(3)實現(xiàn)一個模擬手機的圖形用戶界面,包括一個顯示區(qū)和一個鍵盤區(qū),顯示區(qū)用來顯示數(shù)字和信息,鍵盤區(qū)包括0~9,10個數(shù)字鍵和“發(fā)送”、“清零”、“關(guān)機”三個命令鍵。當用戶按數(shù)字鍵時,相應(yīng)的數(shù)字回顯在顯示區(qū)上;當用戶按“清零”鍵時,顯示區(qū)的數(shù)字清空;當用戶按“發(fā)送”鍵時,顯示區(qū)中出現(xiàn)當前的號碼和“撥號中......”的信息;當用戶按關(guān)機鍵時“正在關(guān)機......”。
第(1)用Application編程,(2)(3)用Applet編程。
五、實驗結(jié)果分析:
第三篇:實驗三 單片機串行口編程(最終版)
仲愷農(nóng)業(yè)工程學院實驗報告紙
信息學院(院、系)專業(yè)班組單片機原理及接口技術(shù)課實驗三單片機串行口編程
一、實驗?zāi)康?、掌握單片機串行口的工作方式;
2、掌握單片機串行口的編程方法。
二、實驗內(nèi)容
1、學習單片機串行口的工作方式、初始化以及應(yīng)用等;
2、利用單片機串行口編寫程序在超級終端輸出輸入相應(yīng)信息并根據(jù)輸入的信息驅(qū)動開發(fā)板上的蜂鳴器按一定規(guī)律工作。
三、實驗設(shè)備
1、STC單片機開發(fā)板;
2、PC機以及串口線。
四、實驗步驟
參考實驗指導書。
五、實驗總結(jié)
第四篇:實驗三 Struts2框架編程-實驗報告紙
南京信息工程大學 實驗(實習)報告
實驗(實習)名稱 Struts2框架編程 實驗(實習)日期 得分 指導教師 院 計軟 專業(yè) 計科 年級 2013級 班次 3 姓名 張文嬌 學號 20131308081
1.實驗?zāi)康模?/p>
1)掌握Struts2框架和工作流程。2)熟悉Struts標簽庫的使用。
3)掌握Struts 2攔截器的原理,并能進行相關(guān)設(shè)置和編程。4)了解和掌握文件上傳等功能實現(xiàn)
2.實驗內(nèi)容:
1)采用Struts2框架,創(chuàng)建三個JSP頁面(hello.jsp、welcome.jsp)和一個Action實現(xiàn)類(StrutsAction),并對web.xml和Struts.xml進行必要配置,實現(xiàn)用戶登錄功能的處理。(參考教材3.1節(jié))
2)采用Struts2相關(guān)技術(shù),實現(xiàn)“學生綜合管理系統(tǒng)”的“添加學生信息”功能(具體需求詳見教材3.7所述)
3.實驗步驟
{對每個實驗題目進行簡要步驟描述,包括源碼和實驗結(jié)果截圖} 1)
1.啟動MyEclips 8.5 2.創(chuàng)建web project項目命名為FirstStruts2 3.添加支持包 4.配置web.xml
5.在工程中創(chuàng)建LoginAction.jsp import dao.CustomerDAO;public class LoginAction {
private String name;private String password;/**在此方法里實現(xiàn)業(yè)務(wù)邏輯處理*/ public String execute()throws Exception {
CustomerDAO dao=new CustomerDAO();boolean boo=dao.check(name, password);if(boo)return “success”;
} else return “error”;public String getName(){ return name;} public void setName(String name){ this.name = name;} public String getPassword(){ return password;} public void setPassword(String password){this.password = password;} } 6.配置struts.xml文件
第五篇:實驗二語言與C語言混合編程
實驗二匯編語言與C語言混合編程
一、教學目的和要求
?
? 熟悉ADS1.2開發(fā)環(huán)境編譯、下載、調(diào)試程序的基本過程; 掌握C和匯編語言混合編程方法。
掌握ATPCS中的寄存器及參數(shù)傳遞規(guī)則。?
二、實驗內(nèi)容
1、分別編寫C程序和匯編程序,要求在C程序中調(diào)用匯編程序?qū)崿F(xiàn)字符串拷貝功能。C程序中設(shè)定源字符串及目的字符串;匯編程序?qū)崿F(xiàn)拷貝功能。
2、分別編寫C程序和匯編程序,要求在匯編程序中調(diào)用C程序?qū)崿F(xiàn)4個整型數(shù)的求和運算。匯編程序?qū)崿F(xiàn)變量的賦值及C函數(shù)的調(diào)用;C程序?qū)崿F(xiàn)求和運算。
3、編寫C程序內(nèi)嵌匯編語句,對兩個整型數(shù)a、b進行求和運算,和值存放到變量c中。
(1)要求main()函數(shù)完成變量賦值及a、b、c數(shù)值信息輸出;內(nèi)嵌匯編語句實現(xiàn)求和計算。
(2)要求C程序中main()函數(shù)完成變量賦值及a、b、c信息打印,add()函數(shù)實現(xiàn)加法
運算;main()函數(shù)中的內(nèi)嵌匯編調(diào)用C函數(shù)add()進行求和運算。
三、思考題
1、什么是ATPCS?它有哪些規(guī)則?
2、C程序調(diào)用匯編程序需要進行哪些設(shè)置?參數(shù)如何傳遞?
3、匯編程序調(diào)用C程序需要進行哪些設(shè)置?參數(shù)如何傳遞?
4、C程序中內(nèi)嵌的匯編語句有何限制?用什么關(guān)鍵字表示內(nèi)嵌匯編?