下列程序的功能是( )。 main() { static int s[3][3]={1,2,3,4,5,6,7,8,9,),m,n; for(m=0;m<3;m++) { for(n=0;n<=m;n++) printf("%d",s[m][n]);printf("\n'); } }A.输出3×3矩阵的下三角的元素B.输出3×3矩阵的上三角的元素C.输出3×3矩阵的对角线上的元素D.输出3×3矩阵的元素

题目

下列程序的功能是( )。 main() { static int s[3][3]={1,2,3,4,5,6,7,8,9,),m,n; for(m=0;m<3;m++) { for(n=0;n<=m;n++) printf("%d",s[m][n]);printf("\n'); } }

A.输出3×3矩阵的下三角的元素

B.输出3×3矩阵的上三角的元素

C.输出3×3矩阵的对角线上的元素

D.输出3×3矩阵的元素


相似考题
更多“下列程序的功能是()。main(){static int s[3][3]={1,2,3,4,5,6,7,8,9,),m,n; for(m=0;m<3;m++) {f ”相关问题
  • 第1题:

    以下程序的输出结果是()。includemain(){int a=8,b=6,m=1;switch(a%4){case 0:m++;brea

    以下程序的输出结果是( )。 #include<stdio.h> main() {int a=8,b=6,m=1; switch(a%4) {case 0:m++; break; case 1:m++; switch(b%3) {default:m++; case 0:m++;break; } } printf("%d\n",m);}

    A.1

    B.2

    C.3

    D.4


    正确答案:B
    解析:本题考查switch语句。因为a=8,a%4=0,所以执行case 0后面的语句,将m加1,遇到break语句跳出switch。

  • 第2题:

    有以下程序: main( ) { int a=15,b=21,m=0; switch(a%3) { case 0:m++;break; case l:m++; switch(b%2) { default:m++; case 0:m++;break; } } printf("%d\n",m); } 程序运行后的输出结果是

    A.1

    B.2

    C.3

    D.4


    正确答案:A

  • 第3题:

    若有如下程序: sub(int *t,int a[3][4]) { int m,n; for(m=0;m<3;m++) for(n=0;n<4;n++) { *t=a[m][n];t++;} } main() { int*t,s[3][4)={{1,2,3),{4,5,6),{7,8,9}}; t=(int*)malloc(50); sub(t,s); printf("%d,%d\n",t[4],t[7]); } 则程序运行后的输出结果是( )。

    A.4,7

    B.4,0

    C.5,8

    D.程序错误


    正确答案:B
    解析:本题定义了一个sub()函数,其作用为将一个二维数组按行复制到t所指的连续内存空间内。主程序中首先使用malloc()函数为t申请了50个字节的内存空间,然后调用sub()函数,将二维数组s的内容复制到t申请的内存空间内,最后输出t的第5个元素(t[4])和第8个元素(t[7]),即为3行4列二维数组中的s[1][0]和s[1][3]。s[1][0]是初始化列表中第二个大括号中的第一个值4,而s[1][3]应该是初始化列表中第二个大括号中的第4个值,但没有这么多初始值,C语言在这种情况下会自动将该元素设置为0,即s[3][4]={{1,2,3},{4,5,6},{7,8,9}}等价于s[3][4]={{1,2,3,0},{4,5,6,0),{7,8,9,0}}。所以最后输出结果是4,0,应该选择B。

  • 第4题:

    有以下程序: main() { int a=15,b=21,m=0; switch(a%3) {case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0;m++;break; } } printf("%d\n",m); } 程序运行后的输出结果是( )。

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:在switch语句中break语句的作用是退出分支语句,若没有break语句则一直向下执行。本题中首先计算switch后面括号里的表达式a%3,即15%3为0:执行case0:后面的语句“m++;”,m自加1,即m为1;遇到break语句;然后跳出switch语句,所以最后输出的m值为1。所以选项A正确。

  • 第5题:

    以下程序的输出结果是includemain(){ inta=15/b=21,m=0;switch(a%3){ case0:m++;break

    以下程序的输出结果是 #include<stdio.h> main() { int a=15/b=21,m=0; switch(a%3) { case0:m++;break; case 1:m ++; switch(b%2) { default:m++; case 0:m ++;break;}} printf("%d\n",m);}

    A.1

    B.2

    C.3

    D.4


    正确答案:A
    解析:switch语句的条件是“a%3=15%3=0”,所以执行case0后面的语句,m++;m=1,然后就执行break,跳出switch语句,所以最后输出的m的值为1。注意:switch嵌套语句的使用。