niusouti.com

有以下程序段:include define MIN(x,y)(x)有以下程序段: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;}程序执行后的输出结果是______。

题目
有以下程序段: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;

}

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


相似考题
更多“有以下程序段:include<iostream.h> define MIN(x,y)(x)<(y)?(x):(y) void main() { int i,j,K; i ”相关问题
  • 第1题:

    以下程序的运行结果是()。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。

  • 第2题:

    请选出以下程序段的输出结果 ( )。include using namespace std;define MIN(x,y)(x)<

    请选出以下程序段的输出结果 ( )。 #include <iostream> using namespace std; #define MIN(x,y) (x)<(y) ?(x) : (y) int main () { int i,j,k; i=10; j=15; k=10*MIN(i,j); cout<<k<<end1; return 0; }

    A.15

    B.100

    C.10

    D.150


    正确答案:A
    解析:本题考查对宏定义的掌握程度。本题最常见的错误就是想当然地先把i、j代入MIN(i,j),得到值10,然后在计算表达式k=10*10=100,得到答案100。其实不然,在使用宏替换时,应该充分理解宏替换仅是简单地用所说明的字符串来替代对应的标识符。所以,应当先把宏定义代入到表达式k=10*MIN(i,j)中,得到:k=10*1015?10:15,再按照运算符的优先级和结合性计算,最后得到k=15。

  • 第3题:

    以下程序的运行结果是 #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*j?i:j,即10015?10:15,其值为15,然后赋值给k。

  • 第4题:

    请选出以下程序的输出结果()。includedefineMIN(x,y)(x

    请选出以下程序的输出结果( )。 #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


    正确答案:C
    解析:本题考查宏定义。在C语言中,宏是直接替换的,所以表达式k=10*MIN(i,j)被直接替换为k=10*(ij)?i:j,在这个表达式中,10*(ij)的值为非零,所以整个表达式的值应为i的值,即为10。

  • 第5题:

    有以下程序:include void f(int * x,int * y) int t;t= *x; *x= *y; *y=t;main ( ){in

    有以下程序:#include <stdio.h>void f(int * x,int * y) int t; t= *x; *x= *y; *y=t;main ( ){ int a[8] = { 1,2,3,4,5,6,7,8} ,i, * p, * q; p=a;q =&a[7]; while(p<q) { f(p,q) ;p ++ ;q --; } for(i =0;i<8;i ++ ) printf(" % d," ,a[i]); }程序运行后的输出结果是( )。

    A.8,2,3,4.,5,6,7,1,

    B.5,6,7,8,1,2,3,4,

    C.1,2,3,4,5,6,7,8,

    D.8,7,6,5,4,3,2,1,


    正确答案:D
    解析:程序中函数f的作用是交换指针变量x和y所指向的存储单元的值。在main函数中,通过P=a;q=&a[7];指针变量p指向数组的第一个元素,指针变量q指向数组的最后一个元素。通过调用函数f(p,q)进行前后对称位置上的数组元素的交换。当while循环4次(即p=q)后,a数组中各元素的值分别为8,7,6,5,4,3,2,1,所以程序输出的结果为:8,7,6,5,4,3,2,1,