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

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

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有以下程序: include usingnamespace std; class Sample { private: const int n;

若有以下程序:

include <iostream>

using namespace std;

class Sample

{

private:

const int n;

public:

Sample(int i) :n(i) {)

void print()

{

cout<<"n="<<n<<end1;

}

};

int main()

{

sample a(10);

a.print();

return 0;

}

上述程序运行后的输出结果是【 】。


正确答案:n=10
n=10 解析:本题考核常成员数据的应用。类Sample中,定义了一个常数据成员n,所以构造函数只能通过初始化列表来初始化它。

第2题:

若有以下程序段

int r=8:

prinff(“%d\n”,r>>1);

输出结果是

A.16

B.8

C.4

D.2


正确答案:C
解析:8用二进制表示为1000,右移1位后为0100,即十进制4。

第3题:

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

include

main()

{int a;

a=(int)((double)(3/2)+0.5+(int)1.99*2);

print{(“%d\n”,a);

}


正确答案:3
3

第4题:

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

第5题:

有以下程序includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r, &n

有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=&m; f(r, &n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。

A.1,3

B.2,3

C.1,4

D.1,2


正确答案:A
解析:本题主要考查函数实参和形参之间的传递,C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只能由实参传绐形参,而不能由形参传回来给实参。f(r&n)把n的地址传递给q,通过地址传递的函数可以有返回值,因此,n的值为q的返回值3,又因为p是形参变量没有返回值,所以m的值没有改变,因此,选项A是正确的。

第6题:

有以下程序: int*f(int*x,int*y) { if(*x<*y) return x; else return y; } main() { int a=7,b=8,*P,*q,*r; P=&a; q=&b; r=f(p,q); print("% d,% d,% d\n",*P,*q,*r); } 执行后的输出结果是 ______。

A.7,8,8

B.7,8,7

C.8,7,7

D.8,7,8


正确答案:B
解析:函数f是一个返回值为指针的函数,其功能是比较两个数中的最小值,并返回最小值的存储单元地址。main函数中定义了指针变量p和q,p=&a,q=&b,即*p=7,*q=8,调用函数{后r=p,所以*r=7,printf函数的输出结果为 7,8,7。

第7题:

若有以下程序段: include using namespace std; int main() {char*p="abcdefgh",*r;l

若有以下程序段:

include <iostream>

using namespace std;

int main()

{

char*p="abcdefgh",*r;

long*q;

q=(long*)p;q++;

r=(char*)q;

cout<<r<<end1;

return 0;

}

该程序的输出结果是【 】。


正确答案:efgh
efgh 解析:本题定义了一个字符型指针变量p,并通过赋初值让它指向了一个字符串,还定义了另一个字符型指针变量r和一个长整型指针变量qo首先通过语句“a=(long*)p;”,把p的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“F(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址。最后输出r指向的字符串。

第8题:

若有以下程序段:

int r=8;

print("%d\n",r>>1): 输出结果是( )。

A.16

B.8

C.4

D.2


正确答案:C

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

第9题:

若有以下程序段

int r=8;

printf("%d\n",r>>1);

输出结果是

A ) 16

B ) 8

C ) 4

D ) 2


正确答案:C