更多“设有如下宏定义#define MYSWAP(z,x,y){z=x;x=y;y=z;}以下程序段通过宏调用实现变量a,b内容交换,请填空。float a=5,b=16,c;MYSWAP(( ),a,b);”相关问题
  • 第1题:

    以下( )程序段可以实施X、Y变量值的交换。

    A.Y=X:X=Y

    B.Z=X:Y=Z:X=Y

    C.Z=X:X=Y:Y=Z

    D.Z=X:W=Y:Y=Z:X=Y


    正确答案:C

  • 第2题:

    设有如下的变量定义:

    double x=4.700000;float y=2.5f;int z=7;

    则执行表达式“y+z%3* (int) (x+y)%2/4”后的值是【 】。


    正确答案:5
    5 解析:根据算术运算的优先级规则,应先执行z%3* (int) (x+y)%2/4之后,再用其值与 y作加法运算。z%3*(int) (x+y)%2/4的执行顺序为先计算z%3,得值为1,再计算x+y并取整,其值为7,用z%3的值1.与(int) (x+y)的值7相乘得7,再计算7%2得值为1,再计算1/4,由于两个整数相除,其结果为商的整数部分,所以1/4的值为0。最后执行y+0,其结果为2.5。

  • 第3题:

    设有如下宏定义

    define MYSWAP(z,x,y){z=x;x=Y;Y=z;}

    以下程序段通过宏调用实现变量a、b内容的交换,请填空。

    float a=5,b=16,c;

    MYSWAP( 【 】,a,b) ;


    正确答案:c
    c 解析:本题关键在考生是不是了解宏的基本运用,在使用宏的时候明显少了—个实参。在定义宏的时候变量z是用来做中间变量的,题目中缺的变量就是一个中间变量c。

  • 第4题:

    设有如下过程: Sub ff(x,y,z,) x=y+z End Sub 以下所有参数的虚实结合都是传址方式的调用语句是( )。

    A.Call ff(5,7,z)

    B.Call ff(x,y,z)

    C.Call ff(3+x,5+y,z)

    D.Call ff(x+y,x-y,z)


    正确答案:B

  • 第5题:

    下列能够交换变量X和Y值的程序段是( )。

    A.Y=X:X=Y

    B.Z =X:Y=2:X =Y

    C.Z=X:X=Y:Y=Z

    D.Z=X:W=y:Y=Z:X=Y


    正确答案:C
    本题以Z为中间变量,交换X、Y的值。

  • 第6题:

    若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2以下程序段的输出结果是______。 int a;a=Y; printf("%d\n",Z); printf("%d\n",--a);

    A.7 6

    B.12 6

    C.12 5

    D.7 5


    正确答案:D
    解析:根据宏定义知:X=5,Y=X+1=6,Z=Y*X/2=X+1*X/2=7,a=Y=6,--a=5。

  • 第7题:

    设有定义“int x=8,y,z;”,则执行“y=z=x++,x=y==z;”后,变量x值是( )

    A.0

    B.1

    C.8

    D.9


    正确答案:B
    这是逗号表达式组成的语句,要先计算“y=z=x++”,结果变量y和z的值均为8。注意++是后缀运算符,同时x等于9。再计算“x=y==z”,由于“==”优先于“=”,所以x的值等于“y==z”,而y和z值相等,所以运算结果为1,即x值为1。本题答案应选B。

  • 第8题:

    假设有函数模板定义如下,下列各选项中正确的是( )。 Template T Max(T a,T b,T

    假设有函数模板定义如下,下列各选项中正确的是( )。 Template <class T> T Max(T a,T b,T c) { if(a<b) {if(b<c) return c; else return b;} else {if(a<c) return c; else return a;} }

    A.float x,y,z;float max;max=Max(x,y,z);

    B.float x;int y,z;float max;max=Max(x,y,z);

    C.float x;double y,z;float max;max=Max(x,y,z);

    D.三个选项都正确


    正确答案:A
    解析:使用函数模板,要求形参必须为相同类型。

  • 第9题:

    以下()程序段可以实施X、Y变量值的变换。

    • A、Y=X:X=Y
    • B、Z=X:Y=Z:X=Y
    • C、Z=X:X=Y:Y=Z
    • D、Z=X:W=Y:Y=Z:X=Y

    正确答案:C

  • 第10题:

    若有以下宏定义:  #define  N  2  #define  Y(n)  ((N+1)*n)  则执行赋值语句z=2*(N+Y(5));后,变量z的值是多少?


    正确答案:变量z的值是34

  • 第11题:

    单选题
    假设有函数模板定义如下:templateMax(T a,T b,T&c){c=a+b;}下列选项正确的是()
    A

    )int x,y;char z;Max(x,y,z);

    B

    )double x,y,z;Max(x,y,z);

    C

    )int x,y;float z;Max(x,y,z);

    D

    )float x;double y,z;Max(x,y,z);


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

  • 第12题:

    问答题
    若有以下宏定义:  #define  N  2  #define  Y(n)  ((N+1)*n)  则执行赋值语句z=2*(N+Y(5));后,变量z的值是多少?

    正确答案: 变量z的值是34
    解析: 暂无解析

  • 第13题:

    有如下程序段:

    intx=1,y=2,z=3;

    x=x^z:

    y=y^z;

    z=x^y:

    cout<<x<<y<<z;

    这个程序段的输出结果是______。


    正确答案:213
    213

  • 第14题:

    下列给定程序中,函数fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中x和y不相等,z和y不等。例如,当x的值为9,y的值为11,2的值为15时,函数值为-3.50。

    请改正程序中的错误,使它能得出正确的结果。

    注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构。

    试题程序:

    include <stdio. h>

    include <math. h>

    /**************found******************/

    define FU(m, n) (m/n)

    float fun(float a, float b, float c)

    { float value;

    value=FU(a+ b, a-b)+FU(c+ b, c-b);

    /*************found******************/

    return(Value);

    }

    main()

    { float x, y, z, sum;

    printf ("Input x y z:: ");

    scanf("%f%f%f", &x, &y, &z);

    printf("x=%f, y=%f, z=%f\n ",x, y, z);

    if (x==y||y==z) {printf ("Data error! \n ");

    exit (0); }

    sum=fun (x, y, z);

    printf("The result is:%5. 2f\n ",sum);

    }


    正确答案:(1)错误;#define FU(m n) (m/n) 正确:#define FU(mn) (m)/(n) (2)错误:return (Value); 正确:return (value);
    (1)错误;#define FU(m, n) (m/n) 正确:#define FU(m,n) (m)/(n) (2)错误:return (Value); 正确:return (value); 解析:如果从数学思想来说,这是一道简单的小学数学题,当然,用C语言的别的办法实现的话,也用不了三两句的程序,但是,这道题的考查点在C语言的宏定义上(这样的问题比较隐蔽),它的格式为#define 标识符字符串,中间要用空格分开,在该题中,标识符为FU (m, n),而字符串则是(m/n),由题干信息易知,应该是# define FU(m,n) (m)/(n)。

  • 第15题:

    以下能正确定义整型变量x、y和z并为其赋初值5的语句是( )。

    A.int x=y=z=5;

    B.int x,y,z=5;

    C.int x=5,y=5,z=5;

    D.x=5,y=5,z=5;"


    参考答案C

  • 第16题:

    下列能够交换变量X和Y值的程序段是( )。

    A.Y=X:X=Y

    B.Z=X:Y=Z:X=Y

    C.Z=X:X=Y:Y=Z

    D.Z=X:W=Y:Y=Z:X=Y


    正确答案:C
    解析:本题以z为中间变量,交换x、y的值。

  • 第17题:

    以下( )程序段可以实施X、Y变量值的互换。

    A.Y=X:X=Y

    B.Z=X:Y=Z:X=Y

    C.Z=X:X=Y:Y=Z

    D.Z=X:W=Y:Y=Z:X=Y


    正确答案:C

  • 第18题:

    设有宏定义:define MY(x,y) x*y,则宏调用MY(2+3,5)的结果为25。 ()

    此题为判断题(对,错)。


    正确答案:错误

  • 第19题:

    设有如下过程: Sub ff(x,y,z) x=y+z End Sub 下列选项中所有参数的虚实结合都是传址方式调用的是( )。

    A.Call ff(5,7,z)

    B.Call ff(x,y,z)

    C.Call ff(3+x,5+y,z)

    D.Call ff(x+y,x-y,z)


    正确答案:B
    解析:参数可以是常量、变量、表达式;效组等.如果是变量则可能是传值方式也可能是传地址方式,默认为传地址方式,如果用ByVa1修饰则说明是传值方式,而数组是传地址方式,常量、表达式则是传值方式。

  • 第20题:

    设有如下过程:

    Sub ff(x,y,z,)

    x=y+z

    End Sub

    以下所有参数的虚实结合都是传址方式的调用语句是( )。

    A.Call ff(5,7,z)

    B.Call ff(x,y,z)

    C.Call ff(3+x,5+y,z)

    D.Call ff(x+y,x-y,z)


    正确答案:B

  • 第21题:

    下列能够交换变量X和Y值的程序段是()

    • A、Y=X:X=Y
    • B、Z=X:Y=Z:X=Y
    • C、Z=X:X=Y:Y=Z
    • D、Z=X:W=Y:Y=Z:X=Y

    正确答案:C

  • 第22题:

    单选题
    下列能够交换变量X和Y值的程序段是(  )。
    A

    Y=X∶X=Y

    B

    Z=X∶Y=Z∶X=Y

    C

    Z=X∶X=Y∶Y=Z

    D

    Z=X∶W=Y∶Y=Z∶X=Y


    正确答案: D
    解析:
    交换X和Y的值,借助于一个中间变量,先将X的值放到中间变量里面,然后将Y的值放到X中,此时X中存放的是Y的值,最后再将中间变量即原来X的值放到Y中,即完成交换。不能将Y直接赋给X,否则将把原来X中的值覆盖。

  • 第23题:

    单选题
    以下()程序段可以实施X、Y变量值的变换。
    A

    Y=X:X=Y

    B

    Z=X:Y=Z:X=Y

    C

    Z=X:X=Y:Y=Z

    D

    Z=X:W=Y:Y=Z:X=Y


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