单项选择题

以下叙述中正确的是( )。

A.预处理命令行必须位于C源程序的起始位置
B.在C语言中,预处理命令行都以“#”开头
C.每个C程序必须在开头包含预处理命令行:#include <stdio.h>
D.C语言的预处理不能实现宏定义和条件编译的功能