参考答案和解析
正确答案:B
更多“有以下程序 main() { int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=1 for(i=0;i<3;i++) { printf( ”相关问题
  • 第1题:

    有以下程序: 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
    解析:变量k的初值为2,循环执行了3次,分别输出m[2][0]、m[2][1]和m[2][2],其值分别为3、6、9。所以,C选项为所选。

  • 第2题:

    有以下程序 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.2 5 8

    C.3 6 9

    D.7 8 9


    正确答案:C
    解析:本题考核的知识点是二维数组的定义,赋值及数组元素的引用。变量k的初值为2,循环执行了3次,分别输出m[2][0]、m[2][1]和m[2][2],其值分别为3,6,9。所以,C选项为所选。

  • 第3题:

    以下程序的输出结果是()。 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.4 5 6

    B.2 5 8

    C.3 6 9

    D.7 8 9


    A for循环语句嵌套一个switch语句;i=1,i%5=1,执行case 1,遇到break退出switch语句,i=2,i%5=2,执行case 2,i=3,i%5=3,执行default语句,然后执行case 2……

  • 第4题:

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

  • 第5题:

    以下程序中,fun函数的功能足求3行4列二维数组每行尢素中的最大值。请填空。 void fun(int,int,int(*)[4],int*); main() {int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,B); for(i=0;j<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int*br) {int i,j,x; for(i=0;i<m;i++) {x=ar[i][0]; for(j=0;j<n;j++) if(( )) x=ar[i][j]; br[i]=x; } }


    正确答案:xar[i][j]
    xar[i][j] 解析:本题考查的是循环的嵌套。本题定义了二维数组a,存放3行4列的数组元素,定义了,一维数组b用于存放每行的最大数。存函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层for循环用于控制列数。当外层循环执行一次时,内层循环则执行4次,并求出了这一行的最大值x,最后将每一行求出最大值x赋值给存放最大值的数组br,故本题答案为xar[i][j]。