4个月拿下年薪30w

阅读: 评论:0

4个月拿下年薪30w

4个月拿下年薪30w

Linux基础命令学习

1.使用软件平台  VMware Workstation Pro

内容:虚拟化软件 
功能:通过软件 虚拟出硬件 

2.Linux主目录内容解释

形式:linux@ubuntu:~$ 

解释:

linux  -- 用户名 
@      -- at 
ubuntu -- 主机名 
:      -- 提示符 
~      -- 主目录
//当前所在的位置 
$      -- 表示是普通用户 
#      -- 超级用户 

3.常用基础命令学习

命令汇总:

pwd 
ls 
cd 

touch 
mkdir 
cp 
mv 
rmdir 
rm 

1.pwd命令    (Print Work Directory) 

功能:

         打印当前所在的工作路径 (//目录 --相当于是windows下的文件夹)

eg:
 /home/linux    //用户的主(家)目录
 

补充:系统中文件的组织形式:

windows下:
硬盘 
  |-- C盘 
  |-- D盘 
  |-- E盘 
  

linux 
硬盘 /  根目录 
 |-- home
 |    |--linux
 |    ......

2.ls命令       (list) 

功能:

            清单 罗列

eg:
  ls   //查看当前目录下的内容 
  ls  (目录名)   // 查看指定目录下的内容  
  ls  -l  目录名(或文件名)   //查看目录下文件属性信息(或某个文件的属性信息)
    (long)此处  -l  可接在   ls  命令后,也可放在结尾。

3.cd命令      (Change Directory) 

功能:

         切换目录 

eg:
   cd   路径名       // 切换到指定的目录下 
   cd                     //回家
   cd   -                 //切换到上一次操作的目录 
   cd   .                 //. 表示当前目录 
   cd   ..                //上一级目录 
   cd   ~                //~ 表示的就是 /home/linux 家目录 

功能:

         创建一个文件

eg:
   touch   文件名       // 创建一个文件

补充:

         sudo   (super do)    //临时切换为超级用户

在权限不够时使用   sudo   命令执行

eg:
      sudo  touch   文件名       // 此命令  sudo  一般是在根目录下执行操作时使用 也可与其他命令结合如   rm  命令等

nautilus  .   //图形界面下查看当前目录

5.mkdir命令      (make directory)

功能:
         创建目录 

eg:
  mkdir  目录名      
// 创建指定的目录 
  mkdir  1/2/3  -p   //-p 选项  parent  
                           (//可以一次性 创建多级目录)

6.cp命令  (copy) 

功能:
         复制源文件至目标文件

eg:
  cp  1.txt  2.txt                             
//普通文件 
  cp  test/   test/       //指定目录进行文件复制
  cp  dir1  dir2  -r                          // 目录操作需要加上   -r  选项 表示递归操作

7.mv命令      (move)

功能:
         剪切源文件至目标文件

eg:
  mv          
//改名字 --重命名 
  mv     dir1          //将 移动到 dir1下面  dir1本身已经存在 
                                        //dir1本身不存在,相当于改名字     
                                        //此命令也可像  cp  命令一样指定目录

<命令        (remove)

功能:

         删除目录或文件

 eg:
   rm                   
//删除  
   rm  dir1  -r                 //目录需要  -r 表示递归删除 
                                      //此命令也可同上 cp 与 mv 命令一样指定目录

功能:

    删除空白目录,非空白目录不能删除

10.关于路径的补充

绝对路径:
       形式上看:     /home/linux       
 //只要是以 /(根目录)开头的 

相对路径
      形式上看:      直接从当前目录开始往下走

含义上:
     参考起点不同 

4.一些常用的控制命令

ctrl  +  l               //清屏 

终端大小设置:
ctrl  +  shift  + +
ctrl  +  - 
ctrl  +  0             
// 恢复默认大小 

ctrl  +  c              //强制结束操作

5.编译过程

总述:

IDE 开发环境 
开发流程
1.编辑代码 -- vim / vi    //编写代码
2.编译代码 -- gcc          //编译器 
3.运行代码 -- ./a.out      //运行代码
4.调试代码 -- gdb          // debug 调试工具 

1.vim / vi 使用

s1: vi hello.c 
   回车之后,进入vim的命令模式 
s2: 按  i  键  (insert) 
   此时从命令模式 进入 插入模式(编辑模式)
s3: 按  ESC  键 
    退出插入模式,回到了命令模式 
s4: 按  shift + :   
// 底行模式 
    输入  w             //write  ---保存
    输入  wq           //quit  ---保存并退出 

进阶应用:

       (命令模式下)
1.复制:
   Myy          //复制光标所在的这一行
                    //M数字 表示复制 从光标所在行开始 M行内容    
   Np            //粘贴 
                    //N数字 可以 粘贴 N份 
         
shift + v      //行选中 配合方向键 选中多行 
(选中的情况下)
           按一下   y  复制 
           按  p  粘贴 

ctrl + v        //块选中 
 

2.删除:(同样可以和上边复制一样在前边加上数字,作用意义一样表示多行删除)
  dd              //删除光标所在的这一行

3.剪切:  
  dd + p        //剪切   

< 使用

    gcc hello.c       //编译代码

3. ./a.out  使用

    运行代码

C语言内容

1.基本数据类型:

  整型 
  浮点型 
  字符型

数据可分为:

  常量 
  变量 

在程序运行过程中
       值不能被改变的量   --  常量 
       值能被改变的量       --  变量 

1.整型:

常量形式:

  123          //十进制 
  0x123      //十六进制 
  0123        //八进制 

补充:

进制:(进位的制度 )

        逢几进一 

十进制:
  0   1   2   3   4   5   6   7   8   9
 10  11  12  13   ....               19
 20  21  ...

十六进制:                              
 0   1   2   3   4   5   6   7   8   9   a   b   c   d   e   f   
   // 10  11  12  13  14  15
10  11  12 ...                          1a  1b    ...        1f
20 ...

八进制:
 0   1   2   3   4   5   6   7 
10  11  12  13  ...

二进制:

0 1            //二进制 

重点补充:

1.十进制 转 二进制 

除 2 取余法

     2|123
      -------
      2|61        ... 1                
 ----低位
       -------
       2|30       ... 1 
        -------
         2|15     ... 0
          ------
           2|7     ... 1
            ------
            2|3    ... 1
              -----
              2|1  ... 1
               -----
                0    ... 1               
 ----高位 
            
            
      结果:0111  1011 

        
2.二进制 转 十进制
 
加权求和 
            
 BCD码 

//8 4 2 1 
  1 0 1 1

结果:11
 

3.十六进制 转 二进制

1位 十六进制数 对应  4位 二进制数

0111 1011(二进制)
   7      b   (十六进制)

4.八进制  转 二进制

1位 八进制数 对应 3位 二进制数

001 111 011(二进制)
  1     7    3  (八进制)

变量形式:

描述一个变量 

语法:
        数据类型    变量名;  
  
  整型:
  int               
//  4个字节
  short           //  2个字节
  long            //  8个字节
  long long   //  8个字节

signed / unsigned (有无符号位)

int  a        (默认情况下为有符号位)

变量名起名: (一些要求与注意点)
1.数字,字母,下划线 
2.数字不是开头 
3.区分大小写 
4.不能与关键字重名 
5.不要和系统二级关键词重名  (include 预处理的命令)
6.不能与库函数重名

两种赋值情况:

int  a  =  10;                        //初始化   开空间的同时给了值

int  a;                                  //先开空间 后给值 
a = 10;                                // 赋值 

补充:存储模式

大端存储 
小端存储        //高高低低
   
     高位数据 存储在 高地址处 
     低位数据 存储在 低地址处

有符号位数据:

数据最高位    充当符号位 

0  正 
1  负 

符号位|   ---   数值位
     0    |000 0000 0000 0000 0000 0000 0111 1011       
//+123 
     1    |000 0000 0000 0000 0000 0000 0111 1011        //-123 

补充:

补码: 
 
      //负数 
   原码 
        1|000 0000 0000 0000 0000 0000 0111 1011     
  //-123 
   反码 =符号位不变,其余位按位取反 
        1|111 1111 1111 1111 1111 1111 1000 0100            //-123 
   补码 = 反码  + 1
       1|111 1111 1111 1111 1111 1111 1000 0101             //-123 
           f       f       f       f       f       f       8       5 

         //正数(原码 = 反码 = 补码)

有符号数:
                 有一位为符号位
                 包含了 正数 负数 
无符号数:
                 不包含符号位 
                 包含 非负数 

结论:
        整数 计算机中存的都是补码 

关于有无符号位的范围问题:

unsigned int 

0000 0000 0000 0000 0000 0000 0000 0000     //最小值 
1111 1111 1111 1111 1111 1111 1111 1111            //最大值 
+                                     1
---------------------------------------
1 0000 0000 0000 0000 0000 0000 0000 0000       
2^32 - 1   //42亿多 

  

signed int [-2^31 ~ +2^31-1]

0|000 0000 0000 0000 0000 0000 0000 0000       //最大值 (此码为补码)
0|111 1111 1111 1111 1111 1111 1111 1111             //2 ^ 31 - 1 (21亿多)(此码为对应原码) 


1|000 0000 0000 0000 0000 0000 0000 0000       //最小值  (此码为补码)

1|000 0000 0000 0000 0000 0000 0000 0000       //某个负数的补码     -2^31

                                                                            ---规定 符号位 既充当符号位 又 充当数值位

故其值为负数,充当数值位时直接当作二进制数求对应数值 无需转为原码(且也无对应原码)
1|000 0000 0000 0000 0000 0000 0000 0000        //负数  
                                                                                //负的0
                                                                                //负数 -2^31
                                         
1|111 1111 1111 1111 1111 1111 1111 1111           
  //某个负数的补码
1|000 0000 0000 0000 0000 0000 0000 0001        //-1   (原码)                                             

unsigned short  [0~2^16-1]                   // 65536-1 
signed short  [-2^15 ~ +2^15-1]            // -32768 ~ 32767 

整型的溢出:(上/下溢出)

  1111 1111 1111 1111 
+                             1
--------------------------------
1 0000 0000 0000 0000 

   0000 0000 0000 0000
-                                  1
---------------------------------
1 1111 1111 1111 1111

2.浮点型:

常量形式

   1.234 
   1.2e3                   
//科学计数法形式 (1.2*10^3 )
   1.2E3                    //e后面 可以是正数 或 负数 不能是小数 

变量形式

    float                     //单精度 
    double                 //双精度 

数据类型存储:

    eg:6.25
        
   step1:
[ 将小数 转换为 二进制形式的小数 ]         
       
整数部分: (除2取余法)       
       0110   
       
小数部分:(乘2取整法)     (注意此处每次取整后的后续运算为只使用小数部分)
     0.25 * 2 = 0.5  --- 0              高 ( 2^(-1) 
      0.5  * 2 = 1    --- 1               低 ( 2^(-2) 

形如:

   0.9 * 2 = 1.8           --- 1
   0.8 * 2 = 1.6           --- 1
   0.6 * 2 = 1.2           --- 1
   0.2 * 2 = 0.4           --- 0
   0.4 * 2 = 0.8           --- 0
   0.8 * 2 = 1.6           --- 1 ( 后边就无限循环了 这时就和精度有关了 )

组合:0110.01 

    step2:[ 将二进制形式的小数,写成科学计数法形式 ]           
      1234.56 ---> 1.23456*10^3 
     110.01 ---> 1.1001 *
2^2            //科学计数法形式 

    step3:[ 按照 IEEE 754 标准 存放 ]  
      
      1位
符号位  |  8位-指数位  |  尾数位 
                  
0      |   2 + 127      |
                          |  -127~128    |
(有效指数个数为 -127~128)
                             1000 0001     1001 0000 0000 0000 0000 
                 
结果: 0100 0000 1100 1000 0000 0000 0000 0000
               4       0       c       8       0       0       0      0    

不同精度下的储存格式:

double  8字节  
  
   符号位  |  指数位  |   尾数位
                |   11位    |    52位  
                 
 +1023

  float     4字节

    符号位  |  指数位  |   尾数位
                 |    8 位    |    23位  
                     
+127

浮点常量的类型:

        默认识别为double类型 
            0.9f                                   
//表示识别为 float类型 
            0.9L                                   //L表示long double 
 
 整型常量:

         默认识别为int类型
            123L                                 
//long int 
            123LL                                //long long int 
            123UL                                //unsigned long int 

3.字符型: 

 t   <--->   0100101010
 a  <--->   0101010 
   编码       
( ASCII ) 
  
 字符数据:
           存到计算机  
    
            
a ---> 编码值 (数值) ---> 无符号的整数 

常量形式:

    ' a '                //字符常量 

变量形式:

    char   ch;     //tiny int 
 
 unsigned char  
[0~2^8-1]     //255
 signed char      [-128~127]

补充:

ascii表:
      0~32 控制字符 不可见 
      '0'~'9' //48~57
      'A'~'Z' //65~90 
      'a'~'z' //97~122 
      '0' ----- 0

大小写转换    加减 32 

字符常量的形式:
    '  a '
    ' 141 '
    ' x61 '
 
    97            //十进制表达
    0141        //八进制表达
    0x61        //十六进制表达

2.运算符 与 表达式

1.算术运算 :

+
-

/       
//注意: 1.除数不能为0  2.整型数相除 ---相当于是整除 (结果取整)  3.若是小数除法直接的结果
%      //取余     注意:
                         1.浮点型不能做求余运算                                       用途:
                         2.求余运算 第二操作数 不能是 0                                a.判断奇数偶数(a%2 ==?)
                         3.求余运算的结果的符号 取决于 左操作数的符号      b.a%N 结果   [0~N-1]

++     //自加
--        //自减 
 

++/--的补充:

        i++                 //先用 (表达式的结果)  后 i 自加
        ++i                 //先 i 自加 ,后用 (表达式的结果)

但最终 i++ 与 ++i 的表达式结果都是自加 1

2.表达式  :

由运算符 和 运算数 构成字符序列 
1+2       
 //所有的表达式都是有结果的(值)
               //表达式一定是有数据类型的 

补充:隐式类型转换 

规则:
       从右向左 :
必转 
   
从下到上:
       低精度类型 与 高精度类型混合运算 :
此时 低精度 往 高精度转

eg:
    10+'a'+1.5 - 8765.1234 *'b'
   
    10 + 'a' + 1.5 - (8765.1234 *'b')           
//优先级 
    
    (((10 + 'a') + 1.5) - (8765.1234 *'b') )   
//结合性 

     (int + int)

  (double + double)-(double)

强制类型转换:
                     
( 类型 ) 表达式 

本文发布于:2024-01-27 20:49:34,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063597732553.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:YOLO
下一篇:1
标签:年薪   个月
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23