#include<stdio.h>
int main()
{
print("hello, world\n");
return 0;
}
学过C/C++的人对以上代码肯定有点印象,将上述代码编译成.exe文件后启动即可打印输出"hello, world",然而从我们编写这个c文件,到生成.exe文件,我们写好的c文件是直接生成.exe文件的吗?在这段时间电脑做了什么?
helloworld程序的生命周期是从一个源程序开始的,这个源程序就是我们通过编辑器创建并保存的文本文件,即hellp.c。源程序就是由1和0组成的位序列,8个01为一组,称之为字节。每个字节表示程序中的文本字符。现代计算机一般使用ASCII(美国信息交换标准代码)表示文本字符,比如说源程序中的#include<stdio.h>文本字符,就表示为如下
# i n c l u d e 空格 < s t d i o . h >
35 105 110 99 108 117 100 101 32 60 115 116 100 105 111 46 104 62
hello.c程序就是以字节序列的方式存储在文件中。每个字节有一个整数值,对应于某些字符。如#对应35,i 对应105等。每个文本行是以一个看不见的换行符 '\n'结束的,'\n'对应的整数值为10。像hello.c只由ASCII字符构成的文件称为文本文件,所有其他文件都成为二进制文件。
hello.c的表示方法说明了一个基本思想:系统中所有的信息,包括磁盘文件、内存中的程序、内存中存放的数据及网络传输数据都是以一串01表示。