语言发展史:
机器语言→汇编语言→高级语言
c语言分部编译:
- 预处理 宏定义展开 头文件展开 条件编译 去掉注释
- 编译 检查语法 将c语言转成汇编语言
- 汇编 将汇编语言转成机器语言(二进制码)
- 链接 将c语言依赖库链接到程序中
常见的代码问题
- 编辑时异常
- 编译时异常
- 运行时异常
汇编语言
- mov 移动
- add 添加
- push压栈
- pop 出栈
- call 调用
eax 32位寄存器
简单加法计算
{
__asm
mov a, 10
mov b, 20
mov eax,a
add eax,b
mov c, eax
}
断点和单步调试:
断点: 在选中行单击或按F9
调试程序:在“调试”中选择“开始调试”或按F5键
逐语句执行:F11
逐过程执行:F10
快捷键
Ctrl +k,Ctrl +f 自动格式化代码
Ctrl +k,Ctrl +c 注释代码
Ctrl +k,Ctrl +u 取消注释代码
Ctrl +r 编译,但不调试运行
F9 设置断点
F5 调试运行
Ctrl +F5 不调试运行
Ctrl +Shift +b 编译,不运行
F10 next调试
F11 step调试
#include <stdio.h>
int main01()
{
//{}函数体 代码体 程序体
//printf 是stdio.h中系统提供的函数 表示在标准输出设备是打印字符串
//""称为字符串
printf("hello world!\n");
//return 如果出现在其他函数中表示函数结束 如果出现在main函数中表示程序结束
//0 表示函数的返回值 要和函数返回值类型对应
return 0;
}
系统函数system
#include <stdlib.h>
int main(void)
{
//cmd命令 clac 计算器 notepad 记事本 mspaint 画图板
system("calc");
return 0;
}
简单计算
#include <stdio.h>
int main(void)
{
//数据类型
int a = 10;
int b = 20;
int c = a + b;
printf("%d\n", c);
return 0;
}
关于圆的一些计算
#include <stdio.h>
//宏定义常量
#define PI 3.14159
//圆的面积 s = pi * r * r
//圆的周长 l = 2 * pi * r
int main(void)
{
//常量 PI
//const 数据类型 常量名 = 值
//const float pi = 3.14159;
//在定义局部变量可以在数据类型前加修饰auto,也可以不加
float r = 3.4;
float s = PI * r * r;
float l = 2 * PI * r;
//占位符 %f 表示输出一个浮点型 float 默认保留六位小数 会四舍五入
printf("圆的面积:%.2f\n", s);
printf("圆的周长:%.2f\n", l);
//标识符
return 0;
}