vsCode
Code 文件名 = >可以直接打开code并将该文件放在工作区
vscode快捷键:
ctrl+d:复制光标所在的行
shift+del:删除光标所在的行
alt+上箭头:将光标所在的行上移一行
alt+下箭头:将光标所在的行下移一行
ctrl+鼠标点击函数原型:跳转到函数头文件定义
alt+左箭头:回退(回退和前进在代码跳转中非常有用,可以帮助我们看一些接口的原始定义)
alt+右箭头:前进
文件中右键->格式化代码(ctrl+shift+i):自动格式化代码
ctrl+f:在当前文件中搜索
ctrl+shift+f:在当前工程中搜索
ctrl+k然后再按ctrl+t:修改主题
ctrl+p:快速选择文件打开
ctrl+shift+o(或者ctrl+p输入@):打开当前代码的函数列表
ctrl+/:对选中的代码自动加注释,再按一次可以去掉注释
//配置好编程环境的Linux系统请关注私信
目录
【1】编程语言发展历程
机器语言 二进制序列
汇编语言 移植性较差
高级语言 c c++ java
【2】gcc编译器
功能:将代码转换程计算机能识别的机器语言
四步编译过程: ESc >>iso /// .c >.i > .s > .o > 可执行文件
1. 预处理
展开头文件,删除注释等无用内容,替换宏定义,生成 . i 预处理文件
gcc -E hello.c -o hello.i
2. 编译
检查语法错误,有错就报错,没错就转换成汇编语言,生成 . s 汇编文件
gcc -S hello.i -o hello.s
3. 汇编
将汇编文件转换成 二进制 . o 目标文件
gcc -c hello.s -o hello.o
4. 链接
链接库文件 ,最终生成机器能够识别的可执行文件
gcc hello.o -o hello /直接生成可执行文件hello
./hello
gcc hello.c -o hello/
./hello
【3】计算机存储单位
1字节(Byte) = 8位(bit)
1KB=1024B k = 1024
1MB = 1024KB
1GB=1024MB
1T =1024GB
【4】计算机数据的表现形式
1. 数值型数据
二进制: 0 -1
八进制:0 -7
十进制:0-9
十六进制:0-9 a-f
进制转换:
十进制转二进制:
1) 短除法:除2倒取余
2) 拆分法:拆成2的次方和
3) 计算机法:程序员模式
二进制转十进制:
整数:求2的次方和 >>>最低位是2的0次方,向左依次递增,将有1的位求和
101110 =》2^5+2^3+2^2+2^1 = 46
小数:从小数点后第一位上的二进制数字乘以2的负一次方加上第二位上的二进制数字乘以2的负二次方,以此类推第n位上的二进制数字乘以2的负n次方。
八进制转二进制:421码
1位8进制可以转换为3位二进制来表示,八进制以0开头
053 = 》101 011
0765=> 111 110 101
二进制转八进制
从低位开始,每3个二进制为一组,转换成一位8进制,不够补零
1001011 =》 0113
101101001 =》 0551
十六进制转二进制
一位16进制用4位二进制来表示(8421码)
0xab=> 1010 1011
0x3ce=> 0011 1100 1110
二进制转16进制:
从低位开始,每4位二进制为一组转换为一个16进制,不够补零
1100011010=》0011 0001 1010 =》0x31a
2. 非数值型数据
man ascii
'\0' 0 字符串结束的标志
'\n' 10 换行
' ' 32 空格
'0' 48 字符0
'9' 57 字符9
'A' 65 大写字母A
'Z' 90 大写字母Z
'a' 97 小写字母a
'z' 122 小写字母z
'0'-48=数字0 ;;;字符型数字-48 转为整型值
大写字母+32=小写字母
小写字母-32=大写字母
【5】词法符号
概念:由若干字符组成的有意义的最小语法单位
分类:关键字、运算符、标识符、分隔符、标点符号
【6】关键字:
概念:由系统预定义的具有特殊功能的词法符号
分类:
存储类型:
auto(修饰局部变量)
static(修饰全局变量时:限制变量或函数作用域为本文;
修饰局部变量时:改变变量存储位置(从栈区转为静态数据区),延长局部变量的生命周期至程序结束(静态局部变量)
extern(外部引用类型,引用统一工程中的全局变量和函数:文件1:int a 》文件2:extern int a) 在文件2中引用文件①中的a;
遵循命名规则:
1. 由数字、字母、下划线组成
2. 开头不能是数字
3. 不能和关键字重复
4. 见名知义
【7】标识符
用来标识变量、函数或其他用户自定义的项目的名称
遵循命名规则:
- 由数字、字母、下划线组成
- 开头不能是数字
- 不能和关键字重复
- 见名知义
练习: x y sum a100 _A7b_3x 3’a x*y @ b.8 while
【8】运算符
1. 算术运算符
2. 逻辑运算符
3. 位运算符
4. 关系运算符
5. 赋值运算符
6. 三目运算符
1. 算术运算符
+ - * / % ++ --
/:整数相除,向下取整
int a = 5/2; // a=2;
float b = 5/2;// b = 2.000000
float c = 5/2.0;// c=2.500000
%:只能用于整数运算
10%3 == 1
123
百位:123/100==1
十位:123/10%10==2
个位:123%10==3