版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計報告</b></p><p> ( 2015——2016年度第一學期)</p><p> 名 稱: UNIX程序設計課程設計 </p><p> 題 目: </p><p> 院 系:
2、 </p><p> 班 級: </p><p> 學 號: </p><p> 學生姓名: </p><p> 指導教師:
3、</p><p> 設計周數(shù): </p><p> 成 績: </p><p> 日期: 年 月 日</p><p><b> 目 錄</b></p><p>
4、;<b> 1. 設計任務1</b></p><p><b> 3. 設計步驟1</b></p><p> 2.1 開發(fā)環(huán)境配置1</p><p> 2.2 開發(fā)工具1</p><p> 3. 程序開發(fā)步驟1</p><p> 4. 遇到的問題及相應
5、解決辦法1</p><p> 5. 個人體會及建議1</p><p><b> 參考文獻2</b></p><p><b> 1. 設計任務</b></p><p> 設計題目、任務及完成情況的大致說明,讓老師能夠了解你所做工作的大體情況。(每個人都要獨立完成下面三個題目,不要相互抄襲
6、!切記!)</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)絡yum源:</p><p> 用cat /etc/yum.repos.d/CentOS-Base.repo命令查看,網(wǎng)絡yum配置,如圖:</p><p><b> 所以可以直
9、接用。</b></p><p> 3)yum install gcc –y 命令來安裝</p><p><b> 2.2 開發(fā)工具</b></p><p> 1) vi的簡單應用</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 在當前光標處插入, I 行首插入 </p><p> a,A: 追加命令,a 在當前光標后追加,A 在行末追加 </p><p> o,O: 打開命令,o 在當前行下打開一行,O在當前行上插入一行 </p><p> x:
14、 刪除光標處字符 </p><p> dd: 刪除當前行 </p><p> d0: 刪除光標前半行 </p><p> d$: 刪除光標后半行 </p><p> r,R : 替換命令,r 替換當前光標處字符,R從光標處開始替換</p><p>
15、/string: 查找字符串 </p><p> n : 繼續(xù)查找 </p><p> N : 反向繼續(xù)查找 </p><p> % :查找對應括號 </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(練習)</p><p> 2)通過cd /lianxi進入到練習目錄</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í)行結果如圖:</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文件內容:Makefile文件以依賴方式寫,并且呈現(xiàn)遞歸:</p><p> # this is make file ##
44、注釋,寫說明</p><p> test.out:max.o min.o test.c ##test.out的對應的依賴關系</p><p> gcc max.o min.o test.c –o test.out ##命令:編譯成test命名的.out文件的gcc命令</p><p> max.o:max.c ##max.o 對應
45、的依賴包</p><p> gcc -c max.c ##生成max.o的gcc命令</p><p> min.o:min.c ##min.o對應的依賴關系包</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依賴關系由第二行開始執(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 ##編譯后的輸出結果</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和相關的數(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,其內容:</p><p> 5.2、測試:在火狐瀏覽器中輸入本地回環(huán)地址127.0.0.1/test.php:</p><p> 成功顯示需要有Apache和MySQL等相關內容:</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';//服務器地址</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í)行結果:成功</b></p><p> 4到的問題及相應解決辦法</p><p> 在設計過程中出現(xiàn)的問題,以及你的解決方法,從調試中有什么收
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)境下應該怎么吧.h文件和.c文件分開。
58、不知道Makefile文件是什么,怎么制作。</p><p><b> 解決方法:</b></p><p> 1、上網(wǎng)了解Linux系統(tǒng)的基本情況,然后再根據(jù)網(wǎng)上教程在虛擬機中安裝CentOS6.3版本。同時在網(wǎng)上查看Linux的一些編程相關的vi編輯器的基本操作命令。</p><p> 2、在圖書館找來shell的編程書籍,了解shel
59、l編程的基本語法,在再慕課網(wǎng)上看</p><p> 相關的shell編程。</p><p> 3、關于Makefile文件,在網(wǎng)上查找相關解釋。</p><p><b> 收獲:</b></p><p> 在解決問題的過程中,我學到了很多的Linux的環(huán)境編程,以及shell編程的相關語法,也了解了Linux系統(tǒng)
60、的基本工作機制;至于Makefile相當于Windows系統(tǒng)下IDE環(huán)境下的庫的依賴關系,在Linux中就需要我們自己去制作這個庫的依賴關系,了解到Makefile是大型程序開發(fā)需要用到的。所以在學習和查找資料的過程中受益匪淺。</p><p> 5. 個人體會及建議</p><p> 對本次的課程設計的一個綜合體會,從本次課程設計學到了什么,對本課程設計有什么建議都可以在這一部分體現(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 程序設計課程設計報告
- 程序設計課程設計報告
- matlab程序設計 課程設計
- java課程設計--java面向對象程序設計課程設計
- 程序設計課程設計--鏈表操作
- java課程設計---java程序設計
- matlab程序設計 課程設計 (2)
- 《java程序設計》課程設計報告
- 【課程設計】面向對象程序設計
- 掃雷課程設計--掃雷程序設計
- 課程設計--linux c 程序設計
- 面向對象程序設計課程設計
- 課程設計--約瑟夫環(huán)程序設計
- 程序設計基礎課程設計
- c語言程序設計課程設計
- web程序設計課程設計報告
- 面向對象程序設計課程設計
- linux程序設計課程設計報告
- java課程設計--java程序設計
- 加密解密程序設計課程設計
評論
0/150
提交評論