1. 程式人生 > >第四課:vi編輯器和c語言

第四課:vi編輯器和c語言

vi編輯器

  vi編輯器的三種模式:

          命令模式:1,從命令模式切換至插入模式

            i : 游標所在左側輸入     I : 游標所在行最左側輸入

           0 : 游標移動到下一行(新的一行)     O : 游標移動的上一行(新的一行)

           a : 游標移動到所在行的右側           A : 游標所在行的最右側         

2,複製 : 

            行:nyy      n>0

            單詞:nyw    n>0

3,貼上:p

            np  : 貼上n遍

4,撤銷到上一步:u

   撤銷到上n步 : nu;

5,恢復到上一步:ctrl+r

6,替換:(在命令模式下)

            替換一個字元:   r

            連續替換      :  R

7,定位行:

                可以在命令和底行模式使用。

                向下定位:  n+  

                向上定位:  n-

8,刪除:

                刪除字元 : nx(向右刪除n個字元)   nX(向左刪除n個字元)

                刪除行    : ndd(向下刪除n行)  dd(刪除當前行)  n,n1 dd(刪除n至n1行,游標需在n行處)

9,查詢關鍵字:

                /key_value (向下查詢key:n  向上查詢key:N)

10,全選:ggVG

11,   移動游標:↑    向上移動游標   k

                         ↓    向下移動游標   j

                        ←   向左移動游標   h

                        →   向右移動游標   l  

                        --ctrl + f 向下翻頁(front)

                        --ctrl + b 向上翻頁(back)

                        --ctrl + d 向下翻半頁(down)

                        --ctrl + u 向上翻半頁(up)

                        shitf + ↑  /   ↓         [PgUp] , [PgDn]也有翻頁功能

    行間操作

              跳轉到最前面: gg

              跳轉到文字末尾   : $   【end】

              跳轉到文字首       : ^    【home】

              

底行模式 : 

                1,顯示行號:set nu

                2,取消行號:set nonu

                3,儲存       :   w

                4,退出       : q(系統提示儲存)

                5,儲存退出 :    wq

                6,強制退出  :    q! (對修改不做儲存)

關於使用者: (特點 : 多工(執行緒)多使用者操作)

                1,切換使用者 : su 使用者名稱

                2,增加使用者 : useradd 使用者名稱         (root許可權)

                3,修改密碼 : passwd 密碼 

                對於新建的使用者,只有root許可權才可以修改/新增新密碼 ,使用者本身可以修改自己的密碼。

                注:使用者主目錄(/home)

為使用者的命令分配root許可權: 

                root 為使用者分配的部分許可權都是記錄在 : /etc/sudoers

                注 : 每次sudo時都會去/etc/sudoers 中檢查該使用者的被分配的許可權

                為該使用者分配所有機器的所有命令

                使用者名稱     ALL=(ALL) ALL

                為該使用者分配所有機器的某條命令

                 使用者名稱    ALL=(ALL) command

     6、編譯器:將指定的語言翻譯成機器語言
語言的發展歷史:
1、機器語言:由0/1組成的指令 (計算機可以直接識別)
2、彙編指令:用助記來替代二進位制指令
3、高階語言:用自然的語言來與機器溝通
Linux的編譯器:gcc/g++/QT
    gcc編譯器:是一款優秀(1、編譯語言多,2、質量高)的編譯器
源程式:用高階語言編寫的程式的檔案
c語言:  .c
c++語言:.cpp  .C
java: .java
OC  : .oc
編譯:
1、  gcc 源程式.c 注:如果沒有指定可執行檔名,預設生成a.out
2、指定可執行檔名:
gcc 源程式.c -o 可執行檔名


    執行程式:路徑/程式名
        【3、編譯過程:(函式)


C語言:是高階語言中的一種,是面向過程語言。(強語言)
程式=演算法+資料  
1、資料:基本資料型別(整型,字元整型,浮點型)
   常量:不可改變的量
   變數:可以改變的量
  整型:
     整型常量:十進位制(0 -1 9 )  八進位制01010  16進位制0x 【0 1 2,...,9,a,b,c,d,e,f】
     整型變數:可以改變的量
型別:int short  long  (4 2 8Byte)
有無符號:signed unsigned (某變數分配給有符號時,原碼預設第一項為符號項,若首項為一則符號為負,反之為正)
定義變數:[有無符號] 型別  變數名; (分配儲存空間)
注:如果沒有標名有無符號,則預設為有符號位
  [signed] short a;
   字元:
1.字元常量:'a'  
       普通字元:'a'
   轉義字元:'\n' '\'' '\t'  '\\'(代表\)
  字串常量:"abcdef"
2.字元變數:   
    3.ASCII碼:由於計算機只能識別0/1,只能由一串01組成的來替代字元


3、各進位制轉換為十進位制:  
十進位制的權:10
二進位制的權:2   1010---》 
      八進位制的權:8


4、計算機的儲存單元:儲存資訊的空間
   最小的儲存單元:bit    (0或1)       10->1010    16bit
   基本儲存單元:Byte 1Byte=8bit 
   其他:  1Kb=1024Byte=2^10Byte
   1MB=1024KB
   1GB=1024MB
   1TB=1024GB  
    原碼(二進位制):10-》  0000 1010     -1-》1000 0001 
    反碼     10-》  1111 0101 (原碼取反)-1-》 1111 1110
    補碼     10-》  1111 0110 (反碼+1)   -1-》 1111 1111

  運算子:
  1、求某資料型別或者變數的儲存空間長度: sizeof    注:以Byte為單位
  2、賦值運算子:
左值=右值;  注:左值必須為變數