美文网首页上嵌学习笔记
C高级自我学习(3)及Linux基础

C高级自我学习(3)及Linux基础

作者: 酸菜牛肉 | 来源:发表于2016-12-08 21:05 被阅读5次

    stastic特性应用

    1,全局静态变量
    • 内存中的位置:静态存储区
    • 初始化:未经初始化的全局变量会被程序自动赋值为0
    • 作用域:全局静态变量再声明他的文件之外是不可见的,从定义之处开始到文件结尾
      课本上的代码编译无法通过,不知问题出在什么地方
      静态变量的好处
      1)不会被其他文件所访问
      2)其他文件中可以使用相同的名字的变量,不会发生冲突
      局部变量可以和全局变量同名:在函数内访问同名的变量时,会优先访问局部变量;局部变量的作用域在那个循环体内的堆栈中,而全局变量存在于静态区中,动态申请数据存在于堆中。
    2,局部静态变量
    • 和全局静态变量不同的地方是作用域为局部作用域,作用于定义它语句开始到语句块结束;
    • 用static修饰局部变量时,变量从原来的栈区变为了静态区,离开作用域后后也不会销毁,只是驻留在静态区中无法被访问。

    课堂笔记

    一,1,Ubuntu下的软件安装

    Ubuntu软件下载:packagename for Linux

    • 图形化界面,Ubuntu软件安装中心
    • 命令行安装:apt-get
      update:保证用户的软件包是最新的(安装前建议更新)
      upgrade packagename:更新已安装的软件包
      install packagename:安装软件
      remmove packagename:卸载软件包
    • dpkg 用来安装下的packagename.deb软件
      sudo dekg -i packagename.deb
    • 安装软件可能碰到的问题解决
      安装之前更新源:
      sudo apt-get update
      安装软件:
      sudo apt-get install packagename
      或者
      sudo dgpk -i packagename.deb(必须提前下载此软件包且路径正确)
      情况一:
      若软件不能正常安装,执行下列语句,重新设置安装环境
      sudo apt-get -f install
      然后再次执行安装命令
      情况二:
      无法获得锁,资源被占用
      执行:ps -aux
      找到所有含apt-get的进程,使用kill命令杀死
      kill -9 PID
      PID:进程号
      然后再次执行安装命令
    • pstree:进程树
    2,打包压缩命令

    tar -czvf filename.tar.gz
    tar -xzvf 待解压缩文件

    3,用户管理

    useradd 增加用户,使用时配合-m选项,创建宿主目录
    passwd 修改密码
    userdel 删除用户,配合-r选项,将用户宿主目录删除

    二,vi编辑器的使用

    1,基本介绍:基于命令操作的编辑器
    2,vi的安装:sudo apt-get install vim
    3,vim的配置文件
    三种模式:

    • 命令模式:此模式下,所输入的命令,不会显,即在屏幕上,看不到用户所输入的命令(vi打开了默认就为命令模式),再输入模式下,回到命令模式下,按esc
    • 输入模式:
      此模式下,可以进入文件的编辑。
      进入输入模式:在命令模式下输入:i,o,O,a
      退出输入模式:esc----->命令模式
    • 末行模式:
      在命令模式下,输入进入末行模式
      4,输入模式
      i:在当前光标之前插入正文
      a:在当前光标之后插入正文
      o:在当前光标所在下一行插入正文
      O:在当前光标所在上一行插入正文
      s:替换光标之前的字符
      5,命令模式
      文本的快捷操作
    • 行复制:yy(复制光标所在行的内容到缓存区)
      nyy:从光标所在行开始复制n行
    • 粘贴:p(粘贴至光标所在行的下一行)
      P(粘贴至光标所在行的上一行)
    • 字符复制:按v进入可视模式
      v:逐个字符复制,可从某一行的任意位置进行复制
      V:按行复制
      选中要复制的正文后,按y键进行复制,按p键进行粘贴
    • 删除和撤销
      dd:整行的删除
      ndd:删除此后的n行正文
      dw:删除光标之后的一个字
      ndw:删除光标之后的n个字符
      x:删除光标所在的一个字符
      nx:删除光标所在位置及其后的n个字符
    • u:撤销
      rc:替换(用c代替当前字符,C可以是任意字符)
      nrc:用n个字符替换光标之前的n个字符
    • 行间快速跳转
      H:跳转到屏幕的最上方
      M:跳转到屏幕的中间
      L:跳转到屏幕的最下方
      nl
      gg:快速跳转到第一行
      G:跳转到最后一行
      6,末行模式
      :n 跳转到指定行
      :q 退出
      :q! 强制退出
      :w 保存
      :w! 强制保存
      :wq 保存退出
      :wq! 强制保存退出
      :qa 全部退出(多文件编辑时)
      :wqa 全部保存退出
      :wa 全部保存

    :nw file 将第n行写入file文件
    :a,bw file 将文件a 到 b 行写入file文件
    :l,.w file 将第一行到当前行写入file文件
    :f file 文件重命名
    :f 打印文件的基本信息

    字符串(string)搜索
    /string
    正向搜索,跳转到第一次出现的位置;按字母n跳转到下一次出现的位置;搜索完之后,会再次从文件头开始搜索
    ?string
    反向搜索,同上
    多文件编辑
    vi file file1 file2 file3 ...
    分屏查看/编辑
    vi -o file.doc file1.doc ...
    竖屏分屏编辑
    vi -O file.doc file1.doc ...
    :vs file 竖屏分屏打开file文件
    :sp file 横屏分屏打开file文件
    vi -x filename 文件加密

    二、Shell脚本

    1,简介
    优点:快速开发,无需编译,事实修改
    缺点:运行效率低,支持数据类型少
    2,简单的shell程序
    echo "hello world!"
    输出hello world!并换行。
    3,常量
    数字常量:1 2 3 4 5
    字符常量:a b c d e
    字符串常量:"hello" "world"
    4,简单的变量使用
    1)变量名=值
    变量的赋值时等号两边不能有空格!
    $:应用变量值
    echo:输出变量的值
    2)变量名
    变量名可以由字母,数字,下划线组成,通常用大写字母表示,便于区分。
    变量名不能以数字开头
    3)变量的是使用
    变量在使用的时候无需指定数据类型,shell是一个动态决定数据类型的语言。变量使用时直接赋值,即“变量名=值”。等号两侧无空格!!
    变量在引用的时候,形式为:$变量名
    常以形式:${变量名} 或者 “$变量名”或者“${变量名}”
    4)变量的赋值
    Shell里面变量的赋值均以字符串的形式赋值。
    %m.nf浮点型的应用
    m:输出的总位数(加小数点位)
    n:小数点后保留的位数
    若小数部分+小数点+整数部分<m,则多出部分用空格代替输出右对齐方式输出
    %-m.nf和以上的对齐方式不同

    作业

    1,熟练使用vi编辑器,并掌握常用命令
    yy:复制,p:粘贴,v:逐个字符复制,dd:整行的删除,u:撤销,rc:替换,q:退出,:强制,w:保存,
    2,练习Shell脚本的基本语法
    变量名通常大写
    赋值时,通常都以字符串的格式赋值进去。
    打印语句:printf "%d" ${NUM}
    echo ${NUM}
    3,实现字符串的拼接和分割

    4,预习if,case,以及循环语句
    已完成

    相关文章

      网友评论

        本文标题:C高级自我学习(3)及Linux基础

        本文链接:https://www.haomeiwen.com/subject/nhddmttx.html