计算机二级

执行下列程序段,结果是includevoid main( ){int x=40; char y='C'; int n; n=(x&am执行下列程序段,结果是 #include<iostream.h> void main( ) { int x=40; char y='C'; int n; n=(x&0xff)&&(y>'B'); cout<<n;}A.0B.1C.2D.3

题目
执行下列程序段,结果是includevoid main( ){int x=40; char y='C'; int n; n=(x&am

执行下列程序段,结果是 #include<iostream.h> void main( ) { int x=40; char y='C'; int n; n=(x&0xff)&&(y>'B'); cout<<n;}

A.0

B.1

C.2

D.3

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

第1题:

以下程序的输出结果是includevoid prt(int *x,int*y,int*z){ printf("%d,%d,%d\n",++*

以下程序的输出结果是 #include<stdio.h> void prt(int *x,int*y,int*z) { printf("%d,%d,%d\n",++*x,++*y,*(z++));} main() { int a=10,b=40,c=20; prt(&a,&b,&c); prt(&a,&b,&c);}

A.11,42,31 12,22,41

B.11,41,20 12,42,20

C.11,21,40 11,21,21

D.11,41,21. 12,42,22


正确答案:B
解析:尽管C语言以传值方式进行函数调用,但也可以通过传递指针的值(变量的地址)来达到修改实参变量值的目的,这是此题主要说明的问题。其次,应注意表达式。(z++)的值是*z,其后的z++在程序中无实际作用。函数调用时,由于x,y和z分指向a,b和c,因此,*x,*y和*z就是a,b和c。第一次调用函数时,*x=a=10,*y=b=40,*z=c=20输出结果为11,41,20,至此,已经可以肯定选项B)是正确的。在第一次输出后,a=11,b=41,c=20,第二次输出为:12,42,20。注意:指针作为参数的函数调用的执行过程。

第2题:

以下程序的输出结果是()。includevoid prt(int*x,int*y,int*z){printf("%d,%d,%d\n",++

以下程序的输出结果是( )。 #include<stdio.h> void prt(int *x,int *y,int *z) { printf("%d,%d,%d\n",++ *x,++ *y,*(z++));} main() { int a=10,b=40,c=20; prt(&a,&b,&c); prt(&a,&b,&c); }

A.11,42,31 12,22,41

B.11,41,20 12,42,20

C.11,21,40 11,21,21

D.11,41,21 12,42,22


正确答案:B
解析:C程序可以通过传递指针的值(变量的地址)来达到修改实参变量值的目的,这是本题主要说明的问题。这里要注意表达式,(z++)的值是*z,其后的z++在程序中无实际作用。函数调用时,由于x,y和z分别指向a,b和c,因此,*x,*y和*z就是a,b和c的值。第一次调用函数时,*x=a=10,*y=b=40,*z=c=20,输出结果为11,41,20,至此,已经可以肯定选项B)是正确的。第二次输出为:12,42,20。

第3题:

下列程序的运行结果是()。include< iostream.h>void fun (int *a,int*b){int*kk=a;a=b;b=k}void

下列程序的运行结果是( )。 #include< iostream.h> void fun (int *a,int*b) {int*k k=a;a=b;b=k} void main() {int a=2004, b=9,*x=&a,*y=&b; fun(x, y) ; cout<<a<<" "<<b<<endl:}

A.20049

B.92004

C.0

D.编译时出错


正确答案:A

第4题:

下列程序段的输出结果是 include void fun(int * X,int * y) {cout < < * X < <

下列程序段的输出结果是 #include<iostream.h> void fun(int * X,int * y) { cout < < * X < < * y; * X=3; * y=4; } void main( ) { int x=1,y=2; fun(&y,&x); cout < < X < < y < < end1; }

A.2143

B.1212

C.1234

D.2112


正确答案:A
解析:在fun函数中,x接收的是main函数中y的地址,所以*x值为2,同样,*y值为1,所以第1次输出的是21,第2次改变*x的值等同于改变y的值,改变*y的值也即改变x的值,所以第2次输出的是43。注意:C++语言中函数的传参方式中关于指针的应用。

第5题:

以下程序的输出结果是()。includevoid prt(int *x,int *y,int *z){printf("%d,%d,%d\n"

以下程序的输出结果是( )。 #include<stdio.h> void prt(int *x,int *y,int *z) {printf("%d,%d,%d\n",++*x,++*y,*(z++));} main() {inta=10,b=40,c=20; prt(&a,&b,&C); prt(&a,&b,&C);}

A.11,42,31 12,22,41

B.11,41,20 1,42,20

C.11,21,40 11,21,21

D.11,41,21 12,42,22


正确答案:B

第6题:

以下程序的输出结果是______。includevoid prt(int*x,int*y,int*z){printf("%d,%d,%d\n

以下程序的输出结果是______。 #include<stdio.h> void prt(int*x,int*y,int*z) { printf("%d,%d,%d\n",++*x,++*y,*(z++));} int a=10,b=40,c=20; main() { prt(&a,&b&c) prt(&a,&b,&c); }

A.11,42,31 12,22,41

B.11,41,20 12,42,20

C.11,21,40 11,21,41

D.11,41,21 12,42,22


正确答案:B
解析:由于实参传送的是变量的地址,所以对形参指针所指向的单元内容的改变,即对实参内容的改变。

第7题:

下列程序段的输出结果是includevoid fun(int * x,int * y){cout<<* X<<* y; *X=3;

下列程序段的输出结果是 #include<iostream.h> void fun(int * x,int * y) { cout << * X << * y; *X=3; *y=4; } void main() { int x=1,y=2; fun(&y,&x); cout << X << y<<endl; {

A.2143

B.1212

C.1234

D.2112


正确答案:A
解析:在fun函数中,x接收的是main函数中y的地址,所以*x值为2,同样,*y值为1,所以第1次输出的是21,第2次改变*x的值等同于改变y的值,改变*y的值也即改变x的值,所以第2次输出的是43。注意:C++语言中函数的传参方式中关于指针的应用。

第8题:

下列程序的输出结果是()。 include define F(x)2.84+x define w(y)printf("%d",(int)

下列程序的输出结果是( )。

#include<stdio.h>

#define F(x)2.84+x

#define w(y)printf("%d",(int)(y))

#define P(y)w(y)putchar('\n')

main()

{ int x=2;

P(F(5) *x);

}

A.12

B.13

C.14

D.16


正确答案:A
解析:本题考查带参数的宏的定义及相关运算。P(P(5)*x)=P(2.84+5*2)=P(12.84),调用w(12.84),输出 (int)(12.84)=12。

第9题:

下列程序段的输出结果是includevoid fun(int*x,int*y){cout<<*x<<*y;*X=3;*y=4;}vo

下列程序段的输出结果是 #include<iostream.h> void fun(int*x,int*y) {cout<<*x<<*y; *X=3; *y=4; } void main() {int x=1,y=2; fun(&y,&x); cout<<X<<y<<endl; }

A.2143

B.1212

C.1234

D.2112


正确答案:A

第10题:

执行下列程序段,结果是 #include(iostream.h> void main() { int x=40; char y=‘C’;int n; n=(x&0xff)&&(y>‘B’); cout<<n;}

A.0

B.1

C.2

D.3


正确答案:B
解析:按位与运算符“&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。逻辑与运算符“&&”需要两边的结果都为1时,其结果才为1。