zoukankan      html  css  js  c++  java
  • 编程介绍

    1、编程介绍

      早期编程:

        驱动     硬件默认是不能使用的

          提供不同的厂家硬件设备之间需要进行指令沟通,我们需要驱动程序来进行“翻译”;

          更趋近与硬件开发的工程师,要学习“汇编语言”;而“汇编语言”被厂家所限制、

    程序=指令+数据

    面向对象 ---侧重于数据的编程语言

    面向过程 --侧重于指令

    编程语言的执行方式:

    一行一行

    1、顺序执行

    2、循环执行 --*for(遍历)* while(循环条件) until(和while相反)

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

    2、shell脚本语言介绍

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

    缺点:没有库调用(区分Python)

    shell脚本包括:

    1、*命令*(非常重要)

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

    3、逻辑关系

     shell的第一句话!!!!(必须写)

    #!/bin/bash  定义脚本解释器(普遍认为#为注释行,这里特殊)senbang

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

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

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

    shell的执行:

    1、bash命令来执行脚本

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

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

    2、授权chmod u+x  filename.sh

        使用全路径执行脚本,即可

    3、变量

    环境变量

    局部变量    declare  命令 ---定义变量类型

    本地变量  local在函数中使用

    变量类型:

    数值型:

    1、整型

    2、浮点型

    3、布尔值

    字符串:

    1、普通字符及字符串

    2、数组

    编程语言的分类:

    强类型语言 ----数值必须被定义,才能进行处理或运算

    弱类型语言 ----编程语言可以自动识别变量类型

    【*多态*一个数据具有多个属性,而最后使用的属性取决于和他进行运算的数据】

    传参

    $? ---上一条命令的执行状态0正确1-255错误

    $1  $2  ... ${10}   --- 命令后面传入脚本的数据,以空格为分隔符

    $#   -----  统计传参数量 ${$#}

    $*  ----表示所有传参,所有的传参以字符串的形式进行输出

    $@  ----表示所有传参,将所有的传参以列表的形式进行输出 

    定义变量格式:

    NAME=VALUE

    我们通过declare定义变量类型

    declare -i 整数=10 int()  str()

    declare -a  数组

    变量命令

    1、下划线的方式指定变量名称

    2、驼峰命名方式

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

    在脚本中,我们需要进行语句的分支;说白了,就要做判断

    判断就是使用test命令来实现;

    使用格式:

    1、test[option]file

    2、[条件语句]

    常见的test选项:

    比较选项:

    -eq 等于

    -ne 不等于

    -gt 大于

    -ge 大于等于

    -lt 小于

    -le 小于等于

    判断选项:

    -e  文件是否存在

    -f  判断是否为普通文件

    -d  判断是否为目录文件

    -L  判断是否为链接文件

    -r -w -x  判断文件是否为具有读写执行权限

    关联选项:

    -o  或

    -a  与

    !  非

    字符串判断:

    =   判断两边的字符串是否相同

    !=  不等于

    -z  判断字符串长度是否为0,0为假

    -n  和-z相反,存在为假,不存在为真

    5、逻辑运算符

    与    &&

    或 ||

    非 !=

    这个逻辑运算符,前后对接的都是单独存在的命令;

    [$? -eq 0] && exit || exit 1

    6、算数运算

    let  1+1!!!

    expr  1*1

    $[$1+10]!!!!

    $(($1/$2))

    + - * / % **

  • 相关阅读:
    机器学习(深度学习)
    机器学习(六)
    机器学习一-三
    Leetcode 90. 子集 II dfs
    Leetcode 83. 删除排序链表中的重复元素 链表操作
    《算法竞赛进阶指南》 第二章 Acwing 139. 回文子串的最大长度
    LeetCode 80. 删除有序数组中的重复项 II 双指针
    LeetCode 86 分割链表
    《算法竞赛进阶指南》 第二章 Acwing 138. 兔子与兔子 哈希
    《算法竞赛进阶指南》 第二章 Acwing 137. 雪花雪花雪花 哈希
  • 原文地址:https://www.cnblogs.com/yjkyjk/p/11345465.html
Copyright © 2011-2022 走看看