第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

Linux C語言編程基本原理與實踐

難度初級
時長 2小時 0分
學(xué)習(xí)人數(shù)
綜合評分9.60
350人評價 查看評價
9.8 內(nèi)容實用
9.6 簡潔易懂
9.4 邏輯清晰
  • 標(biāo)準(zhǔn)流,重定向

    查看全部
  • 標(biāo)準(zhǔn)輸入流輸出流以及錯誤流

    查看全部
  • argv :? 代碼的個數(shù)

    argc[] :? 代碼是啥

    查看全部
  • vim分為三種模式

    一般模式:以vim打開或新建一個文件就可以直接進入一般模式,在此模式中,你可以使用上下左右來進行光標(biāo)的移動,可以刪除字符或整行,可以復(fù)制粘貼文件數(shù)據(jù)。

    編輯模式:顧名思義,就是可以編輯文本的模式,在一般模式下,按下“i,I,o,O,a,A,r,R”這些字母可進入編輯模式,進入編輯模式后在左下方會有INSERT或REPLACE的字樣。

    在編輯模式下按下ESC鍵會退出到一般模式下。

    命令行模式:在一般模式下,輸入” :, / , ? “這三個字符中的任意一個會將光標(biāo)移動到當(dāng)前頁面最下面的一行,在這個模式中可以進行數(shù)據(jù)查找、替換、保存、離開vim等操作。

    使用vim filename可進入vim一般模式:

    一般模式下熱鍵說明:

    移動光標(biāo)的方法

    h?或?向左箭頭鍵(←)光標(biāo)向左移動一個字符

    j?或?向下箭頭鍵(↓)光標(biāo)向下移動一個字符

    k?或?向上箭頭鍵(↑)光標(biāo)向上移動一個字符

    l?或?向右箭頭鍵(→)光標(biāo)向右移動一個字符

    如果你將右手放在鍵盤上的話,你會發(fā)現(xiàn)?hjkl?是排列在一起的,因此可以使用這四個按鈕來移動光標(biāo)。?如果想要進行多次移動的話,例如向下移動?30?行,可以使用?“30j”?或?“30↓”?的組合按鍵,?亦即加上想要進行的次數(shù)(數(shù)字)后,按下動作即可!

    [Ctrl] + [f]屏幕『向下』移動一頁,相當(dāng)于?[Page Down]按鍵?(常用)

    [Ctrl] +屏幕『向上』移動一頁,相當(dāng)于?[Page Up]?按鍵?(常用)

    [Ctrl] + [d]屏幕『向下』移動半頁

    [Ctrl] +屏幕『向上』移動半頁

    +光標(biāo)移動到非空格符的下一列

    –光標(biāo)移動到非空格符的上一列

    n那個?n?表示『數(shù)字』,例如?20?。按下數(shù)字后再按空格鍵,光標(biāo)會向右移動這一行的?n?個字符。例如?20?則光標(biāo)會向后面移動?20?個字符距離。

    0?或功能鍵[Home]這是數(shù)字『?0?』:移動到這一行的最前面字符處?(常用)

    $?或功能鍵[End]移動到這一行的最后面字符處(常用)

    H光標(biāo)移動到這個屏幕的最上方那一行的第一個字符

    M光標(biāo)移動到這個屏幕的中央那一行的第一個字符

    L光標(biāo)移動到這個屏幕的最下方那一行的第一個字符

    G移動到這個檔案的最后一行(常用)

    nGn?為數(shù)字。移動到這個檔案的第?n?行。例如?20G?則會移動到這個檔案的第?20?行(可配合?:set nu)

    gg移動到這個檔案的第一行,相當(dāng)于?1G??。?(常用)

    nn?為數(shù)字。光標(biāo)向下移動?n?行(常用)

    搜尋與取代

    /word向光標(biāo)之下尋找一個名稱為?word?的字符串。例如要在檔案內(nèi)搜尋vbird?這個字符串,就輸入?/vbird?即可!?(常用)

    ?word向光標(biāo)之上尋找一個字符串名稱為?word?的字符串。

    n這個?n?是英文按鍵。代表『重復(fù)前一個搜尋的動作』。舉例來說,如果剛剛我們執(zhí)行?/vbird?去向下搜尋?vbird?這個字符串,則按下?n?后,會向下繼續(xù)搜尋下一個名稱為?vbird?的字符串。如果是執(zhí)行??vbird?的話,那么按下?n?則會向上繼續(xù)搜尋名稱為?vbird?的字符串!

    N這個?N?是英文按鍵。與?n?剛好相反,為『反向』進行前一個搜尋動作。?例如?/vbird?后,按下?N?則表示『向上』搜尋?vbird?。

    使用?/word?配合?n?及?N?是非常有幫助的!可以讓你重復(fù)的找到一些你搜尋的關(guān)鍵詞!

    :n1,n2s/word1/word2/gn1?與?n2?為數(shù)字。在第?n1?與?n2?行之間尋找?word1?這個字符串,并將該字符串取代為?word2?!舉例來說,在?100?到?200?行之間搜尋?vbird?并取代為?VBIRD?則:『:100,200s/vbird/VBIRD/g』。(常用)

    :1,$s/word1/word2/g從第一行到最后一行尋找?word1?字符串,并將該字符串取代為word2?!(常用)

    :1,$s/word1/word2/gc從第一行到最后一行尋找?word1?字符串,并將該字符串取代為word2?!且在取代前顯示提示字符給用戶確認(rèn)?(confirm)?是否需要取代!(常用)

    刪除、復(fù)制與貼上

    x, X在一行字當(dāng)中,x?為向后刪除一個字符?(相當(dāng)于?[del]?按鍵),?X?為向前刪除一個字符(相當(dāng)于?[backspace]?亦即是退格鍵) (常用)

    nxn?為數(shù)字,連續(xù)向后刪除?n?個字符。舉例來說,我要連續(xù)刪除?10?個字符,?『10x』。

    dd刪除游標(biāo)所在的那一整列(常用)

    nddn?為數(shù)字。刪除光標(biāo)所在的向下?n?列,例如?20dd?則是刪除?20?列(常用)

    d1G刪除光標(biāo)所在到第一行的所有數(shù)據(jù)

    dG刪除光標(biāo)所在到最后一行的所有數(shù)據(jù)

    d$刪除游標(biāo)所在處,到該行的最后一個字符

    d0那個是數(shù)字的?0?,刪除游標(biāo)所在處,到該行的最前面一個字符

    yy復(fù)制游標(biāo)所在的那一行(常用)

    nyyn?為數(shù)字。復(fù)制光標(biāo)所在的向下?n?列,例如?20yy?則是復(fù)制?20?列(常用)

    y1G復(fù)制游標(biāo)所在列到第一列的所有數(shù)據(jù)

    yG復(fù)制游標(biāo)所在列到最后一列的所有數(shù)據(jù)

    y0復(fù)制光標(biāo)所在的那個字符到該行行首的所有數(shù)據(jù)

    y$復(fù)制光標(biāo)所在的那個字符到該行行尾的所有數(shù)據(jù)

    p, Pp?為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行貼上,P?則為貼在游標(biāo)上一行!舉例來說,我目前光標(biāo)在第?20?行,且已經(jīng)復(fù)制了?10?行數(shù)據(jù)。則按下?p?后,?那?10?行數(shù)據(jù)會貼在原本的?20?行之后,亦即由?21?行開始貼。但如果是按下?P?呢??那么原本的第?20?行會被推到變成?30?行。?(常用)

    J將光標(biāo)所在列與下一列的數(shù)據(jù)結(jié)合成同一列

    c重復(fù)刪除多個數(shù)據(jù),例如向下刪除?10?行,[ 10cj ]

    u復(fù)原前一個動作。(常用)

    [Ctrl]+r重做上一個動作。(常用)

    這個?u?與?[Ctrl]+r?是很常用的指令!一個是復(fù)原,另一個則是重做一次~?利用這兩個功能按鍵,你的編輯,嘿嘿!很快樂的啦!

    .不要懷疑!這就是小數(shù)點!意思是重復(fù)前一個動作的意思。?如果你想要重復(fù)刪除、重復(fù)貼上等等動作,按下小數(shù)點『.』就好了!?(常用)


    一般模式進入編輯模式的按鍵說明:?

    i, I進入插入模式(Insert mode):

    i?

    為『從目前光標(biāo)所在處插入』,?I?為『在目前所在行的第一個非空格符處開始插入』。?(常用)

    a, A進入插入模式(Insert mode):

    a?

    為『從目前光標(biāo)所在的下一個字符處開始插入』,?A?為『從光標(biāo)所在行的最后一個字符處開始插入』。(常用)

    o, O進入插入模式(Insert mode):這是英文字母?o?的大小寫。o?為『在目前光標(biāo)所在的下一行處插入新的一行』;?O?為在目前光標(biāo)所在處的上一行插入新的一行!(常用)

    r, R進入取代模式(Replace mode):

    r?

    只會取代光標(biāo)所在的那一個字符一次;R會一直取代光標(biāo)所在的文字,直到按下?ESC?為止;(常用)

    上面這些按鍵中,在?vim?畫面的左下角處會出現(xiàn)『–INSERT–』或『–REPLACE–』的字樣。?由名稱就知道該動作了吧!!特別注意的是,我們上面也提過了,你想要在檔案里面輸入字符時,?一定要在左下角處看到?INSERT?或?REPLACE?才能輸入喔!

    [Esc]退出編輯模式,回到一般模式中(常用)

    一般模式切換到命令行模式的按鍵說明:

    :w將編輯的數(shù)據(jù)寫入硬盤檔案中(常用)

    :w!若文件屬性為『只讀』時,強制寫入該檔案。不過,到底能不能寫入,?取決于當(dāng)前用戶對于文件的權(quán)限,一般情況下文件的所有者以及root用戶的權(quán)限較大。

    :q離開?vim (常用)

    :q!若曾修改過檔案,又不想儲存,使用?!?為強制離開不儲存檔案。

    注意一下啊,那個驚嘆號?(!)?在?vim?當(dāng)中,常常具有『強制』的意思~

    :wq儲存后離開,若為?:wq!?則為強制儲存后離開?(常用)

    ZZ這是大寫的?Z?喔!若檔案沒有更動,則不儲存離開,若檔案已經(jīng)被更動過,則儲存后離開!

    :w [filename]將編輯的數(shù)據(jù)儲存成另一個檔案(類似另存新檔)

    :r [filename]在編輯的數(shù)據(jù)中,讀入另一個檔案的數(shù)據(jù)。亦即將?『filename』?這個檔案內(nèi)容加到游標(biāo)所在行后面

    :n1,n2 w [filename]將?n1?到?n2?的內(nèi)容儲存成?filename?這個檔案。

    :! command暫時離開?vim?到指令列模式下執(zhí)行?command?的顯示結(jié)果!例如『:! ls /home』即可在?vim?當(dāng)中察看?/home?底下以?ls?輸出的檔案信息!

    vim?環(huán)境的變更

    :set nu顯示行號,設(shè)定之后,會在每一行的前綴顯示該行的行號

    :set nonu與?set nu?相反,為取消行號!



    作者:vic_wei7
    鏈接:https://www.jianshu.com/p/581dcdc05277
    來源:簡書
    著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。


    查看全部
  • gcc? max.c hello.c -o main.out

    #include "max.c"

    int main(){? max(a,b);}


    查看全部
  • 我們現(xiàn)在寫一個程序avg.c,求任意個數(shù)的平均值:

    #include <stdio.h>

    int main()

    {

    ? ? ? ? int s,n;

    ? ? ? ? scanf("%d,%d",&s,&n);

    ? ? ? ? float v=s/n;

    ? ? ? ? printf("v=%f\n",v);

    ? ? ? ? return 0;

    }

    退出vim進行編譯cc avg.c -o avg.out,我們得到avg.out,我們輸入3000,3。

    ?我們再寫一個統(tǒng)計輸入的程序input.c:

    #include <stdio.h>

    int main()

    {

    ? ? ? ? int flag=1;

    ? ? ? ? int i;

    ? ? ? ? int count=0;

    ? ? ? ? int s=0;

    ? ? ? ? while(flag){

    ? ? ? ? ? ? scanf("%d",&i);

    ? ? ? ? ? ? if(0==i) break;

    ? ? ? ? ? ? count++;

    ? ? ? ? ? ? s+=i;

    ? ? ? ? }

    ? ? ? ? printf("%d,%d",s,count);

    ? ? ? ? return 0;

    }

    我們對這個函數(shù)進行編譯cc input.c -o input.out,我們輸入3000 3000 0,輸出總工資6000和人數(shù)2人

    我們使用以上兩個程序結(jié)合起來,將所有數(shù)據(jù)進行統(tǒng)計input.out,之后通過管道經(jīng)過avg.out計算平均值,命令可以寫為./input.out | ./avg.out,然后進行輸入,輸入完成我們便得到了對應(yīng)的平均工資。 以上就是通過管道,將兩個小程序連接起來得到更復(fù)雜的程序的過程


    查看全部
  • 我們現(xiàn)在寫一個程序avg.c,求任意個數(shù)的平均值:

    #include <stdio.h>

    int main()

    {

    ? ? ? ? int s,n;

    ? ? ? ? scanf("%d,%d",&s,&n);

    ? ? ? ? float v=s/n;

    ? ? ? ? printf("v=%f\n",v);

    ? ? ? ? return 0;

    }

    退出vim進行編譯cc avg.c -o avg.out,我們得到avg.out,我們輸入3000,3。

    ?我們再寫一個統(tǒng)計輸入的程序input.c:

    #include <stdio.h>

    int main()

    {

    ? ? ? ? int flag=1;

    ? ? ? ? int i;

    ? ? ? ? int count=0;

    ? ? ? ? int s=0;

    ? ? ? ? while(flag){

    ? ? ? ? ? ? scanf("%d",&i);

    ? ? ? ? ? ? if(0==i) break;

    ? ? ? ? ? ? count++;

    ? ? ? ? ? ? s+=i;

    ? ? ? ? }

    ? ? ? ? printf("%d,%d",s,count);

    ? ? ? ? return 0;

    }

    我們對這個函數(shù)進行編譯cc input.c -o input.out,我們輸入3000 3000 0,輸出總工資6000和人數(shù)2人

    我們使用以上兩個程序結(jié)合起來,將所有數(shù)據(jù)進行統(tǒng)計input.out,之后通過管道經(jīng)過avg.out計算平均值,命令可以寫為./input.out | ./avg.out,然后進行輸入,輸入完成我們便得到了對應(yīng)的平均工資。 以上就是通過管道,將兩個小程序連接起來得到更復(fù)雜的程序的過程


    查看全部
  • 管道:|

    查看根目錄: ls /

    查看Linux默認(rèn)配置目錄: ls /etc/

    將etc文件輸出到一個管道:ls /etc/ | grep 關(guān)鍵字符

    (如:ls /etc/ | grep ab:要查找某個目錄下有多少個文件名包含"ab")

    “|”是文件輸出到grep,作為grep的輸入,在Linux中作為管道,用于連接在兩個獨立的小程序建立通道,比如將“l(fā)s”的輸出結(jié)果傳給“grep”的輸入

    grep是C語言的小程序,可以查詢包含指定字符的文件

    查看當(dāng)前進程的文件:ps(查看進程的命令) -e

    (如:ps -e | grep ssh ?查看目前有多少含有ssh的進程應(yīng)用)


    查看全部
  • “|”在Linux中作為管道,用于連接在兩個獨立的小程序建立通道,比如將“l(fā)s”的輸出結(jié)果傳給“grep”的輸入

    grep是C語言的小程序,可以查詢包含指定字符的文件

    ps -e查看當(dāng)前在運行的進程


    查看全部
  • 標(biāo)準(zhǔn)輸入流 ---> 鍵盤輸入

    標(biāo)準(zhǔn)輸出流 --> 終端輸出

    標(biāo)準(zhǔn)錯誤流 --> 錯誤輸出

    重定向機制

    >>重定向到該文件,無覆蓋

    >重定向到該文件,最新

    <重定向輸入文件

    1>正確結(jié)果導(dǎo)入 2>錯誤結(jié)果導(dǎo)入


    查看全部
  • stdin 標(biāo)準(zhǔn)輸入流 鍵盤

    stdout標(biāo)準(zhǔn)輸出流 顯示器

    stderr標(biāo)準(zhǔn)錯誤流

    printf是對fprintf的封裝

    fprintf(stdout, ?);

    scanf是對fscanf的封裝

    fscanf(stdin,"%d",&a);

    fprintf(stderr," ");


    查看全部
  • #include<stdio.h>

    int?main(int?argv,char*?argc[]){

    ??printf("argv?is?%d\n",argv);?

    ? int?i;

    ? for(i=0;i<argv;i++){

    ??printf("argc[%d]is?%s\n",i,argc[i]);?

    ? }

    ??return?0;

    }


    main 函數(shù)中 argv參數(shù) 表示執(zhí)行該程序時 輸入的有效項(程序名+參數(shù))個數(shù);

    ???????????????? argc[] 參數(shù) 表示執(zhí)行該程序時輸入的有效項內(nèi)容(程序名, 參數(shù));

    main 中 argv 和 argc 的作用:

    ?? ?argv 表示參數(shù)的個數(shù);

    ?? ?argc 存放參數(shù)的內(nèi)容;

    查看全部

  • 輸出重定向:> 和 >>? ? ? ? ? ? ? ? ? ? ? ? ? >表示覆蓋,>>表示追加?

    輸入重定向:<

    ./a.out >> a.txt

    ?>> 追加內(nèi)容

    > 單箭頭 不覆蓋,保持最新

    ./aout < input.txt 輸入流

    輸出流、錯誤流、輸入流

    ./a.out 1>t.txt 2>f.txt <input.txt


    查看全部
  • stdin輸入流

    stdout輸出流

    stderr錯誤流


    查看全部
  • ls -l -a:詳細(xì)顯示隱藏內(nèi)容

    cp 文件名 文件名 拷貝

    \n換行

    查看全部

舉報

0/150
提交
取消
課程須知
本課程為C語言中級課程 學(xué)習(xí)本課程需要了解C語言以下基本語法:變量、常量、順序、循環(huán)、分支、函數(shù)等。
老師告訴你能學(xué)到什么?
如何在真正的商業(yè)環(huán)境(Linux)下編寫C語言程序 如何編譯一個項目以及makefile如何編寫 C語言真正的本領(lǐng)(制作小工具) 多個c語言小工具如何構(gòu)成強大的軟件系統(tǒng)

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!