更多“有以下程序,其输出结果是( )。void main(){ floar x=1; int y; x++; y=x+1; printf("x=%d,y=%f",x ”相关问题
  • 第1题:

    下列程序的输出结果是______。main() { int x,y; for(x=1,y=1;x<=10;x++) {if(y>=5)break;if(y%3=

    下列程序的输出结果是______。 main() { int x,y; for(x=1,y=1;x<=10;x++) {if(y>=5)break; if(y%3==1) }y+=3; continue; } y-=5; } printf("%d\n",x); }

    A.2

    B.3

    C.4

    D.5


    正确答案:B
    解析:本题考查循环辅助控制语句break和continue,前者退出整个for循环,后者跳过本次循环没有执行完的若干条语句,开始下一次循环操作,建议读者采用本书推荐的列表法分析。

  • 第2题:

    下列程序段的输出结果是______。 void fun(int *x,int *y) {printf("%d%d",*x,*y);*x=3;*y=4;} main() { int x=1,y=2; fun(&y,&x); printf("%d%d",x,y); }

    A.2 1 4 3

    B.1 2 1 2

    C.1 2 3 4

    D.2 1 1 2


    正确答案:A
    解析:本题中函数传递的是变量的地址,如果形参在函数中发生改变,相对应的实参也就有了改变。

  • 第3题:

    有以下程序:

    void f( int y,int *x)

    { y=y+*x; *x=*x+y; }

    main()

    {int x=2,y=4;

    f(y,&x);

    ptintf("%d %d\n",x,y);

    }

    执行后输出结果是【 】。


    正确答案:84
    84 解析:“值传递”指实参将值传递给形参后,实参与形参再无联系。也就是说对行参的改变将不影响实参;地址传递是指地址或数组名作为形参时的参数传递,这种情况下对形参的改变将对实参产生影响。函数f(y,*x)的作用是让y的值加上指针x所指向变量的值,让指针x所指向变量的值加上y的值。由于形参y是传值的,形参x是传地址的,故调用该函数后,作为实参y的值将不改变,而实参x的值将改变,故最后输出的y值为4,而x的值为8。

  • 第4题:

    下列程序段的输出结果是( )。 void fun(int *x,int *y) { printf("%d%d",*x,*y);*x=3;*y=4; } main() { int x=2,y=1; fun(&y,&x); printf("%d%d",X,y); }

    A.1243

    B.1212

    C.1234

    D.2112


    正确答案:A
    解析:本题主函数中首先定义了两个变量x和y,并初始化为2和1,然后将y和x的地址值,传入函数fun(),函数fun()中的形参x和y分别指向主函数中的变量y和x,所以fun()函数输出的值为1和2,fun()函数在结束之前把形参x所指内容赋为3,把形参y所指内容赋为4,所以返回主函数后,主函数中的x和y已被改写为4和3。故程序输出结果为1243。选项A正确。

  • 第5题:

    以下程序的输出结果是()。includedefine F(x)2.84+xdefine w(y)printf("%d",(int)(y)

    以下程序的输出结果是( )。 #include<stdio.h> #define F(x)2.84+x #define w(y)printf("%d",(int)(y)) #define P(y)w(y) main() {int x=2; P(F(5)*x); }

    A.12

    B.13

    C.14

    D.16


    正确答案:A