• 编程原理


    编程原理

    1、编程介绍

      [计算机只能识别二进制指令]

      程序 = 指令 + 数据

      根据服务的重心不同,我们分为面向过程编程,面向对象编程;

        面向过程  -- 侧重指令

        面向对象  -- 侧重数据

      又根据程序翻译成二进制指令的方式不同,我们分为低级语言和高级语言;

        低级语言  -- 汇编语言

        高级语言  -- 由于编译方式不同分为:

          解释型语言 -- 编译器 -- C、C++、java

          解释型语言 -- 解释器 -- shell、perl、python

        编程语言的执行方式:

          1)顺序执行

          2)循环执行 -- for、while、until

          3)选择执行 -- 分支 if、case

    2、shell脚本语言介绍

      2、1shell脚本中的条件判断

        整数条件判断

        -eq  // 等于

        -nq  // 不等于

        -gt  // 大于

        -lt  // 小于

        -ge  // 大于等于

        -le  // 小于等于

      例:添加用户

     1 #!/bin/bash
     2 #添加用户
     3 if id $* &> /dev/null;then
     4     echo "这个用户已存在"
     5 else 
     6     for i in $*;do
     7         useradd $i
     8         echo "123456" | passwd --stdin "$i" &> /dev/null
     9         echo "$i这个用户添加成功"
    10     done
    11     exit 0   
    12 fi

      2、2 优缺点

        优点:调用os(操作系统)的命令行,来实现所有功能;

        缺点:没有库调用(与python区别)

      2、3 shell脚本

        shell脚本包括:

          1)命令

          2)变量(全局变量、局部变量、本地变量、传参)

          3)逻辑关系

        关于shell脚本

          #!/bin/bash  --定义脚本解释器(必须写)

          #!/usr/bin/python

          /etc/shells --查看当前系统支持的shell程序

          echo $SHELL  --c查看当前会话的shell程序

          /etc/passwd  --制定了用户默认支持的shell程序(/sbin/nologin)

        shell的执行

          bash命令来执行脚本

            -n  //查看shell脚本的逻辑错误(注意:单词错误不算)

            -x  //逐行显示执行的脚本程序(方便排错)

    3、变量

      1)环境变量

      2)局部变量

        declare  -- 定义变量类型

      3)本地变量

        local  -- 在函数中使用

      4)变量类型

        数值型: 

            整型 int

            浮点型 float

            布尔型 blood

        字符串:

            普通字符及字符串

            数组

      5)编程语言的分类:
                  强类型语言  --  数值必须被定义,才能进行处理或运算
                  弱类型语言  --  编程语言可以自动识别变量类型
                  【*多态* 一个数据具有多个属性,而最后使用的属性取决于和它进行运算的数据】
      6)传参
              $?  --  上一条命令的执行状态 0 正确 1-255 错误
              $1  $2 ... ${10}  --  命令后面传入脚本的数据,以空格为分隔符
              $# --  统计传参数量         ${$#}  ?
              $* --  表示所有的传参,所有的传参以字符串形式进行输出
              $@ -- 表示所有传参,将所有的传参以列表的形式进行输出
              【工作中要对所有的传参进行操作的时候,就要考虑$*和$@】

        7)定义变量格式:
              NAME=VALUE  (一个等号叫赋值,两个等号叫判断)
              我们通过命令declare 定义变量类型
              declare -i 整数   int()  str()
              declare -a 数组
        8)变量命令:
              下划线的方式指定变量名称
              驼峰命名方式

    4、test文件测试,条件判断

    在脚本中,我们需要进行 语句分支; 说白了,就要做判断;判断就是使用test命令来实现;
        4、1使用格式:
            1)test [option] file
            2)[ 条件语句 ]
        4、2常见的test选项:
            比较选项:
                -eq 等于
                -ne 不等于
                -gt 大于
                -ge 大于等于
                -lt 小于
                -le 小于等于
            判断选项:
                -f 判断是否为普通文件
                -d 判断是否为目录文件
                -L  判断是否为连接文件
                -r -w -x  判断文件是否具有 读 写 执行 权限
            关联选项:
                -o  或
                -a  与
                !    非
            字符串判断:
                =  判断两边的字符串是否相同
                !=  不等于
                -z  判断字符串是否存在
                -n  和 -z 相反,存在为假,不存在为真

    5、逻辑运算

      与    &&   : 两边的命令,都为真,结果才是真

      或    ||       : 两边的命令,一边为真,就是真,同时为假,才是假

      非    !=

      这个逻辑运算符,前后对接的都是单独存在的命令;
        例:
          [ $? -eq 0 ] && exit 0 || exit 1

    6、算术运算

      *let 1+1
              let a=1+1
              echo $a
          expr 1*1
              expr 1 * 10
          *$[$1+10]
              a=$[2+3]
              echo $a
          $(($1/$2))
              a=$((3/2))
              echo $a
          + - * / % **

  • 相关阅读:
    我也要学C++_第三章:字符串
    我也要学C++_第二章:整数表达式
    VC++学习笔记01糖葫芦(数组)及其游戏编程实践
    一年后再更新博客了
    我也要学C语言(威力加强版)_第一章:WINDOWS平台下CL编译器下helloworld的编写,编译与链接
    我也要学python内置数据结构(一)
    批量转换的福音:一款很好用的文件编码批量转换工具。
    我的未来
    php解决json_encode输出GB2312中文问题 (数组)
    实现单页播放音乐的功能
  • 原文地址:https://www.cnblogs.com/yxq-123/p/11360538.html
Copyright © 2020-2023  润新知