关于下面的程序 include main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else p关于下面的程序 #include<stdio.h> main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else printf("$$$$"); }说法正确的是______。A.有语法错误不能通过编译B.输出****C.输出$$$$D.可以通过编译,但不能通过连接,无法运行

题目
关于下面的程序 include main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else p

关于下面的程序 #include<stdio.h> main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else printf("$$$$"); }说法正确的是______。

A.有语法错误不能通过编译

B.输出****

C.输出$$$$

D.可以通过编译,但不能通过连接,无法运行


相似考题
参考答案和解析
正确答案:C
更多“关于下面的程序 #include<stdio.h> main() { int x=3,y=0,z=0; if(x=y+z)printf("****"); else p ”相关问题
  • 第1题:

    有下列程序: include int f(int x) { int y; if(x=0‖x==1)r

    有下列程序: #include <stdio.h> int f(int x) { int y; if(x=0‖x==1)return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3);printf("%d\n",z); 程序的运行结果是( )。

    A.0

    B.9

    C.6

    D.8


    正确答案:C
    解析:主函数调用f()函数,将实参3传递给x,进行if条件语句的判断不成立,接着执行y=3*3-f(1),再执行f(1)而f(1)满足if条件语句,所以f(1)的值为3,那么代入y=3*3-f(1)=9-3=6,故选项C)为正确的运行结果。

  • 第2题:

    有以下程序includeint f(intx){inty; if(x==0||x==1)return(3); y=x*x-f(x-2); return

    有以下程序 #include <stdio.h> int f(int x) { int y; if(x==0||x==1) return(3); y=x*x-f(x-2); return y; } main() { int z; z=f(3); printf("%d\n",z); } 程序的运行结果是

    A.0

    B.9

    C.6

    D.8


    正确答案:C
    解析:函数int f(int x)是一个递归函数调用,当x的值等于0或1时,函数值等于3,其他情况下y=x2-f(x -2),所以在主函数中执行语句z=f(3)时,y=3*3-f(3-2)=9-f(1)=9-3=6。

  • 第3题:

    要求通过函数调用交换两个变量的值。 #include <stdio.h> void swap(int *p, int *q) { int a; a = *p; ; ; } int main() { int x, y; x = 3; y = 5; swap(&x, &y); printf(“ x=%d y=%dn”, x, y); return 0; }


    C

  • 第4题:

    有以下程序: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。

  • 第5题:

    下列程序的运行结果是

    #include "stdio.h"

    main( )

    { int x=-9,y=5,z=8;

    if(x<y)

    if(y<0) z=0;

    else z+=1;

    printf("%d\n",z);}

    A.6

    B.7

    C.8

    D.9


    正确答案:D
    解析:if…else语句的执行过程如下,首先计算if后面一对圆括号内表达式的值,若表达式的值为非0,执行if子句,然后跳过else子句,去执行if语句后的下一条语句;若表达式的值为0,跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。C语言的语法规定,else子句总是与前面最近的不带else的if匹配,与书写格式无关,本题目的后一个if-else相当于嵌套在第一个if子句里,相当于x=0时,z=z+1。