更多“单选题有以下程序: #include main() {  inti,j,m=1;  for(i=1;i3;i++)  {   for(j=3;j0;j--)   {    if(i*j3)break;    m*=i*j;   }  }  printf(m=%d,m); } 程序运行后的输出结果是(  )。A m=6B m=2C m=4D m=5”相关问题
  • 第1题:

    有下列程序:

    fun(int x,int y)

    {statlc int m=0,i=2;

    i+=m+1;m=i+X+y;return m;

    }

    main()

    {int j=1,m=1,k;

    k=fun(j,m);printf("%d,",k);

    k=fun(j,m);printf("%d\n",k);

    }

    执行后的输出结果是( )。

    A.5,5

    B.5,11

    C.11,11

    D.11,5


    正确答案:B
    解析:子函数fun(int x,int y),将变量m和i声明为局部静态变量,因此第1次调用主函数后,局部静态变量m和i的值为5和3,第1次函数调用结束时,它们的值不释放保持不变,所以第2次调用时,局部静态变量m和i的初始值分别为5和3,即在执行“i+=m=1”时,i的值为9,因此最终m的值为11。

  • 第2题:

    下列程序的输出结果是 #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)。

  • 第3题:

    以下程序的执行结果是______。 main() { int i,j,m=O,n=0; for (i=0;i<2;i++) {for (j=0;j<2;j++) if(j>=i) m=1;n++; printf("%d\n",n); } }

    A.4

    B.2

    C.1

    D.0


    正确答案:C

  • 第4题:

    有以下程序includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;pri

    有以下程序 #include <stdio.h> main() {int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++)m=m%j; printf("%d\n",m); } 程序的运行结果是

    A.0

    B.1

    C.2

    D.3


    正确答案:B
    解析: 本题考查循环语句的嵌套以及条件的判断问题。在程序中,内层循环判断条件为“ji”,而j的初值为3,故当i的值为1和2时,内层循环体都不会被执行。只有当i和j都等于3时才会执行一次。m的值为55对3取模,计算结果为1。

  • 第5题:

    以下程序的输出结果是#include <conio.h>#include <stdio.h>#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }


    正确答案:77
    在本题中,程序首先定义一个宏M,然后定义一个fun函数,函数带有三个形参,分别是一个整型形参m和两个整型指针形参a、n。在函数体中,首先定义两整型变量i和j,并给j赋初值为0,然后执行循环,循环体中首先是一个条件判断语句,如果结果为真,则说明变量i能同时被7和11整除,并将变量i保存到数组中,循环结束后,将数组中元素的个数通过指针变量n进行返回。通过分析可以知道,fun函数的作用是求取1到m中能同时被7和11整除的整数,并将结果保存到数组a中。
    在主函数中,首先定义了两个整型变量和一个整型数组aa,然后调用clrscr()函数对文本模式窗口进行清除操作。接着调用fun函数,根据上面我们对fun函数的分析,要计算1~100之间能同时被7和11整除的整数,很显然,这样的数只有77一个,那么此时数组aa中只有一个元素为77,而n的值是1。
    接着执行for循环,从程序中不难看出循环的作用是将数组aa中的元素按一定的规则输出,其规则为每行最多只能输出20个值。结合上面的分析,数组aa中只有一个元素为77,因此,本题程序的最终输出结果为77。

  • 第6题:

    请教:2010年3月全国计算机等级考试二级C语言程序设计笔试试卷(标准答案版)第1大题第20小题如何解答?

    【题目描述】

    ( 20 )有以下程序

    # include < s 七 dio . h >

    main ()

    { in i , j , m=1 ;

    for ( i=1 ; i < 3 ; i++ )

    { for ( j=3 ; j > O ; j-- )

    {if ( i*j )> 3 ) break ;

    m=i*j ;

    }

    }

    printf ( " m=%d \ n ", m ) ;

    程序运行后的输出结果是

    A ) m=6

    B ) m=2

    C ) m=4

    D ) m=5

     


    正确答案:A

    答案分析:

    if(a>b)a=b,b=c,c=a;  应该是if(a>b)a=b;b=c;c=a;
    是三个分号,答案选C  if判断a是否大于b 如果是执行a=b 然后再执行后面两句 如果不符合 就跳过第一条语句 执行后面两句
    共循环 4 次!第一次循环:i=1 j=3 i*j=3 m=3第二次循环:i=1 j=2 i*j=2 m=2第三次循环:i=1 j=1 i*j=1 m=1第二次循环:i=2 j=3 i*j=6 break 退出 for(j=3;j>O;j--)又因为 i = 3, i 不小于 3所以退出 for(i=1;i3;i++)所以输出结果为 1,选 A

  • 第7题:

    有以下程序段: inti,j,m=0; for(i=1;i<;=15;i+=4) for(j一3;j<;=19;j+=4)m++; printf(‘‘%d\n‘‘,m); 程序段的输出结果是( )。

    A.12

    B.15

    C.20

    D.25


    正确答案:C

  • 第8题:

    以下程序的输出结果是______。 main() { int i,j,m=0; for (i=1;i<=15;i+=4) for(j=3; j<=19; j+=4) m++; printf("%d\n",m); }

    A.12

    B.15

    C.20

    D.25


    正确答案:C

  • 第9题:

    下列程序的输出结果是

    #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

  • 第10题:

    有以下程序 fun(int x,int y) { static int m=0,i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1,m=1,k; k=fun(j,m); printf("%d,",k); k=fun(j,m); printf("%d/n",k); } 执行后的输出结果是()

    • A、5,5
    • B、5,11
    • C、11,11
    • D、11,5

    正确答案:B

  • 第11题:

    单选题
    有以下程序 #include  main() {  int i,j,m=55;  for(i=1;i<=3;i++)   for(j=3;j<=i;j++)m=m%j;  printf(%d,m); } 程序的运行结果是(  )。
    A

    1

    B

    0

    C

    2

    D

    3


    正确答案: C
    解析:
    只有i=3,j=3时,内层循环的控制调价j<=i才为真,才能执行m=m%j,即55=55%3=1。答案选择A选项。

  • 第12题:

    单选题
    有以下程序#include int fun(int x,int y){ static int m=0,i=2; i+=m+1; m=i+x+y; return m;}main(){ int j=1,m=1,k; k=fun(j,m); printf(%d,,k); k=fun(j,m); printf(%d,k);}执行后的输出结果是(  )。
    A

    5,11

    B

    5,5

    C

    11,11

    D

    11,5


    正确答案: B
    解析:
    fun函数中m和i是静态变量,退出函数以后,下次再进入该函数时,m和i仍然保持上一次的数值。第一次调用fun(j,m)时,i=2+0+1=3,m=3+1+1=5,返回5;第二次调用fun(j,m)时,i=3+5+1=9,m=9+1+1=11,返回11。答案选择A选项。

  • 第13题:

    该程序运行的结果是( )。

    #include

    #include

    #define M 100

    void fun(int m, int *a, int *n)

    { int i,j=0;

    for(i=1;i<=m;i++)

    if(i%7==0||i==0)

    a[j++]=i;

    *n=j;}

    main()

    { int aa[M],n,k;

    clrscr();

    fun(10,aa,&n);

    for(k=0;k

    if((k+1) ==0)printf("\n");

    else printf("M",aa[k]);

    printf("\n");}


    正确答案:
    7

  • 第14题:

    下列给定程序中,函数fun()的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1,2,3,4,程序运行后输出以下方阵:

    4 1 2 3

    3 4 1 2

    2 3 4 1

    1 2 3 4

    请改正程序中的错误,使它能得出正确的结果。

    注意;不要改动main 函数,不得增行或删行,也不得更改程序的结构。

    试题程序;

    include <stdio.h>

    define M 4

    /*******************************/

    void fun(int a)

    {int i,j,k,m;

    printf("Enter 4 number: ");

    for (i=0; i<M; i++) scanf ("%d", &a [i] );

    printf ("\n\n The result : \n\n ");

    for (i=M; i>0; i--)

    { k=a [M-1];

    for (j=M-1; j>0; j--)

    /**********************************/

    a[j]=a[j+1];

    a[0]=k;

    for (m=0 ;m<M; m++ ) printf ("%d ", a [m]);

    printf ("\n ");

    }

    }

    main ()

    {int a [M];

    fun(a); printf("\n\n ");

    }


    正确答案:(1)错误:void fun (int a) 正确:int fim (int *a (2)错误:a[j]=a[j+1]; 正确:a[j]=a[j-1];
    (1)错误:void fun (int a) 正确:int fim (int *a (2)错误:a[j]=a[j+1]; 正确:a[j]=a[j-1]; 解析:其实,该题中题目信息已经告诉我们按“如下规律”,这就需要去认真分析矩阵的“规律”了,在第1列中,数列以4开始递减,直至1,在该数列中,行和列都是递减循环排列,所以题目在循环的时候有循环条件for(i=M;i>0;i--)和 for (j=M-1;j>0;j--),当然每次循环结束后在列中的赋值语句应该是a[j]=a[j-1];。

  • 第15题:

    有以下程序 include main() { int i,j,m=55; for(i=1;i<=3;i++)

    有以下程序 #include <stdio.h> main() { int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf("%d\n",m); } 程序的运行结果是

    A.0

    B.1

    C.2

    D.3


    正确答案:B

  • 第16题:

    下列程序的输出结果是 #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)”。

  • 第17题:

    有以下程序

    #include <stdio.h>

    Main()

    { int i,j,m=1;

    For{i=i;i<3;1++}

    ( For(j=3;j>0;j--)

    {iF(i+j>3)Break;

    m*=i*j;

    }

    }

    PrintF(“m=%d\n”,m)

    }

    程序运行后的输出结果是

    A.m=6

    B.m=2

    C.m=4

    D.m=5


    正确答案:A
    解析:第一次循环i=1,j=3和j=2时都能执行m*=i*j,此时得到m的值为6;然后进行第二次循环i=2,j=3时会执行break语句,内部循环直接结束,此时i再加1,也会导致退出外部循环,所以最终结果m的值为6。

  • 第18题:

    下面程序的输出结果是()。include using namespace std;void main( )int i,j,m=0,n=0;

    下面程序的输出结果是( )。 #include <iostream> using namespace std; void main( ) int i,j,m=0,n=0; for(i=0;i<2;i++) for(j=0;j<2;j++) if(j> =i) m=1;n++; cout<<m<<endl; cout<<n;

    A.1 1

    B.1 4

    C.1 6

    D.0 2


    正确答案:A
    解析:注意整个二重循环作用的语句为:if(j=i)m=1;,而n++语句并不为二重循环控制。其实不论循环多少次,m、n的值总为1。

  • 第19题:

    有以下程序: #include<stdio.h> main( ) {int i,j,m=1; for(i=1;i<3;i++) {for(j=3;j>0;j--) {if(i*j>3)break; m*=i+j; } } printf("m=%d\n",m); } 程序运行后的输出结果是( )。

    A.m=6

    B.m=2

    C.m=4

    D.m=3


    正确答案:A
    本题考查了多重for循环。当(i*j)>3时,跳出循环,本题中i=1,j=3,i*J后值为3,所以执行下边语句:m*=i+j,也可写成m=m*i+j,这时要注意优先级,所以m的值为6。

  • 第20题:

    有以下程序

    #include<stdio.h>

    main()

    {

    int i,j,m=55;

    for(i=1;i<=3;i++)

    for(j=3;j<=i;j++) m=m%j;

    printf(“%d”,m);

    }

    程序的运行结果是( )。

    A.0

    B.1

    C.2

    D.3


    正确答案:B

  • 第21题:

    有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d",m[k][i]); } } 执行后输出结果是()

    • A、456
    • B、258
    • C、369
    • D、789

    正确答案:C

  • 第22题:

    单选题
    有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++) { printf("%d",m[k][i]); } } 执行后输出结果是()
    A

    456

    B

    258

    C

    369

    D

    789


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

  • 第23题:

    单选题
    有以下程序 fun(int x,int y) { static int m=0,i=2; i+=m+1; m=i+x+y; return m; } main() { int j=1,m=1,k; k=fun(j,m); printf("%d,",k); k=fun(j,m); printf("%d/n",k); } 执行后的输出结果是()
    A

    5,5

    B

    5,11

    C

    11,11

    D

    11,5


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