niusouti.com
参考答案和解析
正确答案:D
更多“下列程序的输出结果是______。main(){int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d,%d",x--,y ”相关问题
  • 第1题:

    请选出以下程序段的输出结果______。includedefine MIN(x,y)(x)<(y)?(x):(y)main(){in

    请选出以下程序段的输出结果______。 #include<stdio.h> #define MIN(x,y) (x)<(y)?(x):(y) main() { int i,j,k;i=10;j=15; k=10*MIN(i,j); printf("%d\n",k); }

    A.15

    B.100

    C.10

    D.150


    正确答案:A

  • 第2题:

    下列程序的输出结果是______。main(){ int i; for(i=0;i<2;i++) add();}add(){ int x=0; static int y=0; printf("%d,%d\n",x,y); x++;y=y+2;}

    A.0,0 0,0

    B.0,0 0,2

    C.0,0 1,0

    D.0,0 1,2


    正确答案:B

  • 第3题:

    有以下程序段:includedefine MAX(x,y)(x)>(y)?(x):(y)void main(){ int i,j,k; i=

    有以下程序段: #include<iostream.h> #define MAX(x,y)(x)>(y)?(x):(y) void main() { int i,j,k; i=10; j=15;k=MAX(i,j)*10; cout<<k<<end1; } 程序执行后的输出结果是( )。

    A.15

    B.100

    C.150

    D.10


    正确答案:C

  • 第4题:

    下列程序的输出结果是includeclass Myclass{public : Myclass( int i=0,int j=0){x

    下列程序的输出结果是 #include<iostream.h> class Myclass{ public : Myclass( int i=0,int j=0) {x=i; y=j; } void show( ){cout<<"x="<<x<<" "<"y="<<y<<endl;} void show( )const{cout<<"x="<

    A.x=4,y=3;x=7,y=8

    B.x=3,y=4;x=7,y=8

    C.x=7,y=8;x=4,y=3

    D.x=8,y=7;x=7,y=8


    正确答案:A
    解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象myl,my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象myl调用的是没有用const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。

  • 第5题:

    有以下程序:includevoid main(){int x=l0,y=l0:for(int i=0;x>8;y=++i)cout<

    有以下程序: #include<iostream.h> void main() { int x=l0,y=l0: for(int i=0;x>8;y=++i) cout<<x--<<","<<y<<",": } 该程序运行后的输出结果是( )。

    A.10,1,9,2

    B.9,8,7,6

    C.10,9,9,0

    D.10,10,9,1


    正确答案:D

  • 第6题:

    有以下程序段:include define MIN(x,y)(x)<(y)?(x):(y) void main() { int i,j,K; i

    有以下程序段:

    include<iostream.h>

    define MIN(x,y) (x)<(y)?(x):(y)

    void main()

    {

    int i,j,K;

    i=10;j=15;

    k=10*MIN (i,j);

    cout<<k<<endl;

    }

    程序执行后的输出结果是______。


    正确答案:15
    15

  • 第7题:

    有以下程序 main() { int x=0,y=0,i; for(i=1;++i) { if(i%2==0) {x++;continue;} if(i%5==0){y++;break;}} printf("%d,%d",x,y);} 程序的输出结果是

    A.2,1

    B.2,2

    C.2,5

    D.5,2


    正确答案:A
    解析: 本题考查了continue和break语句在循环语句中的作用。break语句的作用是结束本层循环,而continue语句的作用是结束本次循环直接进入到下次循环。

  • 第8题:

    以下程序运行后的输出结果是______。 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--)printf("%d",a[j]); printf("\n"); }

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B

  • 第9题:

    以下程序运行后,输出结果是( )。 main() {int y=18,i=0,j,a[8]; do { a[i]’y%2; i++; y=y/2; } while(y>=1); for(j=i-1;j>=0;j--) printf("%d",a[j]); printf("\n"); }

    A.1000

    B.10010

    C.110

    D.10100


    正确答案:B
    解析:do-while循环的功能是对数组a中的元素赋值,值为0、1、0、0、1。for循环的功能是将数组a中元素按下标从大到小的顺序输出,所以选项B符合题意。

  • 第10题:

    以下程序的输出结果是______。 main() { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d%d",x--,y); }

    A.10192

    B.9 876

    C.10990

    D.10109 1


    正确答案:D

  • 第11题:

    请选出以下程序的输出结果()。includesub(int *s,int y){static int t=3; y=s[t];t--;}

    请选出以下程序的输出结果( )。 #include <stdio.h> sub(int *s,int y) { static int t=3; y=s[t];t--; } main() { int a[]={1,2,3,4},i,x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x); } printf("\n"); }

    A.1234

    B.4321

    C.0

    D.4444


    正确答案:C
    解析:本题考查函数的形参和实参的关系。函数sub将实参x的值传给形参y,y值的改变不能使x的值发生改变,所以输出的x值始终为0。

  • 第12题:

    试题28

    有以下程序

    #include <stdio.h>

    #define N 4

    void fun(int a[][N], int b[])

    { int I;

    for(i=0; i<N; i++) b[i]=a[i][i]-a[i][N-1-i];

    }

    main()

    { int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N], i;

    fun(x,y);

    for(i=0;i<N;i++) printf(“%d,”, y[i]); printf(“\n”);

    }

    程序运行后的输出结果是()

    A.-12,-3,0,0,

    B.-3,-1,1,3

    C.0,1,2,3,

    D..-3,-3,-3,-3


    正确答案:B
    试题28分析
    b[0]=a[0][0]-a[0][3]=1-4=-3;b[1]=a[1][1]-a[1][2]=6-7=-1;b[2]=a[2][2]-a[2][1]=11-10=1;b[3]=a[3][3]-a[3][0]=16-13=3;
    试题28答案
    B

  • 第13题:

    有以下程序: #include<stdio.h> #define N 3 void fun(int a[][N],int b[]) { int i,j; for(i=0;i<N;i++) { b[i]=a[i][0]; for(j=i;j<N;j++) if(b[i]<a[i][j]) b[i]=a[i][j]; } } main( ) { int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("\n"); } 程序运行后的输出结果是(,)。

    A.2,4,8,

    B.3,6,9,

    C.3,5,7,

    D.1,3,5,


    正确答案:B
    Fun函数功能是把数组a的每一行的最大值赋给b,a的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9。

  • 第14题:

    下列程序的输出结果是includeclass Myclass{public:Myclass(int i=0,int j=0){x=i;

    下列程序的输出结果是 #include<iostream.h> class Myclass{ public:Myclass(int i=0,int j=0) { x=i; y=j; } void show( ) {cout < <"x=" < < x < <" " <"y=" < < y < < endl;} void show( ) const{cout < <"x=" < <" " < <"y=" < < y < < endl;} privated: int x; int y; }; void main( ) { Myclass my1(3,4) ; const my2(7,8) ; my1.show( ) ;my2.show( ) ;}

    A.x=4,y=3;x=7,y=8

    B.x=3,y=4;x=7,y=8

    C.x=7,y=8;x=4,y=3

    D.x=8,y=7;x=7,y=8


    正确答案:A
    解析:在Myclass类中定义了两个同名函数show,其中一个是常成员函数。在main函数中定义了两个对象my1、my2,其中对象my2是常对象。这两个对象调用成员函数show时,通过对象my1调用的是没有用const修饰的一般成员函数,而通过对象my2调用的是const修饰的常成员函数。

  • 第15题:

    以下程序的输出结果是______。 main() { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d %d ",x--,y); }

    A.10192

    B.9876

    C.10990

    D.101091


    正确答案:D
    解析:第1次循环,i=0,x=10,y=10,先输出x=10,y=10,再执行x--使得x变为9,其次再执行y=++i(i加1后参与赋值)使得y变为1:第2次循环,i=1,x=9,y=1,先输出x=9,y=1,再执行x--使得x变为8,其次再执行y=++i(i加1后参与赋值)使得y变为2。x=8,不满足x>8,循环结束。

  • 第16题:

    请选出以下程序的输出结果includemain(){ int a[]={1,2,3,4},i;int x=0;for(i=0;i<4;i

    请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,2,3,4},i; int x=0; for(i=0;i<4;i++) { sub(a,x);printf("%d",x);} printf("\n");} sub(s,y) int*s,y; { static int t=3; y=s[t];t--; }

    A.1 2 3 4

    B.4 3 2 1

    C.0

    D.4444


    正确答案:C
    解析:若指针s指向数组a,则s[t]可以引用数组a中下标为t的元素。注意:通过数组的首地址引用数组元素。

  • 第17题:

    有如下程序void f(int *x,int *y){ int t; t=*x;*x=*y;*y=t;}main(){ int a[6]={1,2,4,6,8,10},i,*p,*q; p=a;q=&a[5]; while(p<q) { f(p,q); p++; q--; } for(i=0;i<6;i++) printf("%d,",a[i]);}该程序的输出结果是A.1,2,4,6,8,10 B.10,8,4,6,2,1C.10,8,6,4,2,1 D.10,2,4,6,8,1


    正确答案:C
    题目中给出的程序分为两个部分:主函数main和函数f。在主函数中初始化定义了一个整型数组a,大小为6,并定义了两个数组指针p,q。指针p指向数组第一个元素的地址,指针q指向数组最后一个元素的地址。主函数包含一个while语句,循环条件为p<q,while语句内部先调用了f函数,p、q指针为该函数的实参,随后进行了p++操作和q--,即使p指针指向下一个元素的地址,q指针指向前一个元素的地址。由于是数组存储,必然存在初始时,有p<q,当p>=q时,while语句结束。while语句后面是for语句,该语句的作用是输出数组a[]中所有的数据。
    f函数的形参为整型指针,函数的功能是使得输入的指针变量所指向的数据进行交换,由于使用的是指针变量,故在f函数中对指针的操作结果会影响调用函数中(main)实参所指数据的改变,题目中f函数的调用实质是将main函数中的p、q指针所指的数据进行交换,也将导致数组a中相应的数据进行交换。结合while语句,也就是将数组a中的第1个数据与第6个数据进行交换,第2个数据与第5个数据进行交换,以此类推,得到结果10,8,6,4,2,1。

  • 第18题:

    有以下程序 include define N 4 void fun(int a[][N],int b[]) { int

    有以下程序 #include <stdio.h> #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][i]; } main() {int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10} },Y[N],i; fun(x,y); for(i=0;i<N;i++) printf("%d,",y[i]); printf("\n"); } 程序的运行结果是______。

    A.1,2,3,4,

    B.1,0,7,0,

    C.1,4,5,9,

    D.3,4,8,10,


    正确答案:B
    解析:在主函数中,定义并初始化了4行4列的二维数组x。对于二维数组元素的赋值,可以只对部分元素赋初值,未赋初值的元素自动取0。x数组元素赋初值后各元素为:

    fun函数的作用是将二维数组a中主对角线元素赋给数组b,由于数组a与数组x共用同一存储单元,也即将数组x中主对角线元素赋给了数组b。又因为数组b与数组y共用同一存储单元,所以主函数中通过语句“printf("%d,"y[i]);”输出的即为数组b中的值,所以程序运行结果为“1,0,7,0,”。

  • 第19题:

    下列程序的输出结果是______。 include main() {intx=10,y=10,i; for(i=0;x>8;y=++) pri

    下列程序的输出结果是______。

    include<stdio.h>

    main()

    { intx=10,y=10,i;

    for(i=0;x>8;y=++)

    printf("%d%d",X--,y);

    }


    正确答案:101091
    101091 解析:for(表达式1;表达式2;表达式3) 语句的功能是:首先计算表达式1的值,然后检测表达式2的值,若其值为真,则执行循环体语句,执行完毕后,再计算表达式3的值。然后再检测表达式2的值是否为真,若为真,继续执行循环体语句,若为假,则退出循环;第 1次循环x>8成立,输出x=10,y=10后,x的值减1,i=1,执行y=++i操作,y的值变为1;判断条件还成立,输出x=9,y=1,然后x的值减1,循环条件不成立,则退出循环。

  • 第20题:

    下面程序的输出结果是( )。 #include "stdio.h" fun (x int x { int y=0; static int z=5; z=x++,y++; return(Z); } main() { int a=4,i,j; for(i=0;i<2;i++) j=fun(a++); printf("%d",j); }

    A.0

    B.3

    C.4

    D.5


    正确答案:D
    解析:本题在fun()函数中定义了一个静态局部变量z,在第一次调用此函数时,z被初始化为5,而以后的调用2都会保留上次调用后的值。主函数通过一个for循环,二次调用fun()函数,第1次调用实参表达式a++的值为4,执行z=x++,y++;语句,因运算符“=”的优先级高于“,”,故z的值为表达式x++的值,x++是先对z赋值再对x加1,则z的值为4。第二次调用实参表达式a++的值为5,返回结果也为5,所以最后输出结果是5。D为所选。

  • 第21题:

    有以下程序:includevoid main(){int x=10,y=10;for(int i=0;x>8;y=++i)cout<

    有以下程序: #include<iostream.h> void main() { int x=10,y=10; for(int i=0;x>8;y=++i) cout<<x--<<","<<y<<","; } 该程序运行后的输出结果是( )。

    A.10,1,9,2

    B.9,8,7,6

    C.10,9,9,0

    D.10,10,9,1


    正确答案:D

  • 第22题:

    以下程序的运行结果是()。includedefine MIN(x,y) (x)<(y)? (x):(y)main(){int i=10,j

    以下程序的运行结果是( )。 #include <stdio.h> #define MIN(x,y) (x)<(y)? (x):(y) main() { int i=10,j=15,k; k=10*MIN(i,j); printf("%d\n",k); }

    A.10

    B.15

    C.100

    D.150


    正确答案:B
    解析:该题考查函数的宏定义及三目运算符。表达式10*MIN(i,j)利用宏展开后为:10*ij?i:j,即10015?10:15,其值为15,然后将15赋给k。

  • 第23题:

    下列程序的输出结果是( )。 main { int x=i,y=8; printf("%d%d\n",x--,--y) ;

    A.88

    B.77

    C.78

    D.87


    正确答案:D
    解析:本题考查自减(--)运算符的使用。“x--”是先引用x的值然后将x的值减1,所以输出的x值为8;“--y”是先将y的值减1然后再引用y的值,所以输出的y值为7。