1.目标代码文件、可执行文件和库(关系如图)
简而言之,目标文件和可执行文件都是机器语言指令组成的。但目标文件只包括您所编写的代码准换成的机器语言,而可执行文件包含所使用的库例程以及启动代码的机器代码。
2.语言标准
ANSI/ISO标准最终版本通常被称为C89或C99,然而因为ANSI 版本是首先出现的,所以人们通常使用ANSI 这一术语。
C99标准,大多数的编译器没有完全实现C99标准,只有修改编译器的设置后才能够看到C99的特征。
3.第一个程序
#include <stdio.h>
int main(void)
{
int num;
num = 1;
printf ("I am a simple ");
printf ("cmoputer");
printf ("My favourite number is %d because it is first.\n",num);
return 0;
}
#include <stdio.h>
该行告诉编译器包含文件 stdio.h中的全部信息,文件 stdio.h 是所有C语言编译包的一个标准部分。这个文件对关键字 的输入和显示输出提供 .
#inclue 语句是C预处理命令(preprocessor directive)的一个例子。通常,C编译器在编译前要对源代码做一些准备工作:这称为预处理(preprocessing) ;
int main(void)
一个c程序(不考虑例外)总是从被称为main()的函数开始执行的,main()必须是开始的函数;
关于main()函数返回值的仔细讲解;
int num;
##声明语句##(declearation statement),编译器使用这个信息为变量num在内存中分配一个合适的储存空间。
num是一个标识符(indentifier),也就是为一个变量,函数或其他实体所选的名字。这样该声明把一个标识符和计算机内存中的一个特殊的位置联系起来,同时确定了改变量的数据类型。
在c语言中,所有变量在使用之前都必须声明,并且指出变量的数据类型。
ASCI C 必须在使用变量之前声明变量;
C99 可以在代码块中任意位置声明变量;
##变量名的选择##
可使用字符的大写字母,小写字母,数字和下划线(_)。第一个字符必须是字母或者下划线。
num=1;
赋值语句(assignment statement),int num语句在计算机内存中为变量分配了空间,该赋值语句在哪个位置为变量存储了一个值。
printf("I am a simple");
printf("computer.\n");
printf("My favourite num is %d beause it if first.\n");
圆括号中的内容是从函数main()传递到函数printf()的信息。这样的信息被称为参数(argument),更完整的名称是实际参数(actual argument);