C复习1基础
本菜鸟是大四快毕业的学生,最近不知道怎么了特别迷茫,而且时而就不想学习了,感觉自己学过的东西很多但是很多都不能学以致用,可能还是代码量少了吧。无论是为了以后找工作还是为了回首一下大学生活,我觉得把自己大学学过的东西全部都复习一遍都很有意义,今天就首先复习c语言的知识吧。
c语言是学习编程的第一门语言,大一学的当时用的编程软件是VC++6.0,后来在vs和gcc上也有编过,个人比较喜欢gcc,因为在gcc内置的库函数比较全一个Linuxc函数手册就能查完而且不懂还阔以man一下,vc上面进行一些高级编程的时候函数库在win api里面很难找,也可能是我太菜了吧,O(∩_∩)O哈哈~
先说说源代码到程序的步骤吧,
和python这种解释性语言不一样,c语言需要经过编译才能执行,有3个步骤
1,预处理;2,编译;3,汇编;4,链接;
Linux下C语言程序的编译过程
而且生成的可执行文件还不是程序,程序的动态运行在内存中的,程序在内存中的的虚拟内存图如下图:
1,关键字
一门语言最开始的就是单词和语法了,c语言也不例外,c语言一共有32个关键字,在变量命名时变量名不能与关键字同名。
auto | 声明自动变量 |
short | 声明短整型变量或函数 |
int | 声明整型变量或函数 |
long | 声明长整型变量或函数 |
float | 声明浮点型变量或函数 |
double | 声明双精度变量或函数 |
char | 声明字符型变量或函数 |
struct | 声明结构体变量或函数 |
union | 声明共用数据类型 |
enum | 声明枚举类型 |
typedef | 用以给数据类型取别名 |
const | 声明只读变量 |
unsigned | 声明无符号类型变量或函数 |
signed | 声明有符号类型变量或函数 |
extern | 声明变量是在其他文件正声明 |
register | 声明寄存器变量 |
static | 声明静态变量 |
volatile | 说明变量在程序执行中可被隐含地改变 |
void | 声明函数无返回值或无参数,声明无类型指针 |
if | 条件语句 |
else | 条件语句否定分支(与 if 连用) |
switch | 用于开关语句 |
case | 开关语句分支 |
for | 一种循环语句 |
do | 循环语句的循环体 |
while | 循环语句的循环条件 |
goto | 无条件跳转语句 |
continue | 结束当前循环,开始下一轮循环 |
break | 跳出当前循环 |
default | 开关语句中的“其他”分支 |
sizeof | 计算数据类型长度 |
return | 子程序返回语句(可以带参数,也可不带参数)循环条件 |
上面关键字的描述很少,但是每个关键字都有很多需要注意的地方,下面这篇博文比较详细