单选题以下关于编译预处理的叙述中错误的是(  )。A 预处理命令行必须位于源程序的开始B 源程序中凡是以#开始的控制行都是预处理命令行C 一行上只能有一条有效的预处理命令D 预处理命令是在程序正式编译之前被处理的

题目
单选题
以下关于编译预处理的叙述中错误的是(  )。
A

预处理命令行必须位于源程序的开始

B

源程序中凡是以#开始的控制行都是预处理命令行

C

一行上只能有一条有效的预处理命令

D

预处理命令是在程序正式编译之前被处理的


相似考题
更多“单选题以下关于编译预处理的叙述中错误的是(  )。A 预处理命令行必须位于源程序的开始B 源程序中凡是以#开始的控制行都是预处理命令行C 一行上只能有一条有效的预处理命令D 预处理命令是在程序正式编译之前被处理的”相关问题
  • 第1题:

    以下叙述中错误的是

    A.在程序中凡是以"#"开始的语句行都是预处理命令行

    B.预处理命令行的最后不能以分号表示结束

    C.#define MAX 是合法的宏定义命令行

    D.C程序对预处理命令行的处理是在程序执行的过程中进行的


    正确答案:D
    解析:C语言中的预处理命令以符号#开头,这些命令是在程序编译之前进行处理的,选项D)的描述错误。

  • 第2题:

    在C++中,若需要在程序文件中进行标准输入输出操作,则必须在开始处加入预处理命令include<iostream.h>,若使用到数学库中的函数时,要在源程序的开始处加入预处理命令【 】。


    正确答案:#include
    #include

  • 第3题:

    以下叙述中不正确的是

    A.预处理命令行都必须以#号开始

    B.在程序中凡是以#号开始的语句行都是预处理命令行

    C.宏替换不占用运行时间,只占编译时间

    D.在以下定义是正确的:#define PI 3.1415926;


    正确答案:D
    解析:带参数的宏定义如下:#define宏名(参数)字符串。本题中,宏定义的作用是指定用标识符PI来代替“3.1415926”这个字符串,但宏定义不是C语句,不必在行末加分号。

  • 第4题:

    下列描述中正确的是( )。

    A.在C语言程序中预处理是指完成宏替换和文件包含指定的文件的调用

    B.预处理指令只能位于C源程序文件的首部

    C.预处理命令可以放在程序中的任何位置

    D.预处理命令结尾需要加分号


    正确答案:C
    解析:本题考查预处理命令的特点,编译预处理命令的特点:①为了区别一般的语句,预处理命令行都必须以"#"号开始,结尾不加分号;②预处理命令可以放在程序中的任何位置;⑧在程序中凡是以"#"号开始的语句行都是预处理命令行。

  • 第5题:

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

    A.在C语言中,预处理命令行都以“”开头

    B.预处理命令行必须位于c源程序的起始位置

    C.include<stdi0.h>必须放在C程序的开头

    D.C语言的预处理不能实现宏定义和条件编译的功能


    正确答案:A
    预处理命令是以“#”号开头的命令,它们不是C语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,所以B、c错误。C语言的预处理能够实现宏定义和条件编译等功能,所以D错误。

  • 第6题:

    以下叙述中正确的是_______。

    A.预处理是指完成宏替换和文件包含中指定文件的调用

    B.预处理也是C语句

    C.C源程序中,凡是行首以#标识的控制行都是预处理指令

    D.预处理就是完成C编译程序对C源程序的第一遍扫描,为编译的词法分析和语法分析做准备


    正确答案:C
    解析:预处理功能主要有以下三种:宏定义、文件包含和条件编译,所以A不正确。预处理不是C语句,所以B不正确。预处理命令是由ANSIC统—规定的,编译程序不能识别它们,D也不正确。

  • 第7题:

    下列叙述中错误的是( )。

    A.在程序中凡是以“#”开始的语句行都是预处理命令行

    B.预处理命令行的最后不能以分号表示结束

    C.#defineMAX是合法的宏定义命令行

    D.C程序中预处理命令行的处理是在程序执行的过程中进行的


    正确答案:D
    D。【解析】预处理命令是以“#”开始的语句,每一条预处理命令必须单独占用一行,由于不是C语言的语句,并且命令行的最后不能以分号表示结束,定义格式为“#de-fine标识符字符串”,预处理命令行是系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。

  • 第8题:

    下面选项中关于编译预处理的叙述正确的是

    A.预处理命令行必须使用分号结尾

    B.凡是以号开头的行,都被称为编译预处理命令行

    C.预处理命令行不能出现在程序的最后一行

    D.预处理命令行的作用域是到最近的函数结束处


    正确答案:B
    本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A选项错误,预处理命令行可以出现在程序的最后一行,预处理命令行作用域是整个文件。

  • 第9题:

    如果要使得用 C 语言编写的程序在计算机上运行,则对其源程序需要依次进行( )等阶段的处理。

    A.预处理、汇编和编译
    B.编译、链接和汇编
    C.预处理、编译和链接
    D.编译、预处理和链接

    答案:C
    解析:
    要使得用 C 语言编写的程序在计算机上运行,则对其源程序需要依次进行预处理、编译和链接等阶段的处理,产生可执行文件加载至内存后执行。

  • 第10题:

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

    • A、宏展开不占用运行时间,只占用编译时间
    • B、宏名无类型
    • C、宏名必须用大写字母表示
    • D、预处理命令行都必须以#号开始

    正确答案:C

  • 第11题:

    单选题
    以下关于编译预处理的叙述中错误的是(  )。
    A

    预处理命令行必须位于源程序的开始

    B

    源程序中凡是以#开始的控制行都是预处理命令行

    C

    一行上只能有一条有效的预处理命令

    D

    预处理命令是在程序正式编译之前被处理的


    正确答案: D
    解析:
    通常,预处理命令位于源文件的开头,也可以写在函数与函数之间。答案选择A选项。

  • 第12题:

    单选题
    以下叙述中正确的是()
    A

    预处理命令行必须位于C源程序的起始位置

    B

    在C语言中,预处理命令行都以”#”开头

    C

    每个C程序必须在开头包含预处理命令行:#include

    D

    C语言的预处理只能实现宏定义和条件编译的功能


    正确答案: B
    解析: 暂无解析

  • 第13题:

    编译预处理命令只能位于源程序中所有语句之前。()


    正确答案:×

  • 第14题:

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

    A.预处理命令行都必须以#号开始

    B.在程序中凡是以#号开始的语句行都是预处理命令行

    C.宏替换不占用运行时间,只占编译时间

    D.定义#define PI 3.1415926;是正确的


    正确答案:D
    解析:带参数的宏定义如下:#define宏名(参数)字符串。本题中,宏定义的作用是指定用标识符PI来代替“3.1415926”这个字符串,但宏定义不是C语句,行末不加分号。

  • 第15题:

    下列叙述中错误的是( )。

    A.在程序中凡是以“#”开始的语句行都是预处理命令行

    B.预处理命令行的最后不能以分号表示结束

    C.#define MAX是合法的宏定义命令行

    D.C程序对预处理命令行的处理是在程序执行的过程中进行的


    正确答案:C
    解析:预处理命令行是以“#”开始的语句,预处理命令行的最后不能以分号表示结束,预处理命令行。其中宏定义的字符替换的定义格式为:#define标识符字符串,预处理命令行是在系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。

  • 第16题:

    以下叙述中不正确的是A.预处理命令都必须以#号开始B.在程序中凡是以#号开始的语句行都是预处理命令行C.宏替换不占用运行时间,只占编译时间D.以下定义是正确的:#define PI 3.1415926;


    正确答案:D
    在C语言程序中,会出现以“#”号开头的预处理命令,如包含命令#include、宏定义命令#define等。在源程序中,这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为预处理部分。
    所谓预处理,是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所做的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分做处理,处理完毕自动编译源程序。
    在C语言中,宏是一种预处理命令,在定义宏时,不需要以语句标识符“;”来表示宏定义结束,而是另起一行表示结束。
    综合上面的分析,可以知道本题选项中,A、B、C的说法都正确,只有D的宏定义不正确,因此本题的正确答案选D。

  • 第17题:

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

    A.预处理命令行都必须以#号开始,结尾不加分号

    B.在程序中凡是以#号开始的语句行都是预处理命令行

    C.C程序在执行过程中对预处理命令进行处理

    D.预处理命令可以放在程序中的任何位置


    正确答案:C
    解析:本题考查预处理命令的特点。编译预处理命令的特点有:①为了区分一般的语句,预处理命令行都必须以#开始,结尾不加分号;②预处理命令可以放在程序中的任意位置;③在程序中凡是以#开始的语句都是预处理命令行。

  • 第18题:

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

    A.在c语言中,预处理命令行都以‘‘#”开头

    B.预处理命令必须位于c源程序的起始位置

    C.#include必须放在c程序的开头

    D.C语言的预处理不能实现宏定义和条件编译的功能


    正确答案:A
    预处理命令是以“#”号开头的命令,它们不是c语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,因此B)、c)选项错

  • 第19题:

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

    A.预处理命令行必须位于C源程序的起始位置

    B.在C语言中,预处理命令行都以“#”开头

    C.每个C程序必须在开头包含预处理命令行:#include

    D.C语言的预处理不能实现宏定义和条件编译的功能


    正确答案:B
    本题是对基本知识点的理解,预处理命令行的位置没有规定,只是习惯写在起始位置而已,当需要时才用#include<stdio.h>头文件,预处理的作用就是实现宏定义和条件编译。

  • 第20题:

    以下正确的描述为

    A.每个C++语言程序必须在开头用预处理命令:

    B.预处理命令必须位于C++源程序的首部

    C.在C++语言中预处理命令都以" #"开头

    D.C++语言的预处理命令只能实现宏定义和条件编译的功能


    正确答案:C
    解析:本题中,A和B的描述是一样的,故可以排除。在C++中,建议用inline函数取代C语言中的宏定义功能。

  • 第21题:

    C++编译预处理命令在程序中都是以()字符开头的。

    • A、*
    • B、#
    • C、&
    • D、@

    正确答案:C

  • 第22题:

    预处理命令行都必须以()号开始.


    正确答案:#

  • 第23题:

    单选题
    以下叙述中正确的是(  )。
    A

    在C语言中,预处理命令行都以“#”开头

    B

    预处理命令行必须位于C源程序的起始位置

    C

    #include<stdio.h>必须放在C程序的开头

    D

    C语言的预处理不能实现宏定义和条件编译的功能


    正确答案: A
    解析:
    “编译预处理”就是在C编译程序对C源程序进行编译前,由编译预处理程序对这些编译预处理命令行进行处理的过程。A项正确,在C语言中,凡是以“#”号开头的行,都称为“编译预处理”命令行。B项错误,预处理命令行可以出现在程序的任何一行的开始部位,其作用一直持续到源文件的末尾;C项错误,#include <stdio.h>可以出现在程序的任意一行的开始部位;D项错误,预处理可以实现宏定义、条件编译和文件包含。答案选择A选项。

  • 第24题:

    单选题
    以下叙述中错误的是(  )。
    A

    在程序中凡是以“#”开始的语句行都是预处理命令行

    B

    预处理命令行的最后不能以分号表示结束

    C

    #define MAX是合法的宏定义命令行

    D

    C程序对预处理命令行的处理是在程序执行的过程中进行的


    正确答案: B
    解析:
    在C语言中,以“#”开头的行都称为“编译预处理命令行”,其中的末尾不得用“;”结束,区别语句的定义和说明语句,选项A、B正确。C项中的宏定义为不带参数的宏命令行,宏名之后可以有替换文本,也可以没有,选项C正确。编译预处理是在编译程序对C源程序进行编译前执行的,选项D错误。答案选择D选项。