下面叙述错误的是()。A.“define PRICE 30”命令的作用是定义一个与30等价的符号常量PRICEB.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率C.“include”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令D.宏定义也是C语句,必须在行末加分号

题目

下面叙述错误的是()。

A.“define PRICE 30”命令的作用是定义一个与30等价的符号常量PRICE

B.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率

C.“include”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令

D.宏定义也是C语句,必须在行末加分号


相似考题
更多“下面叙述错误的是()。A.“define PRICE 30”命令的作用是定义一个与30等价的符号常量PRICEB.C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率C.“include”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令D.宏定义也是C语句,必须在行末加分号”相关问题
  • 第1题:

    以下叙述中错误的是

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

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

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

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


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

  • 第2题:

    以下叙述中错误的是

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

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

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

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


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

  • 第3题:

    以下叙述中不正确的是

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

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

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

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


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

  • 第4题:

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

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

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

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

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


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

  • 第5题:

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

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

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

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

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


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

  • 第6题:

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

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

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

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

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


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

  • 第7题:

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

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

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

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

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


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

  • 第8题:

    以下说法正确的是( )

    A.宏定义是C语句,所以要在行末加分号

    B.可以使用#undef命令来终止宏定义的作用域

    C.在进行宏定义时,宏定义不能层层置换

    D.对程序中用双引号括起来的字符串内的字符,与宏名相同的要进行置换


    正确答案:B

  • 第9题:

    C++提供的预处理命令有宏定义命令,条件编译命令和()命令。


    正确答案:文件包含

  • 第10题:

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

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

    B

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

    C

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

    D

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


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

  • 第11题:

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

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

    B

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

    C

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

    D

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


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

  • 第12题:

    填空题
    C++提供的预处理命令有宏定义命令,条件编译命令和()命令。

    正确答案: 文件包含
    解析: 暂无解析

  • 第13题:

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


    正确答案:#include
    #include

  • 第14题:

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

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

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

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

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


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

  • 第15题:

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

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

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

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

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


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

  • 第16题:

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

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

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

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

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


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

  • 第17题:

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

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

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

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

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


    正确答案:A
    C程序对预处理命令行的处理是在程序编译的过程中进行的,所以选择A)。

  • 第18题:

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

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

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

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

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


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

  • 第19题:

    以下正确的描述为

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

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

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

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


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

  • 第20题:

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

    • A、“#definePRICE=30”定义了与30等价的符号常量PRICE
    • B、预编译处理命令行都必须以“#”开头
    • C、程序中使用带参的宏时,参数类型要与宏定义时一致
    • D、宏名只能包含大写字母和数字字符

    正确答案:B

  • 第21题:

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

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

    B

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

    C

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

    D

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


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

  • 第22题:

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

    “#definePRICE=30”定义了与30等价的符号常量PRICE

    B

    预编译处理命令行都必须以“#”开头

    C

    程序中使用带参的宏时,参数类型要与宏定义时一致

    D

    宏名只能包含大写字母和数字字符


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

  • 第23题:

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

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

    B

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

    C

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

    D

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


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