一、学习了关于c语言以及Linux的历史发展
BCPL->NewB->C语言->UNIX->Minix->Linux(开源)->gcc编译器
二、下载安装了并了解VirtualBox以及Ubuntu
Linux系统常用命令:
常用命令:
ls 显示当前目录下的文件
-a 显示当前目录的隐藏文件 以.开头的文件都是隐藏文件
ctrl+h 可以显示或隐藏
-l 以长格式显示文件的详细信息
cd 进入一个目录
pwd 显示当前目录所在的位置
whoami 显示当前用户名
文件相关命令:
touch Odin 创建文件
rm Odin 删除文件 不经过回收站,难以找回,要谨慎使用
cat/more/head/tail 查看文件
cat 会把文件所有内容全部打印到终端,比较适合查看内容较少的文件
more 从文件头开始分页查看文件,回车显示下一行,空格显示下一页,q退出
head 只显示文件的前十行
tail 只显示文件的末尾十行
cp (文件名) dest 复制文件
mv (文件名) dest 移动文件,同时也具备重命名功能
目录相关的命令:
mkdir 目录名 创建目录
-p 可以创建多层目录
rmdir 目录名 删除目录 只能删除空目录
rm -rf 删除非空目录
cp -rf 复制目录
mv (文件名)dest 移动目录,重命名目录
Ubuntu使用小技巧:
1.ctrl+l 清理屏幕 与clear功能相同
2.Tab键可以在终端补全文件名。命令名
3.上下方向键可以调出历史命令
4.ctrl+alt+t 快速打开新终端
5.ctrl+shift+t 快速打开同一终端下新的标签页
6.alt+tab 快速切换任务
7.ctrl+alt+方向键 切换工作区(默认是关闭的,得打开)
vim文本编辑器:
基础用法:
1.进入vim: vim (文件名).c 如果文件不存在,则创建
2.输入 i : 进入编辑模式,编写代码
3.保存退出: 按Esc键退出编辑模式,输出大写的ZZ保存退出
三大模式:
正常模式:一般用于阅读文件,或者使用快捷键对文件进行快速修改
编辑模式:用于修改文件.编写代码
行底(命令)模式:一般使用于对vim进行配置
或者执行一些高级操作
c语言语法标准目前有三种:c89 c99 c11(目前用的大多是c89和c99,c11不稳定)
程序员所编写的代码不是标准的c代码,需要一段程序把它翻译成标准c代码
负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令
以#开头的语句都是预处理指令
举个例子#include<stdio.h>
#include 的功能是吧一个头文件导入到当前文件中
#include<>从系统指定的路径下查找头文件,找到加载导入
#include""先从当前目录查找头文件,如果没找到,
再从系统指定的路径下查找头文件,找到加载导入
头文件:以.h结尾的文件,里面存储的是一些辅助性的代码
绝大多数内容是对函数的申明
源文件:以.c结尾的文件,里面主要是对函数的实现,
功能性的代码
printf/scanf 是标准库中的输出/输入函数,负责输出.输入
数据,一般用为程序测试
预处理 -> 编译 -> 汇编 -> 链接 (我的理解就是我们发出的指令,转化成它的语言,再执行,然再转化成我们的编程语言,做反馈)
代码源文件变成可执行文件的过程
1.预处理:把源文件翻译成预处理文件
gcc -E code.c 把预处理结果直接打印在终端上
gcc -E code.c -o code.i 生成以.i结尾的预处理文件
2.编译:把预处理文件翻译成汇编文件
gcc -S code.i 生成以.s结尾的汇编文件
3.汇编:把汇编文件翻译成二进制的目标文件
gcc -c code.s 生成以.o结尾的目标文件
4.链接:把若干个目标文件合并生成一个可执行文件
gcc a.o b.o c.o 默认生成a.out可执行文件
gcc a.o b.o c.o -o xxx 指定生成名为xxx可执行文件
转义字符:
键盘上一些无法直接打印的符号,会用一些特殊的字符
来表示,这种特殊符号就是转义字符
\n 换行
\t 制表符Tab
\b 退格键
\a 响铃
\r 会回到行首
\\ 显示一个
%% 显示一个
.数据类型
整型:signed 有符号
类型 字节数 表示范围
signed char 1 -128~127
signed short 2 -32768~32767
signed int 4 正负20亿
signed long 4/8
signed long long 8 9开头的19位整数
注意:32位系统下signed long是四字节,64位是8字节
unsigned 无符号
类型 字节数 表示范围
unsigned char 1 0~255
unsigned short 2 0~65535
unsigned int 4 0~40亿
unsigned long 4/8
unsigned long long 8 1开头的20位整数
浮点型:
float 4
double 8
long double 12/16
模拟: (48 == '0' 'A' == 65 'a' == 97 '\0' == 0 )(ASCII码)
字符型:%c
char 字符就是符号或者图案,在内存中存储的十整数,需要
显示处符号或图案时,计算机会跟ASCII码表中的对应关系
显示出相应的符号或图案
布尔型:bool
先有c语言之后才有bool类型,所以c语言十没有真正的布尔类型
在stdbool.h 头文件用整数进行模拟
bool true false
PS:= =!!!,咱就是说,昨天发过的内容我就不汇总了,没错!,就是这样!