国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
從C語言實(shí)戰(zhàn)談編程:vi(編輯源程序)上(2011

、 上篇要點(diǎn)回顧和點(diǎn)評(píng)

1、    上篇對(duì)hello world程序進(jìn)行了比較深入分析。

2、    一個(gè)完整程序是什么樣的?分幾個(gè)部分組成?請(qǐng)回顧一下!

3、    談了main,這個(gè)是討論最激烈的話題。請(qǐng)問為啥我沒有寫成 int main(void)?

4、    上篇還談了,語法、函數(shù)的調(diào)用、.h的引用、關(guān)鍵字、轉(zhuǎn)義符、流。還記得嗎?

5、    知道exit和return的區(qū)別和用的地方嗎?

6、     布置了思考題:顯示三個(gè)hello world!你是怎樣完成的?

1)連續(xù)寫3行fprintf

2)用循環(huán)語句循環(huán)3次fprintf

3)在原fprintf中hello world!\n后面,添加hello world!\n hello world!\n

4)其他方法。

你是用哪種方法?。

出這思考的目的就是告訴大家,一個(gè)問題有很多答案,但是不同答案一定有優(yōu)劣之差。我們不但要給出答案,而且要給出最佳答案,這樣我們才能提升我們的編程水平。

7、     上篇最重要的是,提出來程序好壞的比較的量化標(biāo)準(zhǔn),那就是程序的長(zhǎng)短。沒有了量化標(biāo)準(zhǔn),任何一個(gè)程序員都會(huì)說自己的最好,(很多人習(xí)慣這種思維方式,用每個(gè)人有每個(gè)人方法,這樣可以保護(hù)自己的弱點(diǎn),但是他們不知道,這種保護(hù)是你進(jìn)步最大的障礙)如果這樣程序也無所謂好壞來,但是,事實(shí)上程序差距是很大的。其他的方面的好壞都應(yīng)該建立這個(gè)基礎(chǔ)之上。

二、 編輯在C語言中的作用

    1、編輯的概念和內(nèi)容  

我們一直說編程的流程:編輯、編譯、運(yùn)行.其中,編輯是編程的第一步。你能說出什么是編輯?編輯文件有哪些嗎?一般而言編輯主要是指編輯工具和編輯內(nèi)容兩個(gè)方面。編輯工具是指編輯文件的軟件。而編輯內(nèi)容主要是建立項(xiàng)目中的各種源程序、批處理程序和參數(shù)文件。記?。壕庉嬍侵?、編輯各種源程序 2、批處理程序 3、參數(shù)文件。記住這些我們可以有個(gè)概念上的掌握。有了這個(gè)概念的掌握,今后我們就可以有意識(shí)地去去知道我們要掌握那些東西,為這些做好準(zhǔn)備。

1)      源程序

是指包含程序語言的語句,通過編譯可以變成可執(zhí)行文件和中間文件。例如,C語言中的 *.c、 *.h文件.

2)      批處理文件

是指操作系統(tǒng)可以逐行執(zhí)行的文本文件。這個(gè)在C語言中應(yīng)用很多,例如,批編譯命令文件、shell命令等。

3)      參數(shù)文件

是指程序中為了靈活適應(yīng)特定的變化,而建立的數(shù)據(jù)文件。參數(shù)文件的特點(diǎn)是不可執(zhí)行,但可以被程序所調(diào)用。

 

  2、編輯工具  

從理論上來說,任何文本編輯軟件都可以作為程序的編輯工具。記住這句話有什么用?就是當(dāng)你想去修改一個(gè)源程序的時(shí)候,不必非要安裝這個(gè)語言的開發(fā)環(huán)境,隨手找個(gè)編輯軟件編輯一下就可以了。由于源程序是文本文件,所以只要能夠打開這個(gè)文件就可以編輯了。

給新手回憶一下過去的C語言編輯軟件:開始的時(shí)候,編輯軟件和程序設(shè)計(jì)語言是相分離的。DOS系統(tǒng)那時(shí)用的是EDLINE,unix 用的是vi。后來DOS用的是EDIT,再后來用的是記事本、word等,再后來就直接用語言中自帶的文本編輯器了。

 

   3、編輯的作用

   1、產(chǎn)生源程序

      如果我們連編輯都不會(huì),那我們就無法產(chǎn)生源程序,那我們就無法成為程序員了。程序員第一個(gè)職責(zé)可能就是會(huì)編寫程序。可見掌握編輯工具是多么重要。

   2、編輯程序

      程序并不是一次產(chǎn)生就ok,在絕大多數(shù)情況下,程序員要不斷地修改,不斷地增加自己的程序,而編輯正是實(shí)現(xiàn)這種修改的有利的工具,沒有編輯工具,發(fā)現(xiàn)程序錯(cuò)誤,就可能無法修改。

   3、調(diào)試程序

      我們?cè)谡{(diào)試程序的時(shí)候,會(huì)查看源程序到底是怎么寫的。dbx 這個(gè)C語言調(diào)試程序中就提供了一個(gè)e命令,用vi打開源程序,以幫助調(diào)試者去發(fā)現(xiàn)錯(cuò)誤的原因。

   4、編輯程序用到的參數(shù)文件和批命令文件

     現(xiàn)實(shí)中很少有那種沒有參數(shù)的C語言的應(yīng)用程序,C語言需要輸入,才能加工后輸出,因此程序員不但要編寫程序,而且還要編輯參數(shù)文件,以便程序順利運(yùn)行。

     另外,一個(gè)問題的解決很少是一個(gè)程序就能擺平的,因此,邏輯性地運(yùn)行不同的程序,即使得程序更加模塊,又可以使得程序組合更加靈活,更可以讓程序象接龍一樣,不斷向前。因此,編輯批命令文件也是編輯程序一個(gè)重要的功能。

三、 如何學(xué)習(xí)vi

  下面言歸正傳,C語言可以有很多編輯程序:有行編輯,有屏幕編輯,有unix的編輯,有window的編輯,有功能強(qiáng)大的編輯程序,也有功能簡(jiǎn)單的編輯程序,有開發(fā)語言自帶的編輯程序,也有獨(dú)立的編輯程序。以我的經(jīng)驗(yàn),如果你是專業(yè)從事unix環(huán)境的后臺(tái)程序開發(fā)的,且用C語言的,vi一定是首選的編輯程序。

1、       首先學(xué)習(xí)vi并不難,千萬不要有畏難情緒,任何人都能學(xué)會(huì),而且時(shí)間不長(zhǎng),有人指導(dǎo),一般一天就足夠入門了。

2、       最好找一個(gè)懂vi的人作為咨詢對(duì)象,不要抱著書學(xué),然后就可以開始進(jìn)行了。

3、       注意學(xué)習(xí)方法,先不要問為啥,先按要求去做,學(xué)會(huì)模仿,然后再自己琢磨。

4、       在練習(xí)之前,大家要記住2點(diǎn):第一,vi不是一個(gè)屏幕編輯器,而是一個(gè)行編輯,以行為單位進(jìn)行的編輯。不用鼠標(biāo),只能手打。第二個(gè),vi是一個(gè)區(qū)分大小寫的。因此要特別注意vi中各種命令的大小寫。

下面我以實(shí)戰(zhàn)方式,試著教教大家學(xué)習(xí)vi。

 

第一步:學(xué)習(xí)進(jìn)入vi和退出vi

     首次學(xué)習(xí)vi的朋友,可以先從運(yùn)行vi開始。

我們假定編輯的文件名為a.c,則在操作系統(tǒng)的命令行狀態(tài)下,鍵入:vi a.c(命令行結(jié)束都需要鍵入回車,這里就不在提示了.另,注意在UNIX操作系統(tǒng)下是認(rèn)大小寫的,不要將vi寫成大寫VI)

這時(shí)你則進(jìn)入了vi.這時(shí)你會(huì)看到在屏幕的左下方,顯示a.c [New file],這是vi告訴你,你正在編輯a.c,a.c是一個(gè)新文件。

進(jìn)入后,你別急于編輯文字。立即鍵入::q回車。這時(shí)你從vi退出到操作系統(tǒng)命令行狀態(tài)了。q應(yīng)該是quit縮寫吧。

將進(jìn)入和退出操作多練習(xí)幾遍,你就已經(jīng)學(xué)會(huì)了使用最簡(jiǎn)單的vi了。在此間,你要克制如何編輯沖動(dòng),先把進(jìn)入和退出掌握好。學(xué)習(xí)的時(shí)候,我們往往往前考慮過多,其實(shí)沒有必要,一般只要按部就班學(xué)習(xí)就行了。在眼前,就學(xué)眼前,不要多想。第一步會(huì)了,我們往下走。

第二步,學(xué)習(xí)增加字符串。

這個(gè)步驟就是學(xué)習(xí)如何在vi中增加一個(gè)字符串,或者說錄入一個(gè)字符串。假定,我們要在a.c中錄入,“hellow world!”這個(gè)字符串。 請(qǐng)按下面次序一字不漏地輸入,別輸錯(cuò)字符。

1)vi a.c

2)i

3)hellow world!

4)Esc

5):

6)x

如果你順利輸入完之后,這個(gè)a.c就有了“hellow world!”

你可以在命令行輸入cat a.c就能看到:hellow world!,恭喜你會(huì)了錄入字符串了。

這時(shí)你要記?。篿是增加命令,表示此后的鍵入的字符都將錄入其中,除非遇到Esc結(jié)束這個(gè)增加。所以,當(dāng)你要錄入字符串的時(shí)候,第一個(gè)就要想到i命令,這個(gè)命令我是這樣記的:i就是insert。

你可以試著編輯一個(gè)b.c 內(nèi)容是 hello myself!看看行嗎?

 

第三步,學(xué)習(xí)修改、刪除。

我們?cè)诰庉嫵绦虻臅r(shí)候,不可能一次增加就能完成??偸且薷模瑒h除,增加。接上面的例子,我們要將a.c中的hello world!改成hello myself。

第一種方法:

1、vi a.c

2、dd

3、i

4、hello myself。

5、Esc

6、:

7、x

這種方法是同過dd命令將原來一行刪掉,再通過i命令錄入hello myself。來完成的。這種方法重點(diǎn)是dd命令,記住刪除一行要用dd(delete,delete,我是這樣記憶的)。

第二種方法:

1、vi a.c

2、將光標(biāo)移到world

3、xxxxxx

4、i

5、myself。

6、Esc

7、:

8、x

這種方法重點(diǎn)是x命令,刪除當(dāng)前字符,這也是最常用的命令之一。

第三種方法:

1、vi a.c

2、將光標(biāo)移到world

3、xxxxx

4、i

5、myself

6、Esc

7、移動(dòng)光標(biāo)到!

8、r

9、。

10、:

11、x

這種方法重點(diǎn)是r命令(replace),替換當(dāng)前字符,這也是最常用的命令之一。

第四種方法:

1、vi a.c

2、將光標(biāo)移到world

3、cw

4、myself。

6、Esc

10、:

11、x

這種方法重點(diǎn)是cw命令(change word),替換當(dāng)前單詞,注意它也需要Esc結(jié)束修改狀態(tài),這也是最常用的命令之一。

大家都看到了吧,所有以上方法都是用:x來保存編輯內(nèi)容的。:x也是最常用命令之一。

如果發(fā)現(xiàn)這次編輯錯(cuò)了,亂了,想放棄這次對(duì)文件的編輯,不想對(duì)原程序進(jìn)行任何修改。則可以用:q!命令放棄修改退出vi。!可以記憶為強(qiáng)制,q!可以理解為強(qiáng)制退出。同理x!理解為強(qiáng)制保存。

通過以上三步的學(xué)習(xí)和練習(xí),我們基本上可以接觸到vi的基本操作過程和操作命令了。這些基本的操作可以說能夠編制程序了。

你們可以試著用以上方法,編輯一下我前幾篇博客中的a.c。文件名可改為helloworld.c

 #include “stdio.h”

 main()

 {

       fprintf(stdout,”hello world!\n”);

      exit(0);

   }

感覺一下vi操作,看看自己對(duì)以上最基本命令的掌握程度。對(duì)基礎(chǔ)的東西要反復(fù)練習(xí),認(rèn)真記住,這樣才會(huì)對(duì)后面的操作命令有更好的理解和配合。學(xué)會(huì)以上操作可以說你vi已經(jīng)入門了。

第四步,學(xué)習(xí)復(fù)制、查詢、取消

我們?cè)诰庉嫵绦虻臅r(shí)候,一般情況下都是增刪改操作,這時(shí)候我們的視野僅僅局限在單字符、單詞、單行。在很多情況下,需要行操作,例如我們需要新增行,我們需要復(fù)制,需要先復(fù)制再修改。

我們還是舉前面一個(gè)例子?,F(xiàn)在a.c內(nèi)容為hello myself。

現(xiàn)在要求最終的內(nèi)容為三行:

hello myself

hello world

hello c

第一種方法,先復(fù)制,后修改。

1、vi a.c

2、yy

3、p

4、p

5、向上移動(dòng)一行

6、移動(dòng)到myself(第二行)

7、cw

8、world

9、Esc

10、移動(dòng)到下一行

11、移動(dòng)到myself(第三行)

12、cw

13、c

14、Esc

15、:x

這種方法的重點(diǎn)是復(fù)制,粘貼。yy是復(fù)制當(dāng)前行,p是粘貼復(fù)制的行。這是我認(rèn)為vi最經(jīng)典的命令設(shè)計(jì)之一,它可能是我們Ctrl-c ,Ctrl-v的鼻祖。

第二種方法:直接插入法

1、vi a.c

2、o

3、hello word

4、hello c

5、Esc

6、:x

這種方法的重點(diǎn)是在當(dāng)前行下插入。o是插入命令,表示在當(dāng)前行下插入,Esc插入結(jié)束。如果要在當(dāng)前行上面插入行輸入大寫O則可以了,退出插入也是Esc。

第三種方法:復(fù)制查詢修改法。

1、vi a.c

2、yy

3、p

4、p

5、:1

6、/

7、myself

8、n

9、cw

10、world

11、Esc

12、n

13、cw

14、c

15、Esc

16、:x

法的重點(diǎn)是先復(fù)制了2行hello myself,然后通過:1命令讓光標(biāo)移到文件頭(這個(gè)命令非常有用),然后用/命令進(jìn)行查找myself,用n(next)命令移到第二個(gè)myself單詞上,用cw進(jìn)行修改,然后再用n命令,移到第三個(gè)myself上,用cw修改。/命令是查找命令,n是下一個(gè)。現(xiàn)在一些開發(fā)語言中也有同樣的查詢命令,估計(jì)也借鑒了vi。

我們?cè)谶M(jìn)行操作時(shí)候,往往會(huì)操作出錯(cuò),這時(shí)候,vi提供了一個(gè)u(undo吧)命令,用于取消前次操作。

例如,當(dāng)你復(fù)制2行時(shí)候,發(fā)現(xiàn)復(fù)制了3行的時(shí)候,你鍵入u,則

1、vi a.c

2、yy

3、p

4、p

5、p

6、u

這個(gè)時(shí)候,你最后一次,粘貼將會(huì)被取消。

這個(gè)例子的重點(diǎn)是介紹取消操作u,這個(gè)命令可以用于很多種操作,比如,i、I、O、o、A、x、r、dd、cw、s等等。在這些操作之后,鍵入u,前面的操作將被取消。

另外,介紹一個(gè)G命令,這個(gè)命令可以讓光標(biāo)定位到文件的最后一行。

例如:文件內(nèi)容為:

Hello world

Hello myself

Hello c

當(dāng)前光標(biāo)在第一行

鍵入G,光標(biāo)就定位在最后一行hello c上了。這個(gè)命令對(duì)于建立一個(gè)程序的時(shí)候,特別有用。比如,今天編了一段程序,明天再接著編,就可以用G命令一下子到最后一行,然后,用o命令繼續(xù)你的新程序的插入。

待續(xù)!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
菜鳥使用Linux下的vi/vim程序編輯器
教你玩轉(zhuǎn)Linux—vi/vim
使用 Vi/Vim 編輯器:基礎(chǔ)篇
Linux 使用vim命令編輯文件內(nèi)容
Linux命令入門篇(三)
Windows 下 vim 中 Ctags 的使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服