关于计算机二级C++

来源:百度知道 编辑:UC知道 时间:2024/05/30 19:24:02
一、设有如下程序段:
main()
{ intx=102, y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出结果是()
A 10,01 B 02,12 C 102,10 D 02,10
二、设有定义:inta; float;,执行 scanf("%2d%f",&a,&b);语句时,若从键盘输入876 543.0<回车>,a和b得值分别是()
A 876和543.000000 B 87和6.000000 C 87和543.000000 D 76和543.000000
三、有以下程序:
main()
{ int a=1,b=2,m=0,n=0,k;
k=(n=b>a)||(m=a<b);
printf("%d,%d\n",k,m);
}
程序运行后的输出结果是()
A 0,0 B 0,1 C 1,0 D 1,1
四、若有说明: int n=2,*p=&n,*q=p;,则以下非法的赋值语句是()
A p=q; B *p=*q; C n=*q; D p=n;
五、下面程序的运行结果是_____
void swap(int *a,int *b)
{ int *t;
t=a; a=b; b=t;
}
main()
{ int x=3,y=5,*p=&x,*q=&y;
swap(p,q);
printf("%d%d\n",*p,*q);
}
能不能详细解说一下?

1、c
2、b
3、c ||操作符只要左边的表达式成立,右边的表达式将被跳过。同理,&&操作符只要左边的表达式不成立,右边的表达式同样会被跳过。
4、d
5、3,5
swap函数里把两个参数指针的值交换了,却没有把指针指向的变量的值交换,还是3 5

1.C
2.C
3.C
4.D
5.35