美文网首页上嵌学习笔记
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