vi编辑器和C语言基础

一、vi编辑器:

1、三种模式:命令模式、插入模式、底行模式

    命令模式:

        (1)从命令模式切换插入模式:

            i:光标所在左侧插入    I光标移动到所在行的最左侧

            o:光标移动到下一行(新的一行)    O:光标移动到上一行(新的一行)

            a:光标移动到所在行的右侧输入    A:光标移动到所在行的最右侧

        (2)复制:

            行:nyy    n>0

            单词:nyw    n>0

        (3)粘贴:p

        (4)撤销到上一步骤:u

        (5)恢复到上一步骤:ctrl+r

        (6)替换:

            替换一个字符:r

            连续替换:R

        (7)定位行:

            上:n-

            下:n+

        (8)删除:

            删除字符:nx(右)    nX(左)    n>0

            删除行:ndd    n,n1 dd

        (9)查找关键字:

            /Key_value    (key是关键字的名称)(向下查找key:n    向上查找key:N)

    底行模式:

        (1)显示行号:set nu

        (2)取消行号:set nonu

        (3)读取文本文档的内容:

                cat(全部读取)

                more(一屏一屏读取)

        (4)文件对某“用户”操作的“权限”:

            权限:r(可读)(4)    w(可写)(2)    x(可执行)(1)

            用户:创建人u    群组g    其他人o

    修改权限:

                chmod 创建人+/-权限,群组+/-权限,其他人+/-权限 文件

                例:

                    去掉读的权限

                        chmod u-r,g-r,o-r 文件名

            每个用户:4(读)    2(写)    1(执行)    4+0+0=4(只读)    4+2+0=6(可读写不能执行)

                  例:chmod 644 文件名(创建人可读写,组群只可读,其他人只可读)

二、虚拟机用户与编译器

    1、虚拟机用户权限

        (1)为用户分配root的权限:

            root为用户分配的部分权限都是记录在:/etc/sudoers

            注:每次sudo时都会去/etc/sudores中检查该用户的分配策略

        (2)为某机器上某用户分配某种命令的权限

                为该用户分配所有机器的所有命令

                    用户名 ALL=(ALL) ALL

                为该用户分配所有机器的某条命令

                    用户名 ALL=(ALL) command

    2、编译器

        (1)编译器:将制定的语言翻译成机器语言

            语言的发展历史:

                机器语言:由0/1组成的指令(计算机可以直接识别)

                汇编语言:用助记符来替代二进制指令

                高级语言:用自然语言来和机器沟通

            Linux的编译器:gcc/g++/QT

        (2)gcc编译器:是一款优秀的的编译器(可编译语言多,编译质量高)

            源程序:用高级语言编写程序的文件

                c语言:.c

                c++语言:.cpp、.C

                Java:.java

                OC:.oc

            编译:

                1、gcc源程序.c    注:如果没有指定可执行文件名,默认生成a.out

                2、指定可执行文件名:

                    gcc 源程序.c -o 执行文件名

                    例:gcc data.c -o data

    三、C语言基础

        1、c语言

        (1)c语言是高级语言的一种,是面向过程语言。(强语言)

            程序=算法+数据

        (2)数据:基本数据类型(整型,字符型,浮点型)

            常量:不可改变的量

            变量:可以改变的量

        (3)整型:

                整型常量:十进制(-1 0 9) 八进制01010    16进制0x 【0,1,2,...,9,a,b,c,d,e,f】

                整型变量:可以改变的量

                类型:int    short    long(4 2 8 Byte)

                有无符号:signed unsigned

                定义变量:[有无符号] 类型 变量名;    (分配存储空间)

                    注:如果没有标明有无符号,则默认有符号位

                    [signed] short a;

         (4)字符:

                    字符常量:‘a’

                    普通字符:‘a’

                    转义字符:‘\n’‘\t’‘\’    '\\'

                    字符串常量:“asdfghjkl”

                    ASCII码:由于计算机只能识别0/1,只能由一串01组成的来替代字符

        2、进制转换
            各项进制转换为十进制:
            十进制的权:10
            二进制的权:2
            八进制的权:8
        3、存储单元
            (1)计算机的存储单元:存储信息的空间
                最小的存储单元:bit(0或1)    10->1010    16bit
                最基本存储单元:Byte    1Byte=8bit
                转换:
                        1KB=1024Byte=2^10Byte
                        1MB=1024KB
                        1GB=1024MB
                        1TB=1024GB
            (2)原码(二进制):10-> 0000 1010        -1 -》1000 0001
                    反码                 :10-> 1111 0101(原码取反)-1 -》1111 1110
                    补码                 :10-> 1111 0110(反码+1)  -1 -》1111 1111
        4、运算符
            (1)求某数值数据类型或者变量的存储空间长度:sizeof     注:Byte为单位
            (2)赋值运算符:
                    左值=右值;注:左值必须为变量


猜你喜欢

转载自blog.csdn.net/weixin_42581477/article/details/80952696