版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> ( 2015——2016年度第一學(xué)期)</p><p> 名 稱: UNIX程序設(shè)計課程設(shè)計 </p><p> 題 目: </p><p> 院 系:
2、 </p><p> 班 級: </p><p> 學(xué) 號: </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師:
3、</p><p> 設(shè)計周數(shù): </p><p> 成 績: </p><p> 日期: 年 月 日</p><p><b> 目 錄</b></p><p>
4、;<b> 1. 設(shè)計任務(wù)1</b></p><p><b> 3. 設(shè)計步驟1</b></p><p> 2.1 開發(fā)環(huán)境配置1</p><p> 2.2 開發(fā)工具1</p><p> 3. 程序開發(fā)步驟1</p><p> 4. 遇到的問題及相應(yīng)
5、解決辦法1</p><p> 5. 個人體會及建議1</p><p><b> 參考文獻2</b></p><p><b> 1. 設(shè)計任務(wù)</b></p><p> 設(shè)計題目、任務(wù)及完成情況的大致說明,讓老師能夠了解你所做工作的大體情況。(每個人都要獨立完成下面三個題目,不要相互抄襲
6、!切記?。?lt;/p><p> 1、完成Linux下的shell編程,要利用shell編程實現(xiàn)某一個具體的功能。</p><p> 2、完成Linux下的C語言編程,要求至少包括兩個文件,比如一個test.c,test.h,test.h中包含了test.c中的聲明,分別利用gcc和makefile進行編譯。</p><p> 3、完成Linux下PHP+MySQ
7、L的編程,能夠完成一個簡單的具有數(shù)據(jù)庫存儲功能的網(wǎng)站。</p><p> 2.1 開發(fā)環(huán)境配置</p><p> 所以我用的是CentOS 6.3版本,在該環(huán)境下面完成實驗</p><p> 1、Linux下本身就有shell功能,所以不需要配置,可以直接用。</p><p> 2、而要用到gcc編譯器,首先要檢查Linux環(huán)境是否
8、已經(jīng)安裝gcc,命令如圖:</p><p> 如果還沒有安裝: 1)首先配置yum源。</p><p> 2)我的CentOS已經(jīng)本身就配置好網(wǎng)絡(luò)yum源:</p><p> 用cat /etc/yum.repos.d/CentOS-Base.repo命令查看,網(wǎng)絡(luò)yum配置,如圖:</p><p><b> 所以可以直
9、接用。</b></p><p> 3)yum install gcc –y 命令來安裝</p><p><b> 2.2 開發(fā)工具</b></p><p> 1) vi的簡單應(yīng)用</p><p> vi是linux環(huán)境下赫赫有名的文本編輯工具之一。</p><p> 進入v
10、i編輯器的方法: vi filename.c 注:文件名必須帶有擴展名.c,如 filename.c否則無法通過編譯;</p><p> 進入vi后要按:按“i”鍵從命令方式切換到輸入方式;</p><p> 從輸入方式切換到命令方式的方法:按“Esc”鍵</p><p> 保存文件 :w</p><p> 保存文件并
11、退出 :wq</p><p> 不保存文件退出 :q!</p><p> 注:以上操作必須在命令方式下進行。</p><p> 2) 其他常用vi操作命令</p><p> j,k,h,l:上下左右</p><p><b> 0: 行首 </b></p>
12、;<p><b> $: 行尾 </b></p><p> ctrl+f :后翻頁 </p><p> ctrl+b:前翻頁 </p><p><b> G : 文件尾 </b></p><p> 數(shù)字G: 數(shù)字所指定行 &
13、lt;/p><p> i,I : 插入命令,i 在當(dāng)前光標處插入, I 行首插入 </p><p> a,A: 追加命令,a 在當(dāng)前光標后追加,A 在行末追加 </p><p> o,O: 打開命令,o 在當(dāng)前行下打開一行,O在當(dāng)前行上插入一行 </p><p> x:
14、 刪除光標處字符 </p><p> dd: 刪除當(dāng)前行 </p><p> d0: 刪除光標前半行 </p><p> d$: 刪除光標后半行 </p><p> r,R : 替換命令,r 替換當(dāng)前光標處字符,R從光標處開始替換</p><p>
15、/string: 查找字符串 </p><p> n : 繼續(xù)查找 </p><p> N : 反向繼續(xù)查找 </p><p> % :查找對應(yīng)括號 </p><p> u :取消上次操作 </p><p> 注:以上操作必須在命令方式下進行。<
16、/p><p> 1.2.2 gcc的使用</p><p> gcc是linux下的一種c程序編譯工具,使用方法如下(有提示符#的情況):</p><p> 編譯: gcc –o filename1 filename.c</p><p> 其中: filename.c是源文件名,filename1 是目標文件名,o代表object&l
17、t;/p><p> 執(zhí)行:./filenamel</p><p> 示例:鍵入一簡單的程序:</p><p> vi ab.c 按回車鍵輸入以下代碼段,</p><p> #include<stdio.h></p><p> #include<unisted.h></p>&
18、lt;p><b> main()</b></p><p> {printf(“aaaa”);</p><p><b> }</b></p><p> 按ESC鍵,再按“:WQ”(W是保存,Q是退出)</p><p> 出現(xiàn)提示符:[root @GGG-LINUX root]#<
19、/p><p> 鍵入:gcc –o ab ab.c進行編譯。</p><p><b> 執(zhí)行:./ab</b></p><p><b> 3. 程序開發(fā)步驟</b></p><p> 3.1、shell編程:</p><p> 1)首先打開Linux操作系統(tǒng),進入到根目
20、錄下,創(chuàng)建一個自己的目錄,我把這個目錄命名為lianxi(練習(xí))</p><p> 2)通過cd /lianxi進入到練習(xí)目錄</p><p> 3)在該目錄下使用:vim shell.sh然后實現(xiàn)shell編程,代碼如下:</p><p><b> 代碼解析:</b></p><p> ============
21、=================================================</p><p> #!/bin/bash </p><p> #function:create directory and empty file</p><p> #auther:LuTeng</p>
22、;<p> #time:2015-12-17</p><p> #company:Guanmgxi university</p><p> ##=============================#</p><p> echo " 1. create directory" ##輸入1為創(chuàng)建目
23、錄文件夾</p><p> echo " 2. create empty file" ##輸入2為創(chuàng)建空文件</p><p> echo " 3. exit" ##輸入3退出</p><p> echo "please input your choo
24、se option:"</p><p> read Option##read用來讀取輸入操作</p><p> echo "your choose : $Option" ##輸入</p><p> ##============================# ##進入case語句</p&
25、gt;<p> case $Option in##輸入1后的操作</p><p><b> 1)</b></p><p> echo "please key in your want to create directory PATH:"</p><p> read c_path
26、 ##輸入路徑,如:/lianxi</p><p> cd $c_path##進入所輸入的路徑下</p><p> read -p "please key in directory name:" d_name ##輸入所要創(chuàng)建文件夾名</p><p> mkdir ${d_name}{1..
27、10} ##創(chuàng)建10個并且以1到10為區(qū)分的所輸入文件夾名創(chuàng)建文件夾</p><p> ls #ls 命令表示查看該目錄下文件</p><p><b> ;;</b></p><p> 2) ##如果選擇第二個,則</p><p> echo "please key in yo
28、ur want to create empty file PATH"</p><p> read c_path</p><p> cd $c_path </p><p> read -p "please key in file name" f_name ##輸入空文件名</p><p> to
29、uch ${f_name}{1..10} ##創(chuàng)建十個剛命名的文件名,以1到10 為區(qū)分 </p><p><b> ls</b></p><p><b> ;;</b></p><p> 3)##如果選擇3則退出</p><p> exit
30、</p><p><b> ;;</b></p><p><b> *) </b></p><p> echo "please input 1/2/3" </p><p><b> ;;</b></p>&
31、lt;p><b> Esac</b></p><p><b> 執(zhí)行結(jié)果如圖:</b></p><p> 1)創(chuàng)建文件夾,文件夾名為:Luteng</p><p> 2)創(chuàng)建空文件:文件名為love</p><p> 3.2 C語言編程:</p><p>
32、 3.21【gcc編譯】</p><p> 簡單的.c和.h函數(shù)。上為.c文件,下為.h文件,代碼如圖:</p><p> Test.c 代碼:</p><p><b> Max.c代碼:</b></p><p><b> Min.c代碼:</b></p><p>
33、<b> 代碼:</b></p><p><b> .c 文件:</b></p><p><b> Test.c文件</b></p><p> #include<stdio.h></p><p> #include"max.h"<
34、/p><p> #include"min.h"</p><p> int main()</p><p><b> {</b></p><p> int a1=54;</p><p> int a2=20;</p><p> int MaxNum=
35、max(a1,a2);</p><p> int MinNum=min(a1,a2);</p><p> printf("the max value is %d\n the min value is %d\n",MaxNum,MinNum);</p><p><b> return 0;</b></p>
36、<p><b> }</b></p><p><b> Max.c文件:</b></p><p> int max(int a, int b)</p><p><b> {</b></p><p><b> if(a>b){</b>
37、;</p><p><b> return a;</b></p><p><b> }else{</b></p><p><b> return b;</b></p><p><b> }</b></p><p><b
38、> }</b></p><p><b> Min.c文件:</b></p><p> int min(int a, int b)</p><p><b> {</b></p><p><b> if(a<b){</b></p>&
39、lt;p><b> return a;</b></p><p><b> }else{</b></p><p><b> return b;</b></p><p><b> }</b></p><p><b> }</b&
40、gt;</p><p> 聲明 .h(庫文件)頭文件:</p><p> 對max.c 聲明庫文件:</p><p><b> 編輯max.h:</b></p><p> 即:int max(int a,int b );</p><p> 對min.c聲明庫文件:</p>
41、<p><b> 編輯min.h</b></p><p> 即:int min (int a, int b);</p><p> 通過gcc 對min.c 和max.c 將其編譯成二進制語言min.o 和max.o :</p><p> 命令:gcc –c min.c –o min.o /gcc –c max.c –o ma
42、x.o</p><p> 生成min.o和max.o文件后進行編譯成可執(zhí)行文件:</p><p> 命令:gcc min.o max.o test.c -o test.out回車生成可執(zhí)行文件,通過./test.out 輸出:</p><p> 3.22【通過make 工具和Makefile文件 】</p><p> 1)首
43、先看是否安裝了make工具,通過:make –v 來查看:</p><p> 我的機器安裝的是 Make 3.18版本</p><p> 2)制作Makefile文件:</p><p> Makefile文件內(nèi)容:Makefile文件以依賴方式寫,并且呈現(xiàn)遞歸:</p><p> # this is make file ##
44、注釋,寫說明</p><p> test.out:max.o min.o test.c ##test.out的對應(yīng)的依賴關(guān)系</p><p> gcc max.o min.o test.c –o test.out ##命令:編譯成test命名的.out文件的gcc命令</p><p> max.o:max.c ##max.o 對應(yīng)
45、的依賴包</p><p> gcc -c max.c ##生成max.o的gcc命令</p><p> min.o:min.c ##min.o對應(yīng)的依賴關(guān)系包</p><p> gcc -c min.c ##生成min.o的gcc命令</p><p> 寫好Makefile文件后,在
46、Makefile文件夾所在目錄下,執(zhí)行:</p><p><b> Make命令:</b></p><p> [root@bogon test]# ls</p><p> Makefile max.c max.h min.c min.h test.c</p><p> [root@bogon test]
47、# make ##編寫Makefile后直接用make命令執(zhí)行,就會將Makefile依賴關(guān)系由第二行開始執(zhí)行,最后執(zhí)行第一行</p><p> gcc -c max.c</p><p> gcc -c min.c</p><p> gcc max.o min.o test.c -o test.out</p><p> [ro
48、ot@bogon test]# ls ##編譯成可執(zhí)行test.out 文件</p><p> Makefile max.c max.h max.o min.c min.h min.o test.c test.out</p><p> [root@bogon test]# ./test.out ##編譯后的輸出結(jié)果</p><p>
49、 the max value is 54</p><p> the min value is 20</p><p> [root@bogon test]#</p><p> -----------</p><p> 3.3 完成Linux下PHP+MySQL的編程,能夠完成一個簡單的具有數(shù)據(jù)庫存儲功能的網(wǎng)站。</p>&
50、lt;p> 1、首先通過這條命令來安裝PHP和相關(guān)的數(shù)據(jù)庫:</p><p><b> 2、 安裝成功后:</b></p><p> 3、啟動Apache(阿帕奇),即hpptd:</p><p> 4、啟動MySQL:</p><p> 5、測試是否環(huán)境配置成功:</p><p>
51、; 5.1、先做一個測試程序:在 /var/www/html 創(chuàng)建一個test.php,其內(nèi)容:</p><p> 5.2、測試:在火狐瀏覽器中輸入本地回環(huán)地址127.0.0.1/test.php:</p><p> 成功顯示需要有Apache和MySQL等相關(guān)內(nèi)容:</p><p> 以上說明已經(jīng)安裝成功。</p><p> 3.
52、31、代碼實現(xiàn)數(shù)據(jù)庫功能的網(wǎng)站:</p><p> 首先配置MySQL用戶和密碼:</p><p><b> 創(chuàng)建數(shù)據(jù)庫:</b></p><p><b> 顯示庫:</b></p><p><b> 實現(xiàn)連接代碼:</b></p><p>&l
53、t;b> 代碼:</b></p><p><b> <?php</b></p><p> //php連接mysql數(shù)據(jù)庫</p><p> $host='127.0.0.1';//服務(wù)器地址</p><p> $root='root';//數(shù)據(jù)庫用戶名&l
54、t;/p><p> $pwd='123456';//數(shù)據(jù)庫密碼</p><p> $con=mysql_connect($host,$root,$pwd);</p><p> if($con==false){</p><p> echo"連接數(shù)據(jù)庫失敗 ";</p><p>&
55、lt;b> }</b></p><p><b> else{</b></p><p> echo"歡迎來到我的測試網(wǎng)頁 ";</p><p> echo("本月是:");</p><p> echo date('Y-m');</p
56、><p><b> }</b></p><p><b> ?></b></p><p><b> 執(zhí)行結(jié)果:成功</b></p><p> 4到的問題及相應(yīng)解決辦法</p><p> 在設(shè)計過程中出現(xiàn)的問題,以及你的解決方法,從調(diào)試中有什么收
57、獲。</p><p><b> 出現(xiàn)的問題:</b></p><p> 1、因為不太熟悉Linux環(huán)境,所以不知如何下手。</p><p> 2、對于shell編程不了解</p><p> 3、因為Linux環(huán)境下沒有IDE環(huán)境,C語言的編程的環(huán)境不了解,不知道在Linux環(huán)境下應(yīng)該怎么吧.h文件和.c文件分開。
58、不知道Makefile文件是什么,怎么制作。</p><p><b> 解決方法:</b></p><p> 1、上網(wǎng)了解Linux系統(tǒng)的基本情況,然后再根據(jù)網(wǎng)上教程在虛擬機中安裝CentOS6.3版本。同時在網(wǎng)上查看Linux的一些編程相關(guān)的vi編輯器的基本操作命令。</p><p> 2、在圖書館找來shell的編程書籍,了解shel
59、l編程的基本語法,在再慕課網(wǎng)上看</p><p> 相關(guān)的shell編程。</p><p> 3、關(guān)于Makefile文件,在網(wǎng)上查找相關(guān)解釋。</p><p><b> 收獲:</b></p><p> 在解決問題的過程中,我學(xué)到了很多的Linux的環(huán)境編程,以及shell編程的相關(guān)語法,也了解了Linux系統(tǒng)
60、的基本工作機制;至于Makefile相當(dāng)于Windows系統(tǒng)下IDE環(huán)境下的庫的依賴關(guān)系,在Linux中就需要我們自己去制作這個庫的依賴關(guān)系,了解到Makefile是大型程序開發(fā)需要用到的。所以在學(xué)習(xí)和查找資料的過程中受益匪淺。</p><p> 5. 個人體會及建議</p><p> 對本次的課程設(shè)計的一個綜合體會,從本次課程設(shè)計學(xué)到了什么,對本課程設(shè)計有什么建議都可以在這一部分體現(xiàn)
61、出來。</p><p><b> 參考文獻</b></p><p> [1] 作者1,作者2,……作者n 文章名. 期刊名. 出版年, 卷次(期次):頁次. (期刊類)</p><p> [2] 作者1,作者2,……作者n. 書名. 版本. 出版地: 出版社, 出版年:頁次. (圖書類)</p><p> [序號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 程序設(shè)計課程設(shè)計報告
- 程序設(shè)計課程設(shè)計報告
- matlab程序設(shè)計 課程設(shè)計
- java課程設(shè)計--java面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 程序設(shè)計課程設(shè)計--鏈表操作
- java課程設(shè)計---java程序設(shè)計
- matlab程序設(shè)計 課程設(shè)計 (2)
- 《java程序設(shè)計》課程設(shè)計報告
- 【課程設(shè)計】面向?qū)ο蟪绦蛟O(shè)計
- 掃雷課程設(shè)計--掃雷程序設(shè)計
- 課程設(shè)計--linux c 程序設(shè)計
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- 課程設(shè)計--約瑟夫環(huán)程序設(shè)計
- 程序設(shè)計基礎(chǔ)課程設(shè)計
- c語言程序設(shè)計課程設(shè)計
- web程序設(shè)計課程設(shè)計報告
- 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計
- linux程序設(shè)計課程設(shè)計報告
- java課程設(shè)計--java程序設(shè)計
- 加密解密程序設(shè)計課程設(shè)計
評論
0/150
提交評論