单项选择题

以下关于C语言的叙述中正确的是()。

A. 预处理命令通常位于函数体外面,但也可以位于函数体中间
B. C语言中的变量定义须在其他语句之前
C. 在C语言程序的书写中,一个语句必须单占一行
D. 一个C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的main函数