1.以下程序运行后的输出结果是()。
main()
{
int a=3,b=4,c=5,t=99;
if(b<a && a<c) t=a;a=c;c=t;
if(a<c && b<c) t=b;b=a;a=t;
printf("%d %d %d\n",a,b,c);
}
A.5399
B.4599
C.5499
D.3599
正确答案: B 你的答案: B (正确)
main()
{
inta=3,b=4,c=5,t=99;
if(b<a && a<c)
t=a;
a=c;
c=t;
if(a<c && b<c)
t=b;
b=a;
a=t;
printf("%d %d %d\n",a,b,c);
}
第一个if语句的条件不成立
则执行a=c----->a=5
c=t----->c=99
执行第二个if语句,条件成立则执行t=b------>t=4
然后执行b=a------>b=5
a=t------->a=4
所以最后的结果是4,5,99
2.在下列描述中,错误的是( )。
A.在基类中定义的public成员在公有继承的派生类中可见,也能在类外被访问
B.在基类中定义的protected成员在私有继承的派生类中可见
C.在基类中定义的公有静态成员在私有继承的派生类中可见
D.访问声明可以在公有继承派生类中把基类的public成员声明为private成员
正确答案: D 你的答案: C (错误)
派生类内不管是public、protected、private继承,总是可以访问基类的public、protected成员,当然是可见了,所以b、c都是对的,只不过基类中的private成员永远不能在派生类中访问,不管用什么方式继承。
访问声明不能改变成员在基类中的访问属性,也就是说,访问声明只能把原基类的保护成员调整为私有派生类的保护成员,把原基类的公有成员调整为私有派生类的公有成员。(对基类的私有成员不能使用访问声明)
3.有以下程序
#include <stdio.h>
main()
{
int a=2, c=5;
printf( "a=%%d,b=%%d\n", a,c );
}
则程序的输出结果是()
A.a=2,b=5
B.a=%2,b=%5
C.a=%d,b=%d
D.a=%%d,b=%%d
正确答案: C 你的答案: A (错误)
C 语言中用 “%%” 打印输出字符 “%”, 所以 %%d, 输出为 %d 两个普通字符 , 而不是格式控制符 “%d” 的含义 , 所以打印结果为 C
再加一个%即可输出%2,%5。
#include<stdio.h>
int main()
{
int a=2,c=5;
printf("a=%%%d,b=%%%d\n",a,c);
return 0;
}
输出结果为:a=%2,b=%5
#include<stdio.h>
int main()
{
int a=2,c=5;
printf("a=%%d,b=%%d\n",a,c);
return 0;
}
输出结果为:a=%d,b=%d
4.有以下程序
#include<iostream>
using namespace std;
____________________
int main()
{int a=1,b=2,c=3;
cout<<add(a,b,c);
return 0;}
int add(int x,int y,int z)
{ return x+y+z; }
程序运行的结果是6,请为横线处选择合适的程序( )
A.int add(int x,int y=5,int z=6);
B.int add(int x=1,int y=5,int z);
C.int add(int x=1,int y,int z=6);
D.int add(int x=1,int y=5,int z=6);
正确答案: A D 你的答案: D (错误)
默认实参作为形参的初始值出现在形参列表中。我们可以为一个或多个形参定义默认值,不过需要注意一点的是,一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值;
默认的实参应该全在形参后面