什么是C语言
C语言是国际上广泛流行的一门计算机语言。
什么是计算机语言
计算机语言是能够实现人与计算机之间交流信息的语言。计算机语言经历了几个发展阶段。
-
机器语言
计算机的工作是基于二进制的,从根本上来说,计算机只能接受和识别的由0和1组成的指令。在计算机发展的初期,一般计算机的指令长度为16,即以16个二进制数(0或1)组成一条指令,16个0和1可以组成各种排列组合,共计216种。
例如用1011011000000000
让计算机进行一次加法运算。
这种计算机能够直接识别和接受的二进制代码称为机器指令(machine instruction).机器指令的集合就是该计算机的机器语言(machine language)。这种机器语言与人们所习惯的语言差别太大,难写、难记、难修改、难检查,难以推广使用。因此初期只有少数的计算机专业人员会编写计算机程序。 -
符号语言
为了克服机器语言的上述缺点,人们创造出符号语言(symbolic language)。使用英文字母和数字表示某些指令,如用“ADD”代表“加”,“SUB”代表“减”。
计算机并不能识别直接识别和执行符号语言的指令,需要一种称为汇编程序的软件,把符号语言的指令转换为机器指令,一条符号语言的指令对应转换为一条机器指令,转换的过程称为“代真”或“汇编”,因此,符号语言又称为汇编语言(assembler language)。
不同型号的计算机的机器语言和汇编语言是互不通用的,因此机器语言和汇编语言也统称为低级语言(low level language)。 -
高级语言
高级语言更接近于人们习惯使用的自然语言和数学语言。程序中用到的语句和指令是用英文单词表示的,程序中所用的运算符和运算表达式和人们日常使用的数学公式相近,便于理解。程序运行的结果用英文和数字输出。这种语言的功能很强,不依赖于具体的机器,用它写出的程序对任何型号的计算机都适用(或只须做出少量修改),它并不是很“贴近”计算机,所以称为计算机高级语言(high level language)。
计算机并不能直接识别高级语言,需要进行“翻译”。使用一种称为编译程序的软件把用高级语言写的程序(称为源程序,source program)转换为机器指令的程序(称为目标程序,object program),然后让计算机执行机器指令程序,最后得到结果。高级语言的一个语句往往对应多条机器指令。
C、C++、Visual Basic、Java和Python等都是高级语言。
第一个C语言程序
在屏幕上输出一句“hello world”
#include<stdio.h> // 编译预处理指令
int main() // 定义主函数
{ // 函数开始的标志
printf("hello world\n"); // 输出所指定的一行信息
return 0; // 函数执行完毕时返回函数值0
} // 函数结束的标志
程序输出结果:
在使用函数库中的输入输出函数时,编译系统要求程序提供有关此函数的信息(例如对这些输入输出函数的声明和宏的定义、全局变量的定义等),程序第一行的“#include<stdio.h>
"的作用就是用来提供这些信息的。stdio.h是系统提供的一个文件名,stdio是"standard input & output"的缩写,文件后缀.h的意思是头文件(header file), 因为这些文件都是放在程序各文件模块的开头的。
C语言允许使用两种注释方式:
- 以 // 开始的单行注释
- 以 /* 开始,以 /* 结尾的块式注释
C语言程序的结构
C语言程序有以下特点:
-
一个程序由一个或多个源程序文件组成。
-
函数是C程序的主要组成部分。
-
一个函数包括两个部分。
(1)函数首部。即函数的第一行,包括函数名、函数类型、函数属性、函数参数名、参数类型。 如: int main (int x , int y)
(2)函数体。即函数首部下面的花括号内的部分。
函数体一般包括以下两个部分。
1)声明部分。声明部分包括:定义在本函数中所用到的变量;对本函数所调用函数进行声明。
2)执行部分。由若干个语句组成,指定在函数中所进行的操作。 -
程序总是从main函数开始执行的。
-
在每个数据声明和语句的最后必须有一个分号。
-
程序应当包含注释。