更多“有以下程序: main() { int y=1111; printf(“y=%6dn”,y); printf(“y=%-6dn”,y); } 程序运行的结果是:()。 (*代表空格)”相关问题
  • 第1题:

    有以下程序:includemain(){int y=9;for(;y>0;y--)f(y%3==0)printf("%d",--y);}程序的

    有以下程序: #include<stdio.h> main() { int y=9; for(;y>0;y--) f(y%3==0)printf("%d",--y); } 程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题考查的重点是printf()函数和for循环的执行方式。在循环体内,若y为的倍数,则执行print(“%d”,--y)语句。所以,当y为9时,输出--y为8;当y为6时,输出--y为5;当y为3时,输出--y为2;当y为零时,for循环结束。因此,选项C是正确的。

  • 第2题:

    以下程序段的运行结果是( )。 include main() {int x=2,y=1: switch(x) {case 1: switch

    以下程序段的运行结果是( )。 include<stdio.h> main() {int x=2,y=1: switch(x) {case 1: switch(y) {case 0:printf("x=2,y=1\n");break; case 1:printf("y=1\n");break; } case 2:printf("x=2\n"); } }


    正确答案:x=2
    x=2

  • 第3题:

    下面程序的运行结果是()。includemain(){int y=10; do{y--;}while(--y); printf("%d\n"

    下面程序的运行结果是( )。 #include<stdio.h> main() { int y=10; do{y--;}while(--y); printf("%d\n",y--); }

    A.-1

    B.1

    C.8

    D.0


    正确答案:D
    解析:本题考查“++”和“--”运算符,运算符“++”是操作数加1,而“--”则是操作数减1。在do-while循环中,首先执行y--,再执行--y。当y=2时,执行y--,y的值变为1,--y使y值变为0,循环结束。执行输出时,先输出y的值0,然后执行y--,使y的值变为-1。

  • 第4题:

    下面程序的运行结果是______。includemain(){ int y,a;y=2,a=1;while(y--!=-1){do{a*=y;

    下面程序的运行结果是______。

    include<stdio.h>

    main()

    { int y,a;

    y=2,a=1;

    while(y--!=-1)

    {do{a*=y;a++;}while(y--);}

    printf("%d,%d",a,y);}


    正确答案:

  • 第5题:

    有以下程序 include main() { int y=9; for( ; y>0; y--) if(y%

    有以下程序 #include <stdio.h> main() { int y=9; for( ; y>0; y--) if(y%3==0) printf("%d",--y); } 程序的运行结果是

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题首先令y为9,然后通过一个for循环,当y还大于0则循环,每次循环让y递减1。循环体中是一条if语句,通过%运算符计算每当y能被3整除的时候,输出--y的值,即先将y减1,然后输出y的值。故当y等于9、6、3时会输出,输出值分别为8、5、2。所以应该选择C。

  • 第6题:

    有以下程序:includedefmeF(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++

    有以下程序: #include<studio.h> #defme F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

    A.12

    B.15

    C.16

    D.20


    正确答案:A
    解析:在程序中先用表达式将宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

  • 第7题:

    有以下程序: #include<stdio.h> main { int x=4,y; do { y=x; if(!y)printf("x"); else printf("y"): x--; }while(x); } 程序的输出结果是( )。

    A. xyyx

    B.yyyy

    C.yyxx

    D.yxyx


    正确答案:C
    本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。

  • 第8题:

    有以下程序 #include<stdio.h> main {int y=9; for(;y>0;y--) if(y%3==0)printf("%d",--y); } 程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    在for循环中,当y的值为9、6或3时,执行输出语句,输出表达式--Y的值。Y先自减l,然后再输出y的值。

  • 第9题:

    以下程序运行后的输出结果是void fun(int x,int y){ x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y);}main(){ int x=2,y=3; fun(x,y); printf("%d,%d\n",x,y);}


    正确答案:3,2,2,3
    被调用函数fun()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。

  • 第10题:

    有以下程序:includemain(){int a[]={1,2,3,4},y,*p=&a[3];--p;y=*p;printf("y=%d\n",y

    有以下程序: #include<stdio.h> main() { int a[]={1,2,3,4},y,*p=&a[3]; --p;y=*p;printf("y=%d\n",y); } 程序的运行结果是( )。

    A.y=0

    B.y=1

    C.y=2

    D.y=3


    正确答案:D
    解析:本题主要考查一维数组及数组元素的地址。程序中定义数组a后知,a[0]=1,a[1]=2,a[2]=3,a[3]=4;在定义指针p时给其赋值为a[3]的地址。执行--p;语句后,p指向数组元素a[2];然后执行y=*p;语句,y的值为指针p所指向的变量的值为3。

  • 第11题:

    有以下程序:includo main(){int y=10; while(y--)printf("y=%d\n",y);} 程序执行后的

    有以下程序: #includo <stdio.h> main() { int y=10; while(y--)printf("y=%d\n",y); } 程序执行后的输出结果是( )。

    A.y=0

    B.y= -1

    C.y=1

    D.while 构成无限循环


    正确答案:B
    解析:程序首先判断y值是否非0,显然y=10满足条件,y自减1,再次执行while语句,判断y为9的值是否满足条件,满足条件,y自减1,……,直到y为0,条件不成立,结束循环,y自减1后变为-1,所以输出结果为y=-1。

  • 第12题:

    有以下程序      main( )  {int y=10;  while(y--);printf(”y=%d/n”,y);      }  程序执行后的输出结果是()

    • A、y=0
    • B、y=-l
    • C、y=1
    • D、while构成无限循环

    正确答案:B

  • 第13题:

    有以下程序include<stdio.h>main{int y=9;for(;y>0;y--)if(y%3==0)printf("%d&quo

    有以下程序

    include<stdio.h>

    main

    {int y=9;

    for(;y>0;y--)

    if(y%3==0)printf("%d",--y);

    }

    程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C

    在for循环中,当y的值为9、6或3时,执行输出语句,输出表达式--Y的值。Y先自减l,然后再输出y的值。

  • 第14题:

    若有以下程序 main() {int y=10; while(y- -); printf(“y=%d\n”y); } 程序运行后的输出结果是()

    A: y=0

    B: y=-1

    C: y=1

    D: while构成无限循环


    正确答案: B

  • 第15题:

    有以下程序

    void f( int y, int *x)

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

    main()

    { int x=2,y=4;

    f(y,&x);

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

    }

    执行后输出结果是______。


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

  • 第16题:

    有以下程序:include main(){inty=9;for( ; y>0; y--)if(y%3==0) printf("%d", --y);}

    有以下程序: #include <stdio.h> main() {int y=9; for( ; y>0; y--) if(y%3==0) printf("%d", --y); } 程序的运行结果是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题首先令y为9,然后通过一个for循环,当y还大于0则循环,每次循环让y递减1。循环体中是一条if语句,通过%运算符计算每当y能被3整除的时候,输出--y的值,即先将y减1,然后输出y的值。故当y等于9、6、3时会输出,输出值分别为8、5、20所以应该选择C。

  • 第17题:

    有以下程序includemain(){int y=9;for(;y>0;y--)if(y%3==0)printf("%d",--y);}程序的

    有以下程序 #include<stdio.h> main() {int y=9; for(;y>0;y--) if(y%3==0)printf("%d",--y); } 程序的运行结粜是( )。

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:y的初值为9,所以在for循环中,当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值。因为自减符号在y的前面,所以首先y自减1,然后再输出y的值,故输出结果为8 5 2。

  • 第18题:

    有以下程序: main() { int y=10; while(y--); printf("y=%d\n",y); } 程序执行后的输出结果是( )。

    A.y=0

    B.y=-1

    C.y=1

    D.while构成无限循环


    正确答案:B
    解析:本题中有一个陷阱,很多考生会根据程序的书写格式来判断:while循环的循环体为printf("y=%d\n",y);语句。其实while的循环体是一条空语句,即y--后面的那个分号就是while的循环体。所以本题只要弄清楚表达式y--何时为“假”,即等于0,就能得出结果了。因为--运算符是后缀形式,所以表达式y--的值是y自减之前的值,即y等于。时,表达式y--就等于0了。但此时的y还要被减1,所以循环结束后,y的值为-1。故应该选择B。

  • 第19题:

    有以下程序 include mare() { int x=1,y=2,z=3; if(x>y) if

    有以下程序 #include <stdio.h> mare() { int x=1,y=2,z=3; if(x>y) if(y<z) printf("%d",++z); else printf("%d",++y); printf("%d\n",x++); } 程序的运行结果是______。

    A.331

    B.41

    C.2

    D.1


    正确答案:D
    解析:本题考查的是if语句的嵌套。C语言规定else总是与它上面的最近的且不带else的if配对,所以本题else与if(yz)配对,即为内嵌if。在程序执行时,先判断if(x>y)的条件表达式x>y,即1>2,不成立,所以不执行内嵌if,直接执行“printf("%d",x++);”语句。由于x++表示在使用后再将x加1,所以输出1。

  • 第20题:

    有以下程序:includemain(){int x=3,y=2,z=1; printf("%d\n",x/y&~z);程序运行后的

    有以下程序: #include <stdio.h> main() { int x=3,y=2,z=1; printf("%d\n",x/y&~z); 程序运行后的输出结果是( )。

    A.3

    B.2

    C.1

    D.0


    正确答案:D
    解析:&是按位“与”运算符,若参加运算的两个运算量的相应位都为1,则该位的结果值为1,否则为0。~是“取反”运算符,用来对一个二进制数按位取反,即将0变1,1变0。对于x/y&~z,先计算x/y的值,结果为1,用十六进制表示为0001;z用十六进制表示为0001,则~z为FFFE;最后进行&运算,整个表达式的值为0。

  • 第21题:

    有以下程序 main() { int y=10; do {y--;}while(--y); printf("%d\n",y--); } 程序运行后的输出结果是( )

    A.-1

    B.1

    C.8

    D.0


    正确答案:D

  • 第22题:

    有以下程序includemain0{inty=9; for( ;y>0;y--) if(y%3==0)printf("%d",--y);}程序的

    有以下程序 #include <stdio.h> main0 { int y=9; for( ;y>0;y--) if(y%3==0) printf("%d",--y); } 程序的运行结果是

    A.741

    B.963

    C.852

    D.875421


    正确答案:C
    解析:本题考查变量的自加“++”和自减“--”问题。当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值,y的自减要先于输出语句执行,故输出结果为8 5 2。

  • 第23题:

    有以下程序

    main()

    { int y=10;

    while(y--);printf("y= % d\n",y);

    }

    程序执行后的输出结果是

    A)y=0

    B)y=-1

    C)y=1

    D)while 构成无限循环


    正确答案:B
    (30)B) 解析 : while(y--) 执行后 ,y 若大于 1, 则循环 , 等 y=0 时 , 循环结束 , 并执行自减运算 , 得 -1 。

  • 第24题:

    以下程序运行后的输出结果是()。    main( )    {double d=3.2;int x,y;    x=1.2;y=(x+3.8)/5.0;    printf(”%d/n”,d*y);    } 


    正确答案:0