linux和简单C语言
一、 Linux
1.学习Linux的优点
完全免费;多用户;多任务;良好的用户界面;设备独立性;提供了丰富的网络功能;可靠的系统安全性;
~ : 家目录
/ : 根目录
双击tab键:自动补全内容,若没有提示表示路径错误
选中内容表示复制,按滚轮表示粘贴内容
ctrl+shift+加号 : 终端界面变大; ctrl+减号 : 终端界面变小
Ctrl+alt+T :形成终端
./ :当前目录 ../ : 上级目录 .gnupg : 隐藏文件
普通用户切换为超级用户:sudo -s ;超级用户切换为普通用户: su gec
ls:列出目录的内容 ;ls -l ; ls -l ; ls -al
cd:切换目录 例如: cd / :切换根目录 cd ~ :切换家目录
cp:复制文件(目录) 复制文件 :cp 1.txt doc 拷贝目录: cp doc mnt -r (拷贝目录时 -r不能忘)
mv:移动/更名文件(目录) mv 1.txt doc :将1.txt移动到doc目录下
rm:删除文件 rm a* :删除以a开头的文件 rm *txt : 删除以txt结尾的文件 rm * : 删除所有文件
chmod:修改文件的权限 ‘r’:读取权限,数字代号为4 'w':写入权限,数字代号为2 'x':执行权限,数字代号为1 '-' :无权限,数字代号为0 。
touch:创建文件 touch 1.txt ; 创建多个文件 touch1.txt 2.txt a.c
mkdir:创建目录 mkdir doc ; 创建多个目录 mkdir doc doc1 doc2
pwd:显示文件的绝对路径 pwd doc
clear:清屏
ubuntu进入共享文件夹: cd /mnt/hgfs/HF2306
编译命令: gcc test.c -o test 执行 ./test
3.七种类型文件
'-' :普通文件
'd' :目录文件(文件夹)
'p' :管道文件(只能在同一台主机上通信)
's' :套接字文件(网络文件,可以在两台主机上通信)
'c' :字符设备文件(驱动文件)
'b':块设备文件(驱动文件)
'l':软链接文件(快捷方式)
4.vi编译器
-
特点:
-
vi的改进版本叫vim(vi’s improved version),vi和vim是同一个软件。
-
vi其初衷是解放鼠标,只用键盘高效操作所有的编辑任务。
-
没有菜单,操作分成编辑模式和命令模式,除了编辑之外的操作都在命令模式下进行。
-
-
模式切换:
-
从命令模式 切换到 编辑模式:按i、o、a、I、O、A均可
-
-
二、C语言
1.C语言大纲
(2).Ascii码、表达式、运算符(位运算符)
(3).分支流、控制流,循环
(4).数组、一维数组、二维数组、指针数组、函数指针、字符串数组
(5).指针、一级指针、二级指针、野指针、空指针
(6).函数的定义、调用、声明、静态函数、字符串函数(strcpy,memcpy,strstr,strcat),内联函数、递归函数
(7).内存管理,作用域,存储期
(8).结构体、枚举、共用体(联合体)
2.没有头文件不会出现编译错误,但会出现警告,提示为隐式声明。<>系统会默认在sur/include寻找头文件; " "系统则会默认在当前目录寻找文件。
char->1字节;short->2字节;int->4字节;1字节->8bit ;1bit=0/1 ;
3.正数的反码等于本身,负数的反码等于除符号位之外的各位取反;正数的补码等于本身,负数的补码等于反码+1。
八进制一般使用O开头,范围是0~7;十六进制的范围是0~9,a~f
小数转化为二进制是使用最小二乘法,转义字符的范围是十进制127以内。
任何字符串都是以'\0'作为结束标记。所以存储空间都要多加1。
布尔类型的 头文件 是#include<stdbool.h> bool age = true/fasle 非0为真,0为假。
使用scanf函数时,有时候需要清空缓冲区 while(getchar())!='\n');
4.代码风格规范
-
-
空格:标点符号后面,一般加空格
-
空行:不同逻辑段落中间,一般加空行
-
符号命名:尽量能一望便知,做到顾名思义,避免使用无意义字符
// 示例代码
5.man帮助手册
-
-
Shell命令(默认已经安装)
-
系统调用
-
库函数
-
特殊文件(通常出现在/dev目录下)
-
文件的特殊格式或协定(例如/etc/password的格式)
-
游戏
-
杂项(例如一些宏定义)
-
系统管理员命令(通常只能由管理员执行)
-
非标准内核例程
三、下面是Linux和Vscode的实例
(1)linux常用的命令

(2)格式输出语句


(3)vi编译


(4)数据类型中出现溢出的情况



浙公网安备 33010602011771号