参考答案和解析
正确答案:B
解析:本题中二维数组的每个元素就是一个由三个元素构成的一维数组,根据条件for(k=0;k3;k++)和要求的a[k][k]可以得出本题的答案应该是951。
更多“定义如下变量和数组:int k;int a[3][3]={9,8,7,6,5,4,3,2,1};则下面语句的输出结果是()。for(k=0; ”相关问题
  • 第1题:

    下面程序的功能是输出数组s中最小元素,请填空。 include void main(){int k, p, s[]=

    下面程序的功能是输出数组s中最小元素,请填空。

    include<iostream.h>

    void main(){

    int k, p, s[]={1,-9,7,2,-10,3};

    k=s[0];

    for(p=0;p<6;p++)

    if(s[p]<k) 【 】;

    cout<<k;

    }


    正确答案:k=s[p]
    k=s[p]

  • 第2题:

    设有如下函数定义: int fun(int k) {if(k<1)return 0; else if(k= =l)return l; else return fun(k-1)+1: } 若执行调用语句:“n=fun(3);”,则函数fun总共被诃用的次数是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    此题考查简单的循环,当执行n=fun(3),则函数fun执行3次。

  • 第3题:

    已知int k=10,m=3,n;则下列语句输出结果是printf("%d\n",n=(k%m,k/m));

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:表达式n=(k%m,k/m)实际上是将k/m的结果赋值给了n。逗号表达式中最后一个表达式的值是该逗号表达式的值,所以输出结果为k/m。

  • 第4题:

    若有以下变量定义和函数调用语句: int a=5; fun(&a); 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<end1; }

    A.3

    B.4

    C.5

    D.6


    正确答案:D
    解析:fun函数中的x参数为整型指针变量。调用fun函数, &a是取a的地址,即将实际参数a的地址传递。函数fun中的*x是变量x所指的存储单元即值5。*运算符的等级高于++,所以先取值5,然后加1输出,即为6。

  • 第5题:

    若执行下面的程序时,从键盘上输入5和2,则输出结果是includevoid main( ){int a,b,k

    若执行下面的程序时,从键盘上输入5和2,则输出结果是 #include<iostream.h> void main( ) { int a,b,k; cin >> a >> b; k=a; if(a<b) k=a%b; else k=b%a; cout < < k < < endl;}

    A.5

    B.3

    C.2

    D.0


    正确答案:C
    解析:本题考查简单的if…else语句。先执行条件if(ab) ,显然不成立,则执行else语句。

  • 第6题:

    定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( )

    A.1 5 9

    B.1 4 7

    C.3 5 7

    D.3 6 9


    正确答案:C

  • 第7题:

    若有如下变量定义和函数调用语句: inta=5; fun(&A) ; 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<endl; }

    A.3

    B.4

    C.5

    D.6


    正确答案:D
    解析: fun函数中的x参数为整型指针变量。调用fun函数,&a是取a的地址,即将实际参数a的地址传递。函数fun中的*x是变量x所指的存储单元即值5。*运算符的等级高于++,所以先取值5然后加1输出,即为6。

  • 第8题:

    有如下程序段void fun(int *a, int *b){ int *k; k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b);} 程序运行后输出的结果是A.6 3 B.3 6 C.编译出错 D.0 0


    正确答案:B
    在本题中,程序首先定义了一个无返回值的函数fun,该函数带有两个整型的指针形参变量,在函数体中,首先定义一个整型指针变量k,然后试图利用k来交换a和b的结果。但处理语句k=a;很明显是对地址进行赋值操作。在C语言中,指针变量作为函数参数时,可以改变被指向的变量的值,但不能改变指针变量本身的值,即我们可以改变实参指向的变量的值,不能使实参指向其他的变量。因此,本函数并不能交换形参所指向变量的结果。
    在主函数中,首先定义了两个整型变量a和b,并分别被初始化为3和6,然后定义两个指针变量x和y,分别指向a和b,接着调用fun函数,传递的实参为指针变量x和y,根据前面对fun函数的分析可知,调用该函数后并不能实现a和b数组的交换,因此,执行输出语句后,输出的结果是3 6。本题正确答案选B。

  • 第9题:

    定义变量和数组如下:int i;int x[3][3]=(1,2,3,4,5,6,7,8,9);则语句for(i=0;i<3;i++)printf(”%d”,x[1][2-i]);的输出结果是 ( )


    正确答案:C

  • 第10题:

    以下程序的输出结果是()。includeint fan(int);main(){int w=5; fun(w);printf("\n");}

    以下程序的输出结果是( )。 #include <stdio.h> int fan(int); main() { int w=5; fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }

    A.5 4 3 2 1

    B.0 1 2 3 4 5

    C.1 2 3 4 5

    D.5 4 3 2 1 0


    正确答案:B
    解析:本题考查函数的递归调用。fun函数共被调用6次,即fun(5)、fun(4)、fun(3)、fun(2)、fun(1)、fun(0),其中fun(5)是main函数调用的,其余是在fun函数中调用的。

  • 第11题:

    定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。 for(i=0;i<3;i++) printf("%d",x[i][2-i]);

    • A、159
    • B、147
    • C、357
    • D、369

    正确答案:C

  • 第12题:

    单选题
    定义如下变量和数组: int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。 for(i=0;i<3;i++) printf("%d",x[i][2-i]);
    A

    159

    B

    147

    C

    357

    D

    369


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

  • 第13题:

    定义如下变量和数组:

    int i;

    int y[2][3]={2,4,6,8,10,12};

    则下面语句的输出结果是【 】。

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

    cout<<y[1-i)[i+1]<<",";


    正确答案:106
    10,6 解析:for循环所输出的数组元素分别为y[1][1]、y[O][2],即输出10和6。

  • 第14题:

    设有数组定义: int a[] = {11, 22, 33, 44, 55, 6, 77, 88, 99};, 则执行下列几个语句后的输出结果是______、______和______。

    for(int i = O; i < a.tength; i++)

    if(a[i]%3.== 0) System.out.println(a[i]);


    正确答案:33 66 99
    33 66 99

  • 第15题:

    有如下定义语句:int a[]={1,2,3,4,5};,则对语句int*p=a;正确的描述是( )。

    A.语句int*p=a;定义不正确

    B.语句int*p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int*p=a;是把a[0]的值赋给变量p

    D.语句iht*p=a;是把a[l]的值赋给变量p


    正确答案:B

  • 第16题:

    有如下定义语句:int a[]={1,2,3,4,5);,则对语句int *p=a;正确的描述是( )。

    A.语句int *p=a;定义不正确

    B.语句int *p=a;初始化变量p,使其指向数组对象a的第一个元素

    C.语句int *p=a;是把a[0]的值赋给变量p

    D.语句int *p=a;是把a[1]的值赋给变量p


    正确答案:B

  • 第17题:

    定义数组char a[]=}'0','1','2','3');,则将该数组中元素按反序转换成整数,正确的程序段是______。

    A.int k=0,i; for(i=0;i<4;i++) k=k*10+a[i]-48;

    B.int k=0,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';

    C.int k=0,i; for(i=3;i>=0;i--) k=k+a[i]-'0';

    D.int k,i; for(i=3;i>=0;i--) k=k*10+a[i]-'0';


    正确答案:B
    解析:将字符数组中的元素按反序转换成整数,数组第一个元素应当是四位整数的个位,依次类推,字符数字转换为数字的基本方法是将该字符的ASCII码值减去字符0的ASCII码值,程序的输出结果是3210。

  • 第18题:

    设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。A.1SX

    设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。

    A.1

    B.0

    C.4

    D.3


    正确答案:D

  • 第19题:

    定义如下变量和数组: int i,x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( )。 for(i=0;i<3;i++)printf("%d",x[i][2-i]);

    A.159

    B.147

    C.357

    D.369


    正确答案:C
    解析:本题主要考查二维数组的使用。题中利用for循环来输出x数组中的指定元素:①当j=0时,输出x[0][2]=3;②当i=1时,输出x[1][1]5;③当i=2时。输出x[2][0]=7。

  • 第20题:

    设有如下函数定义

    int fun(int k)

    {if(k<1) return 0:

    else if(k==1) return 1:

    else return fun(k一1)+1:

    }

    若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:函数fun总共被调用了3次,即fun(3)、fun(2)和fun(13)

  • 第21题:

    若k是int型变量,且有下面程序片段: k=-3; if(k<=0)printf(" ") else printf("& &a

    若k是int型变量,且有下面程序片段: k=-3; if(k<=0)printf("# # # #") else printf("& & & &") 上面程序片段的输出结果是 ( )

    A.# # # #

    B.& & & &

    C.# # # & & & &

    D.有语法错误,无输出结果


    正确答案:D

  • 第22题:

    设有数组定义:int a[ ] = { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 则执行以下几个语句后的输出结果是 ()、() 、() 。 for ( int i = 0 ; i < a.length ; i ++ ) if ( a[i]%3==0 ) System.out.println(a[i]);


    正确答案:33;66;99

  • 第23题:

    问答题
    对于以下程序,   main( )  { int a[5],*p;    int k;    for(k=0,p=a;k0;k--)     printf(“%d”,*(--p));  }  若输入为:1 2 3 4 5(注:表示回车),则输出结果是多少?

    正确答案: 输出结果是54321
    解析: 暂无解析

  • 第24题:

    填空题
    设有数组定义:int a[ ] = { 11 , 22 , 33 , 44 , 55 , 66 , 77 , 88 , 99 }; 则执行以下几个语句后的输出结果是 ()、() 、() 。 for ( int i = 0 ; i < a.length ; i ++ ) if ( a[i]%3==0 ) System.out.println(a[i]);

    正确答案: 33,66,99
    解析: 暂无解析