int a=1, b=2, 经运算 a^=b^=a^=b 后结果

题目

int a=1, b=2, 经运算 a^=b^=a^=b 后结果为()

  • A、a=3,b=2
  • B、a=1,b=2
  • C、a=2,b=1
  • D、不知道
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序运行后,输出结果是______。 fut(int**s,int p[2][3]) {**s=p[1][1];} main() { int a[2][3]={1,3,5,7,9,11}, *p; p=(int*) malloc (sizeof(int)); fut(&p,a); printf("% d\n",*p); }

A.1

B.7

C.9

D.11


正确答案:C

第2题:

以下程序运行后的输出结果是( )。 include main(){ int a=1, b=7; do { b=b/2; a+=b

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

include<stdio.h>

main()

{ int a=1, b=7;

do {

b=b/2; a+=b;

} while(b>1);

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

}


正确答案:5
5 解析:该程序考查do-while循环。循环共进行两次。第一次循环b=3,a=4;第二次循环b=1,a=5。输出a的值为5。

第3题:

若有定义int a=5,b=7;,则表达式a%=(b%2) 运算后,a的值为( )。

A.0

B.1

C.11

D.3


正确答案:A
解析:本题考查“%”运算符的使用。运算符“%”要求两个运算对象都为整型,其结果是整数除法的余数。本题中表达式a%=(b%2) 等价于a=a% (b%2)=5%(7%2)=5%1=0。

第4题:

下面程序的输出结果是()。includeusing namespace std;int main(){ int a=2,b=-1,c=2;

下面程序的输出结果是( )。 #include<iostream> using namespace std; int main() { int a=2,b=-1,c=2; if(a<b) if(b<0) c=0; else c+=1; cout<<c<<end1; return 0; }

A.0

B.1

C.2

D.3


正确答案:C
解析:本题常见的错误答案是:由于a>b(a=2,b=-1),所以程序进入else分支执行语句“c+=1;”,最后得到答案3。其实不然,本题考的知识点是else与if的配对问题。由于else关键词总是与它前面最近的未配对的且可见的那个if关键词配对,因此本题程序中的else是与第2个if配对。由于a>b(a=2,b=-1),那么第1个if分支后的语句就不再执行,从而输出c的值为2。

第5题:

设有定义语句:int a=12;,则表达式a*=2+3的运算结果是______。


正确答案:60
60 解析:本题考核C++运算符运算优先级和结合性。表达式"a*=2+3,"先计算“2+3”得到5,然后计算a*=5,得到a的值为60。

第6题:

有以下程序:includeusing namespace std;int f(int,int);int main(){ int i:1,x; x=f

有以下程序: #include<iostream> using namespace std; int f(int,int); int main() { int i:1,x; x=f(i,i+1); cout<<x<<end1; return 0; } int f(int a,int b) { int c; c = a; if(a>b) c = 1; else if(a==b) c = 0; else c = -2; return c; } 运行后的输出结果是( )。

A.1

B.0

C.-1

D.-2


正确答案:D
解析:本题考核对函数调用方法的掌握程度。做此类题主要是弄清楚程序每一步的目的:在主函数前面声明了整型函数f。在主函数中,调用了函数f()。实参的值分别是1和2,1传给函数f的形参a,2传给函数f的形参b,函数返回的值赋给变量x。即为输出的函数值。具体分析一下函数f()的功能:如果a大于b,则赋予c的值为1;并且跳出if-else语句。如果a不大于b,则进入elseif分支中,如果a等于b,则赋予c的值为0,并跳出以下的if-else语句。如果a不等于b,则进入else分支,执行c=-2。因为实参1,2分别传给形参a,b,所以此时ab,f()函数应执行c=-2。即最终输出应为-2。

第7题:

下列函数的运行结果是 include int f(int a,int b) { int c; if(a>b) c=1; else i

下列函数的运行结果是

#include<iostream.h>

int f(int a,int b)

{ int c;

if(a>b) c=1;

else if(a==b) c=0;

else c=-1;

return(c) ;}

void main( )

{ int i=2,j=3;

int p=f(i, j) ;

cout < < p;}

A.-1

B.1

C.2

D.编译出错,无法运行


正确答案:A
解析:本题的函数是根据a和b的值来给c赋值。

第8题:

include int LB(int*a,intn){ int p=1 for(int*b=a;b

#include

int LB(int*a,intn){

int p=1

for(int*b=a;breturn p;

}

void main(){

int a [5]={1,2,3,4,2};

cout<

}

输出结果:


参考答案48

第9题:

关于逻辑运算符的说法,正确的是( )。

A.它们都是双目运算符,优先级相同

B.语句“int a = 0, i = l, b; b = a&&i++;”执行后, i的值为2

C.语句“int a = 1, i = l, b; b = a||++;”执行后,i的值为2

D.语句“int a = 1, i = l, b; b = a&&i++;”执行后, i的值为2


正确答案:D
解析:选项A逻辑运算符优先级不同,而且有单目运算符;选项B中b=a&&i++;的左边表达式值为0,右边表达式不参与运算,所以i的值没有变化;选项C原因同选项B。

第10题:

有以下程序 int fa(int x) { return x*x; } int fb(int x) { return x*x*x; } int f(int (*f1)(),int (*f2)(),int x) { return f2(x)-f1(x); } main() { int i; i-f(fa, fb,2); printf("%d \n",i); } 程序运行后的输出结果是

A.4

B.1

C.4

D.8


正确答案:C
解析:函数f()有3个形式参数f1、f2和x,其中f1、f2是指向函数的指针变量。在main()函数中执行了函数调用“f(fa,fb,2)”,从而使f()的形式参数f1指向了fa,形式参数f2指向了fb,把实参2传给了行参变量x。函数f()中的return语句中的相当于“fb(2)-fa(2)”(fb(2)的返回值为2*2*2=8,fa(2)返回值为2*2=4)即(8-4),值为4.函数f()执行后把返回值4赋给了i,输出i的值是4.所以4个选项中C正确。

更多相关问题