首页/ 题库 / [单选题]若有以下程序:
int 的答案

若有以下程序:
int a=1,b=2 
a=a^b;
b=b^a
则执行以上语句后a和b的值分别是(  )。

单选题
2021-09-17 22:24
A、a=1,b=2
B、a=3,b=l
C、a=3,b=2
D、a=2,b=l
查看答案

正确答案
B

试题解析
本题考查按位异或的用法。按位异或运算的规则是:两个运算数的相应二进制位相同,则结果为0,相异则结果为1。b=2的二进制为00000010,a=1的二进制为00000001,a=a^b一00000011,转化为十进制后为3,b=b^a=00000010^00000011=00000001,即1。

感兴趣题目
若有以下程序: inta=1,b=1 a=a^b; b=b^a 则执行以上语句后a和b的值分别是( )。
若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是(  )。
若有定义:“int a=4,b=5;float x=3.4,y=2.1;”,则下列表达式的值为( )。 (float)(a+b)/2+(int)x%(int)y;
下列程序段运行后窗体上输出结果为( )。 Private Sub Command1_Click() a=5: b=4: c=3: d=2 x=3>2*b Or a=c And b<>c Or c>d Print x End Sub
若有定义:int a;float b;double c;程序运行时输入:a=1,b=2,c=3<回车>,能把值1输入给变量a、值2输入给变量b、值3输入给变量c的输入语句是(  )。
有以下程序 int b=2; int func(int*A) { b+=*a;return(B) ; } main() { int a=2,res=2; res+=rune(&A) ; printf("%d ",res); } 程序运行后的输出结果是( )
若有以下定义:

float x;  int a,b;  则正确的switch 语句是(  )。

设int a=04,b;则执行b=a>>1;语句后,b的结果是(  ).

若有下列定义(设int类型变量占2个字节):
int i=8,j=9;
则下列语句:
printf("i=%%d,j=%%d\n",i,j);
输出的结果是(    )。
以下程序段执行完毕后,变量a和b的值分别是()
int a=4,b=5,*p1=&a,*p2=&b;
a=2*(*p1%-*p2)+5;
b=*p1**p2++;
 
若有以下的定义:‘int t[3][2];”,能正确表示t数组元素地址的表达式是( )。
已知a、6都是正数,X(a2+1)(b2+4)=8ab,则a +b/2的值为(    )。
相关题目
设有如下程序:
main()
{
int  **p;
int  *a, b=20;
a=&b;
p=&a;
 printf("%d\n", ** p);
}
上面程序的输出结果是( )。
请选出以下程序的输出结果
void  fab(int  x, int  y,  int  *z)
{
if(x>y)
*z=y+x ;
else
*z=y-x;
}
main()
{  int a, b, c;
   a=10;
   b=15;
   fab(a,b,&c);
   printf("%d,%d,%d\n", a,b,c);
}
若有以下说明:
int  a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int  (*p)[4]=a;
则引用数值为8的表达式是( )。
有如下程序段
int   a=5, b=10;
int  *p;
p=&b;
a=*p+b;
执行该程序段后,a的值为( )
若有以下定义和语句,则对数组元素的错误引用是( )。
int  a[]={1,2,3,4,5,6};
int  *p;
p=a;
"定义一下变量和数组
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则以下语句的输出结果是( )
for(int i=0;i<3;i++)
     cout<<x[i][2-i]"
有如下程序段
int*p,a=10,b=1;
p=&a;a=*p+b;
执行该程序段后,a的值为
若有定义:int a=4,b=5;float x=3.4,y=2.1;则表达式(float)(a+b)/2+(int)x%(int)y的值为(  )。
若有以下程序段 int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 (  )。
若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是(  )。

若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是(  )。
若有以下程序:
int a=1,b=2 
a=a^b;
b=b^a
则执行以上语句后a和b的值分别是(  )。

1)#include
2)using namespace std;
3)int main()
4){
5)int a,b,result;
6)cout<<"please input two numbers: ";
7)cin>>a>>b;
8)result=3*a-2*b+1;
9)cout<<"resultis<><><><>
" << result << endl;
10)} <><><>

程序的入口是第几行:()

1)#include
2)using namespace std;
3)int main()
4){
5)int a,b,result;
6)cout<<"please input two numbers: ";
7)cin>>a>>b;
8)result=3*a-2*b+1;
9)cout<<"resultis<><><><>
" << result << endl;
10)} <><><>

程序执行完第5行后,光标在什么位置:()

1)#include
2)using namespace std;
3)int main()
4){
5)int a,b,result;
6)cout<<"please input two numbers: ";
7)cin>>a>>b;
8)result=3*a-2*b+1;
9)cout<<"resultis<><><><>
" << result << endl;
10)} <><><>

程序第5行中,” ”的含义是:()
若有如下程序:sub(int a,int b,int *z){*z=a+b;return;}main(){int a=1,b=2,c=3,d,e;sub(a,b,&D) ;sub(c,d,&e);printf("%d",e);}则程序运行后的输出结果是
若有以下语句:   
typedef struct S
{int g;char h;}T;
以下叙述中正确的是(    )。
若有以下程序段:int a=0,b=0,c=0;c=(a-=a-5,a=b,b+3);cout<<a<<","<<b<<","<<c<<endl;其输出结果是
以下程序运行后,输出结果是( )。 a=1:b=2:c=3 a=a+b:b=b+c:c=b+a If a<>3 Or b<>3 Then a=b-a:b=c-a:c=b+a End If Print a+b+c
若有以下程序: int a=1,b=2: a=a^b: b=b^a:则执行以上语句后a和b的值分别是( )。
广告位招租WX:84302438

免费的网站请分享给朋友吧