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,以及循环语句
已完成