niusouti.com
更多“有如下程序 #define N 2 #define M N1 #define NUM 2*M1 main() { int i; for(i=1;i<=NUM;i) ”相关问题
  • 第1题:

    有如下程序#define N 2#define M N+1#define NUM 2*M+1main(){ int i; for(i = 1; i <= NUM; i++) printf("%d\n",i);}该程序中for循环执行的次数是A.5 B.6 C.7 D.8


    正确答案:B
    分别将N、M的宏定义代入NUM的表达式中,可以得到NUM=2*2+1+1=6,所以当常数NUM作为for循环的终止条件时,应当循环6次。

  • 第2题:

    有如下程序: #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。

  • 第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
    解析:该题关键要注意在不带参数的宏中对2*M+1进行宏替换时,要将宏名M原封不动地代进去,得到NUM的形式为2*N+1+1(千万不要随意给N+1加上括号,使NUM变为2*(N+1)+1,这就是宏名和变量名之间的区别),再将N代进去,得到NUM的值为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
    解析:在C语言中,宏定义在编译时将被直接替换,所以NUM最后会被替换成2*N+1+1,即2*2+1+1,值为6。因此,for循环执行的次数为6。

  • 第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。