2023年西北工業(yè)大學操作系統(tǒng)實驗報告實驗三_第1頁
2023年西北工業(yè)大學操作系統(tǒng)實驗報告實驗三_第2頁
2023年西北工業(yè)大學操作系統(tǒng)實驗報告實驗三_第3頁
2023年西北工業(yè)大學操作系統(tǒng)實驗報告實驗三_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

實驗三LINUX的C語言編程一、實驗目的學習在FreeBSD下使用vi編輯c語言代碼,使用gcc編譯,并運營。二、實驗內(nèi)容與規(guī)定1、查閱資料,掌握vi編輯器的基本使用,涉及兩種不同模式的區(qū)別,如何在兩種模式之間切換,以及常用的編輯命令等;2、使用vi編寫一個c程序,規(guī)定該程序通過命令行接受用戶的輸入,其輸入?yún)?shù)為FreeBSD系統(tǒng)中的任意文本文獻,接受輸入后,c程序讀取該文獻內(nèi)容,并打印在屏幕上。編輯好后,存為.c文獻(如a.c),使用gcc編譯該文獻,運營結果文獻。3、具體記錄學習的內(nèi)容和實驗的整個過程,涉及用到的vi命令,c程序源代碼,gcc命令,以及執(zhí)行結果文獻的命令等;4、對整個實驗過程進行分析總結,給出具體環(huán)節(jié);三、實驗過程1、Vi編輯器的基本使用(1)Vi工作模式及其切換Vi存在兩種模式:指令模式和輸入模式。在指令模式下輸入的按鍵將做為指令來解決:如輸入a,Vi即認為是在當前位置插入字符。而在輸入模式下,Vi則把輸入的按鍵當作插入的字符來解決。指令模式切換到輸入模式只需鍵入相應的輸入命令即可(如a,A),而要從輸入模式切換到指令模式,則需在輸入模式下鍵入ESC鍵,假如不曉得現(xiàn)在是處在什么模式,可以多按幾次[ESC]。(2).常用命令.vi#在命令行中輸入Vi,進入vi編輯器.i#按一下i鍵,下端顯示一一INSERT—a#插入命令,在vi中也許任意字符都有作用.Esc#退出i(插入)命令進行其它命令使用4a.:rfilename#讀入一個文獻內(nèi)容,并寫入到當前編輯器中5.:wnewfi1enamo#將該編輯器中的內(nèi)容寫入到一個新文獻中6A.:w#在編輯的過程中保存文獻,相稱于word中的ctrl+s7A.:!command#暫時離開vi到指令列模式卜.執(zhí)行command的顯示結果!例如a:!1s#在編輯過程中執(zhí)行she11命令Is:sh#進入she11命令行,執(zhí)行完命令后ctrl+d退出重新進入vim編輯繼續(xù)編輯在shel1命令下,執(zhí)行ctral+1完畢清屏:wq#保存文獻并退出10.ZZ#保存文獻并退出,同上一個命令,注意大寫a11.:q!#強制退出,不保存^12.:setnumber或者:setnu#使編輯中的文獻顯示行號a13.:setnonumber或者:setnonu#與上一條命令相反,不顯示行號144:helpi才查看插入命令幫助15.u#撤消上一步操作16./Fedora#查找Fedora字符174:s/Fedora/Redhat#將Fedora字符替換為Redhat(只替換在光標所在的行)>8.d曲刪除單詞,dd#刪除行19.o#打開空白一行20.vim+fi1ename#進行文獻最后一行進行編輯21A.vim+nfi1ename#進入文獻第n行進行編輯1.:2%.s/redhat/fedora#.號表達當前行,即光標所在行#將第1行到當前行(.)第一次出現(xiàn)的redhat字符代替為fedora23.:1,.s/redhat/fedora/g#將第1行到當前行(.)所有出現(xiàn)的redhat字符代替為fedora,g全局標志1.:24a,$s/redhat/fedora/g#$表達最后一行▲#將第1行到最后一行所有出現(xiàn)的redhat字符代替為fedora25.:%s/redhat/fedora/g#同上一個命令26.:%s/redhat\/fedora/g#將第1行到最后一行所有出現(xiàn)的redhai字代替為fedorm#字,而不是字符2A7.:f#顯示文獻內(nèi)容,狀態(tài)等率#同“r1+g命令2外.:e!#當前文獻,返回到上次保徒:efile并切換編輯文獻29.:n#當編輯時有多個文獻(比如vimfile!file2)時切換到下一個文獻,與:efi1e結合使用基本使用如下圖所示:root#root#rootttrootttroot#viLtxt.helloworld

'he1loTom!J"hellohoeId"'helloTom!m:Hi

2、使用vi編寫一個c程序,讀取文獻內(nèi)容,并打印在屏幕上。假設讀取文獻a.txt中的內(nèi)容,a.txt中的內(nèi)容如下圖所示:cdcdcdcdcdcdcdcdcdcdcdcdcd源程序為a.c,源程序內(nèi)容如卜.所示:cdcdcdcdcdcdcdcdcdcdcdcdcd#include<stdio.h>#include<stdlib.h>#include<String.h>intmain(vOid)intch=0;。FILE*fp=NULL;。chars[100|;printf("請輸入文獻名:\n”);scanf("%s",s);if(fp==NULL){oprintf("\nCann'topenthefile!");。exii(1);)。elsc。{while((ch=fgetc(fp))!=EOF)(pulehar(ch);〃或者printf("%c",ch);。}printf("\n");。。fc1ose(fp);)return0;運營結果如卜圖所示:root#rootttroot#gcca.croot#./a.outPleaseenterthefilenane:a.txtaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbccccccccccccccccccccddddddddddddddddddddroot#.四、實驗分析與總結在實驗過程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論