C-Study-0001
尽可能快的过一下C语言,再转pwn。
听课资料:慕课MOOC
学习相关的博客资源:
https://blog.csdn.net/m0_57304511/article/details/122280010
https://blog.csdn.net/mozibai666/article/details/119786120
简明汇编指南:
https://arthurchiao.art/blog/x86-asm-guide-zh/
W3C汇编指南:
https://www.w3schools.cn/assembly/assembly_introduction.html
Sublime Text3 搭建C开发环境:
pwn博客教程指导资源 ,pwn笔记,资源汇总,pwn入门题库,B站视频,IDA常用快捷键.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
一般的主程序框架:
|
运行的方式:
gcc -o test test.c |
知识点
输出函数
//简单的打印字符串 |
输入函数
// 获取一个输入值,并且是整数 |
字符串操作
//存入一个整数: |
变量
存储、放数据的地方。
常量
常量定义后是无法被修改的。
//定义一个常量 |
数据类型
一旦被定义,则永远都是这个类型。比如定义整数,则永远都是整数。
// 整数类型,一旦出现整数之间的换算,得到的结果也只能是整数。 |
数据类型的特殊情况:
|
浮点运算:整数运算转只有整数部分,否则要用浮点数。
表达式
由运算符和算子组成。
优先级
单目运算:例如给变量a取负,这就是单目运算符。
双目运算:一般加法有两个算子,所以叫做双目。
优先级 | 运算符 | 运算 | 结合关系 | 举例 |
---|---|---|---|---|
1 | + | 单目不变 | 自右向左 | a*+b |
1 | - | 单目取负 | 自右向左 | a*-b |
2 | * | 乘 | 自左向右 | a*b |
2 | / | 除 | 自左向右 | a/b |
2 | % | 取余 | 自左向右 | a%b |
3 | + | 加 | 自左向右 | a+b |
3 | - | 减 | 自左向右 | a-b |
4 | = | 赋值(最低优先级) | 自右向左 | a=b |
赋值是一个运算符,不是一个动作。能拿到结果。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 矢幽武博客!
评论