itgle.com
更多“下面程序的运行结果是( )。 define POW(r)r*r main() {int x=2,y=3,t; t=POW(x+y); printf("%d\n" ”相关问题
  • 第1题:

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

    define POW(r)(r)*?

    main()

    { int x=3,y=2,t;

    t=POW(x+y);

    printf("%d\n",t);

    }


    正确答案:
    解析: 本题考查带参数的宏的定义及相关运算。运算过程为:t=POW(x+y)=(2+3)*(2+3)=25。

  • 第2题:

    若有程序 fun(int a,int b} { static int c=0; c+=a+b; return c; } main() { int x=5,y=3,z=7,r, r=fun(y,x+y),z); r=fun(xy); printf("%d\n",r); } 上面程序的输出结果是_____。

    A.23

    B.15

    C.19

    D.18


    正确答案:A
    解析:static声明的外部变量只限于彼本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第一个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。

  • 第3题:

    10、下面程序执行后的输出结果是()。 #include <stdio.h> #define DOUBLE(r) r*r int main() { int x=1,y=2,t; t = DOUBLE(x+y); printf("%d",t); return 0; }

    A.5

    B.6

    C.7

    D.8


    a=14 本题考查的是表达式的优先级问题。先计算表达式3*5=15,再计算a+4=14,将数据14赋值给a,根据printf()函数内的输出格式控制串,最后的输出结果应为“a=14”。

  • 第4题:

    下面程序的运行结果是void swap(int *a,int *b){ int *t; t=a;a=b;b=t;}main(){ int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf("%d%d\n",*p,*q);}


    正确答案:35
    观察本题的程序可以看出,被调函数swap()实现的功能是交换变量的值,但由于函数不返回任何值,所以在main()函数中打印出的变量的值并没有发生交换,即仍为3和5。

  • 第5题:

    若有程序 fun(int a,int b) { static int c=0; c+=a+b; rerurn c; } main() { int x=5,y=3,z=7,r; r=fun(y,x+y),z); r=fun(x,y); printf("%d\n",r); } 上面程序的输出结果是______。

    A.23

    B.15

    C.19

    D.18


    正确答案:A
    解析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明—个变量的作用有:①对局部变量用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域只限于本文件模块(即被声明的文件中)。调用第—个fun,其两个实参的值为(3,5+3)与7即8与7,在函数fun执行结束返回15。第二次调用fun时,由于static为静态类型,其值保留,执行fun(5,3)后,其返回值为23,故选A。