niusouti.com
更多“有如下程序 main( ) {int n[5]={0,0,0},i,k=2; for(i=0;i<k;i++)n[i]=n[i]+1; cout<<n[k]<<endl; ”相关问题
  • 第1题:

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

  • 第2题:

    阅读下列程序: main() { int n[3],i,j,k; for(i=0;i〈 3;i++) n[i]=0; k=2; for (i=0;i < k;i++) for (j=0;j〈 2;j++) n[j]=n[i]+1; printf("%dn",n[1]); } 下述程序运行后输出结果是

    A.2

    B.1

    C.0

    D.3


    A

  • 第3题:

    以下程序运行后,输出结果是()。 main() { int n[5]={0,0,0},i,k=2; for(i=0;i<k;i++) n[i]=n[i]+1; printf("%dn",n[k]); }

    A.不确定的值

    B.2

    C.1

    D.0


    C 解析:本题考查的是对位与运算符&的理解。位与运算是将两个运算分量看作两个二进制数,然后对两个二进制数的相应位进行与运算,若同时为1则结果相应位为1,否则结果相应位为0。因此,当两个运算分量相同时,它们的相应位肯定也相同,即不同为1就同为0。所以得到的结果和运算分量也相同。所以,4个选项中选项C)符合题意。

  • 第4题:

    有如下程序 main( ) {int n[5]={0,0,0},i, k=2; for(i=0 i<k i++)n[i]=n[i]+1; cout<<n[k]<<end1; }该程序的输出结果是

    A.不定值

    B.2

    C.1

    D.0


    正确答案:D
    解析:本题较为简单,实际上其中的for循环只是起到混淆视听的效果,对结果并没有任何影响。

  • 第5题:

    以下程序运行后输出结果是()。 main() { int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for (i=0;i<k;i++) for (j=0;j<k;j++) n[j]=n[i]+1; printf("%dn",n[1]); }

    A.2

    B.1

    C.0

    D.3


    C 解析:本题考查的是对位与运算符&的理解。位与运算是将两个运算分量看作两个二进制数,然后对两个二进制数的相应位进行与运算,若同时为1则结果相应位为1,否则结果相应位为0。因此,当两个运算分量相同时,它们的相应位肯定也相同,即不同为1就同为0。所以得到的结果和运算分量也相同。所以,4个选项中选项C)符合题意。