niusouti.com
更多“以下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); ”相关问题
  • 第1题:

    下面程序的运行结果是【17】。

    #define N 10

    #define s(x)x*x

    #define f(x)(x*x)

    main()

    { int i1,i2;

    i1=1000/s(N); i2=1000/f(N);

    printf("%d %d\n",i1,i2);

    }


    正确答案:
    1000 10

  • 第2题:

    下列程序中的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

  • 第3题:

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

  • 第4题:

    以下程序中的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

  • 第5题:

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

  • 第6题:

    有以下程序: # define N 20 fun(int a[], int n, int m) { int i, j; for(i=m; i>=n; i--)a[i+1]=a[i]; } main() { int i, a[N]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; fun(a, 2, 9); for(i=0; i<5; i++)printf("% d", a[i]); } 程序运行后的输出结果是______。

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:由于用了宏定义a[10]~a[19]均为0。函数fun的功能是把从a[n]到a[m]中的元素依次赋给后面的一个元素。调用了fun(a, 2, 9)以后,a[N]={1, 2, 3, 3, 4, 5, 6, 7, 8, 9, 10}。

  • 第7题:

    有以下程序:includedefine N 5define M N+1define f(x)(x*M)main(){int i1,i2;i1=f

    有以下程序: #include<stdio.h> #define N 5 #define M N+1 #define f(x)(x*M) main() {int i1,i2; i1=f(2); i2=f(1+1); printf("%d%d",i1,i2); } 程序的运行结果是( )。

    A.12 12

    B.11 7

    C.11 11

    D.12 7


    正确答案:B
    解析:根据define的定义,可得f(2)=2*5+1=11,f(1+1)=1+1*5+17。

  • 第8题:

    有以下程序 include define N 4 void fun(int a[][N],int b[]) { int

    有以下程序 #include <stdio.h> #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][i]; } main() {int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10} },Y[N],i; fun(x,y); for(i=0;i<N;i++) printf("%d,",y[i]); printf("\n"); } 程序的运行结果是______。

    A.1,2,3,4,

    B.1,0,7,0,

    C.1,4,5,9,

    D.3,4,8,10,


    正确答案:B
    解析:在主函数中,定义并初始化了4行4列的二维数组x。对于二维数组元素的赋值,可以只对部分元素赋初值,未赋初值的元素自动取0。x数组元素赋初值后各元素为:

    fun函数的作用是将二维数组a中主对角线元素赋给数组b,由于数组a与数组x共用同一存储单元,也即将数组x中主对角线元素赋给了数组b。又因为数组b与数组y共用同一存储单元,所以主函数中通过语句“printf("%d,"y[i]);”输出的即为数组b中的值,所以程序运行结果为“1,0,7,0,”。

  • 第9题:

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

  • 第10题:

    以下程序中的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次。

  • 第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<=NUM;i++)        {n++;printf(“%d”,n);}        printf(“/n”);} 

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

    正确答案:C

  • 第12题:

    单选题
    以下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
    解析: 暂无解析

  • 第13题:

    有以下程序:includedefineN5defineMN+1definef(x)(x*M)main(){ inti1,i2;i1=f(2);i

    有以下程序: #include <stdio.h> #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(2); i2=f(1+1); printf("%d%d\n",i1,i2); } 程序的运行结果是( )。

    A.12 12

    B.11 7

    C.11 11

    D.12 7


    正确答案:B
    解析:题目中第1条要替换的语句i1=f(2);展开后是i1=(2*M);再展开为i1=(2*N+1);最后展开为i1=(2*5/1),结果使i1=11。而第2条语句i2=f(1+1);展开后为i2=(1+1*M);再展开为i2=(1+1*N+1);最后展开为i2=(1+1*5+1),结果使i2=7。故应该选择B。

  • 第14题:

    下列程序的输出结果是 #include"stdio.h" #define N 3 #define M 3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:若有以下定义:inta[3][4],i,j;且当0=i3,0=j4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。

  • 第15题:

    有以下程序 #define N 20 fun(int a[],int n,:Int m) { int i,i; for(i=m; i>n; i--) a[i+1);a[i]; } main() { int i,a[N]={1,2,3,4,5,6,7,8,9,10}; fuu(a,2,9); for(i=0; i<5; i++) printf("%d",a[i]); } 程序运行后的输出结果是

    A.10234

    B.12344

    C.12334

    D.12234


    正确答案:C
    解析:数组名可以作为实参传送,由于数组名本身是一个地址值,因此,在函数中对形参数组元素的修改也会相应改变实参数组的元素.在本题中,函数fun()通过一个for循环,将形参数组a中下标为n到m之间的元素向后移动一位,a[n]元素的值不变。所以主函数调用fun(a,2,9);之后,数组a的内容变成{1,2,3,3,4,5,5,6,7,8,9,10},最后通过for循环输出数组前5个元素为12334。选项C符合题意。

  • 第16题:

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

  • 第17题:

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

  • 第18题:

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

  • 第19题:

    下列程序的输出结果是

    #include "stdio.h"

    #define N 3

    #define M 3

    void fun(int a[M][N])

    { printf("%d\n",*(a[1]+2));}

    main()

    { int a[M][N];

    int i,j;

    for(i=0;i<M;i++)

    for(j=0;j<N;j++)

    a[i][j]=i+j-(i-j);

    fun(a);}

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析:若有以下定义:int a[3][4],i,j;且当0<=i<3,0<=j<4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:a[i][j],*(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。

  • 第20题:

    下列程序的输出结果是 #include"stdio.h" #define N3 #define M3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}

    A.3

    B.4

    C.5

    D.6


    正确答案:B
    解析: 若有以下定义:int a[3][4],i,j;且当 0=i3,0=j4,则可以有以下几种方式来引用数组中的第i行,第j列的元素:
    a[a][j],*(a[i]+j),*(*(a+i)+j),(*(a+i)[j],*(&a [0][0]+4*i+j)”。

  • 第21题:

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

  • 第22题:

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

    A.5

    B.6

    C.7

    D.8


    正确答案:B

  • 第23题:

    以下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