参考答案和解析
正确答案:B
解析:本题考查宏定义的使用。本题定义了3个宏名分别是N、M和NUM。对NUM展开得2*M+1=2*N+1+1=2×2+1+1=6。因此正确答案是B。
更多“有如下程序:# define N 2# define M N+1# define NUM 2*M+1# main(){int i; for(i=1; i<=NUM; i+ ”相关问题
  • 第1题:

    有如下程序: #define n 2 #define m N+1 #define NUM 2*m+1 main() { int i; for(i=1;i<=NUM;i++)printf("%d\n",i); } 该程序中的for循环执行的次数是_____。

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在C语言中,宏定义在编译时将被直接替换,所以NUM最后会被替换成2*N+1+1,即2*2+1+1,值为6。因此,for循环执行的次数为6。

  • 第2题:

    程序中头文件typel.h的内容是 #define N 5 #define M1 N*3 #define "typel .h" #define M2 N*2 main ( ) { int i; i=M1+M2; printf ("%d\n", i ); } 程序编译后运行的输出结果是

    A.10

    B.20

    C.25

    D.30


    正确答案:C
    解析:本题考查的知识点是“文件包含”。编译预处理时,用“typel.h”中的内容替代命令ginclude”typel.h"。表达式“i=M1+M2”经过宏替换为“i=5*3+5*2”即i=25,所以最后输出的i的值为25。所以4个选项中C正确。

  • 第3题:

    有如下程序: #define n 2 #define m N+1 #define NUM 2*m+1 main() { int i; for(i=1;i<=NUM;i++)printf("%d\n",i); } 该程序中的for循环执行的次数是______。

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在C语言中,宏定义在编译时将被直接替换,所以NUM最后会被替换成2*N+1+1,即2*2+1+1,值为6。因此,for循环执行的次数为6。

  • 第4题:

    有如下程序 #define N 2 #define M N+1 #define NUM 2*M+1 main() { int i; for(i=1;i<=NUM;i++) printf("%d\n"i) } 该程序中的for循环执行的次数是______。

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第5题:

    有如下程序: #define n 2 #define m N+1 #define NUM 2*m+1 main() { int i; for(i=1;i<=NUM;i++)printf("%d\n",i); } 该程序中的for循环执行的次数是______。

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:在C语言中,宏定义在编译时将被直接替换,所以NUM最后会被替换成2*N+1+1,即2*2+1+1,值为6。因此,for循环执行的次数为6。