更多“若有以下程序段int r=8:prinff(“%d\n”,r>>1);输出结果是A.16B.8C.4D.2 ”相关问题
  • 第1题:

    有以下程序include<stdio.h>int*f(int*p,int*q);main( ){int m=1,n=2,*r=&m;r=f(r,&am

    有以下程序

    include<stdio.h>

    int*f(int*p,int*q);

    main( )

    {int m=1,n=2,*r=&m;

    r=f(r,&n);printf(”%d\n”,*r);

    }

    int-f(int*P,int*q)

    (return(*p>*q)?p:q;)

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


    正确答案:2
    2 解析:函数f的返回值的类型是int*,作用是返回两个int*型指针所指变量中值大的那个指针的。本题中定义了一个int*型指针r并置初值&m,即指针r指向m。r=f(r,&n),由于m的值小于n值,所以f函数返回值为&n,所以输出为2,即n值。

  • 第2题:

    若有以下程序段:

    程序运行后的输出结果是( )。

    A.16

    B.8

    C.4

    D.2


    正确答案:C
    本题考查位运算,属于基础知识,题目中将整型变量8,二进制表达为00(301000,右移一位为00000100,即4,选项c正确。

  • 第3题:

    【单选题】若有以下程序段: int r=8;r>>1; r的值

    A.16

    B.8

    C.4

    D.2


    循环体语句一次也不执行

  • 第4题:

    若有以下程序段: int r=8; print("%d\n",r>>1): 输出结果是( )。 A.16B.8S

    若有以下程序段: int r=8; print("%d\n",r>>1): 输出结果是( )。

    A.16

    B.8

    C.4

    D.2


    正确答案:C
    本题考查移位运算。将8转为二进制数为1000,右移一位不足补0,结果为0100,转化为十进制结果为4。

  • 第5题:

    有以下程序: include main( ){ int m =3,n =4,x; x= -m++; x=x+8/++n; prinff(" % d

    有以下程序: #include <stdio. h > main( ) { int m =3,n =4,x; x= -m++; x=x+8/++n; prinff(" % d \n" ,x); } 程序运行后的输出结果是( )。

    A.3

    B.5

    C.-1

    D.-2


    正确答案:D
    解析:程序中x=-m++执行后x=-3,执行x=x+8/++n相当于执行x=-3+8/5,即n先增加1,再代入表达式运算,结果为-2。