niusouti.com
更多“下列程序中的for 循环执行的次当次数是______。#define N 2#define M N+i#define NUM 2*M+l#main ”相关问题
  • 第1题:

    下列程序中的for循环执行的次数是______。 #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); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第2题:

    执行以下程序的输出结果是( )。 includedefine M 5define N M+M main(){int k; k=N*N*5;

    执行以下程序的输出结果是( )。

    include<stdio.h>

    define M 5

    define N M+M

    main()

    { int k;

    k=N*N*5;printf(”%d\n" ,k);

    }


    正确答案:55
    55 解析:本题考查的重点是对宏定义的理解。#define指令定义一个标识符和一个串,编译程序在对C源程序处理时.发现该标识符都用该串替换,因此,在语句k=N*N*5将替换成k=M+M*M+M*5后,M被替换成5,从而k=5+5*5+5*5=55。

  • 第3题:

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

    A.10

    B.20

    C.25

    D.30


    正确答案:C
    解析:编译预处理时,用“type1.h”中的内容替代命令#include“type1.h”。表达式“i=M1+M2”经过宏替换为“i=5*3+5*2”即i=25,所以最后输出的i的值为25。所以4个选项中C正确。

  • 第4题:

    有如下程序includedefine N2define M N+1define NUM 2*M+1void main( ){int i;f

    有如下程序 #include<iostream.h> #define N2 #define M N+1 #define NUM 2*M+1 void main( ) { int i; for(i=1,i<= NUM;i++) cout<<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,这就是宏名和变量名之间的区别)。

  • 第5题:

    有如下程序:inCludedehne N 2dehne M N+1denne NUM 2 * M+1Void main( ){int i;

    有如下程序: #inClude<iostream.h> #dehne N 2 #dehne M N+1 #denne NUM 2 * M+1 Void main( ) { int i; for(i=1;i<=NUM;i++) cout < < i;} 该程序中的fof循环执行的次数是

    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,这就是宏名和变量名之间的区别) 。

  • 第6题:

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

    A.10

    B.20

    C.25

    D.30


    正确答案:C
    解析:编译预处理时,用“typel.h”中的内容替代命令#include“typel.h”。表达式“i=M1+M2”经过宏替换为“i=5*3+5*2”即i=25,所以最后输出的i的值为25。

  • 第7题:

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

  • 第8题:

    程序中头文件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正确。

  • 第9题:

    以下程序中的for循环执行的次数是______。 #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); }

    A.5

    B.6

    C.7

    D.8


    正确答案:B
    解析:宏替换是先替换再运算返回结果,因此N的值为2,M的值为3,NUM的值=2*M+1=2*N+1+1=6,而不是:2*M+1=2*(N+1)+1=7。因此该循环只执行6次。

  • 第10题:

    以下for语句构成的循环执行的次数是()     #include      #define N 2  #define M N+l  #define NUM(M+1)*M/2      main( )  {int i,n=0;  for(i=1;i<=NUM;i++)        {n++;printf(“%d”,n);}        printf(“/n”);} 

    • A、5
    • B、6
    • C、8
    • D、9

    正确答案:C

  • 第11题:

    单选题
    以下for语句构成的循环执行的次数是()     #include      #define N 2  #define M N+l  #define NUM(M+1)*M/2      main( )  {int i,n=0;  for(i=1;i
    A

    5

    B

    6

    C

    8

    D

    9


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

  • 第12题:

    单选题
    下列选项中,能正确定义数组的语句是(  )。
    A

    int N=2008;int num[N];

    B

    int num[];int num[N];

    C



    #define N 2008
    int num[N];

    D

    int num[0..2008];


    正确答案: B
    解析:
    一维数组定义格式是:类型名 数组名[整型常量表达式]。A项错误,数组长度不能由变量指明;B项错误,没有指明数组的长度;C项正确,它使用预处理宏定义,N可以看做是常量;D项错误,数组长度应该整型常量表达式。答案选择C选项。

  • 第13题:

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

    A.10

    B.20

    C.25

    D.30


    正确答案:C
    解析:i=M1+M2=N*3+N*2=5*3+5*2=25。

  • 第14题:

    以下程序中的for循环执行的次数是( )。include "stdio.h"define N 2define M N+1define NUM (M+1)*M/2main(){ int i,n=0; for(i=1;i<=NUM;i++)printf("n");}

    A.5

    B.6

    C.8

    D.9


    答案:C

  • 第15题:

    有如下程序: # 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
    解析:本题考查宏定义的使用。本题定义了3个宏名分别是N、M和NUM。对NUM展开得2*M+1=2*N+1+1=2×2+1+1=6。因此正确答案是B。

  • 第16题:

    有如下程序: #define N2 #define MN+1 #define NUM2*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。

  • 第17题:

    下面程序的输出是()。define N 3define M(n) ((N+1)*n)include void main(){int

    下面程序的输出是( )。#define N 3#define M(n) ((N+1)*n)#include <iostrearn.h>void main(){ int z=2*(N+M(5+1)); cout<<z<<end1;}

    A.42

    B.48

    C.54

    D.编译报错


    正确答案:B

  • 第18题:

    有下列程序: main { char*p[]={"3697","2584"}; int i,j;long num=0; for(i=0;i<2:i++) { j=0; while(p[i][j]!=\0) { if((p[i][j]-\0 )%2)num=1O*num+p [j][j]-0; j+=2; } } printf("%d\n",num); } 程序执行后的输m结果是( )。

    A.35

    B.37

    C.39

    D.3975


    正确答案:D
    执行第一次for循环时,用表达式p[i][j]!=\0来判断字符串数组指针P是否到达字符串的结尾,如果没有到达,继续执行while中的语句。if语句表示(p[i][j]-\0)除2的余数不为0时,即字符串所有奇数,执行后面的语句。所以退出第1次for的循环体时,输出为397,执行第2次循环体。对字符串“2584”进行处理,输出结果为5,因而最后输出结果为3975。

  • 第19题:

    下列选项中,能正确定义数组的语句是( )。

    A.int num[0..2008];

    B.int lllllll[];

    C.int N:2008:

    D.define N 2008int num[N1;int num[N];


    正确答案:D
    C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;c选项错误,N为变量,不能用来定义数组大小。因此D选项正确。

  • 第20题:

    下列选项中,能正确定义数组的语句是( )。

    A.int num[0..2008];

    B.int num [];

    C.int N=2008; int num[N];

    D.#define N 2008; int num[N];


    正确答案:D
    通过define进行宏定义,将N赋值为2008,然后定义一个数组,整型长度为2008,所以本题答案为D。

  • 第21题:

    以下for循环共执行循环体( )次。define N 2 define M N+1 define NUM 2*M+1 int i; for(i=1;i<=NUM;i++) printf("%d\n",i);

    A、5

    B、6

    C、7

    D、8


    正确答案:B

  • 第22题:

    以下for语句构成的循环执行了()次。 #include #defineNi #defineMN+1 #defineNUM(M+1)*M/2 main() {inti,n=0; for(i=1;i<=num;i++) {n++; printf("%d",n); }}

    • A、5
    • B、6
    • C、8
    • D、9

    正确答案:C

  • 第23题:

    单选题
    有以下程序;#include #define N 2#define M N+1#define MUN (M+1)*M/2main(){ printf(%d,MUN);}程序运行后的输出结果是(  )。
    A

    8

    B

    9

    C

    5

    D

    6


    正确答案: A
    解析:
    带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。MUN被置换成(2+1+1)*2+1/2;程序的运行结果是8,答案选择A选项。