C/C++基础易错题整理3

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 &lt;stdio.h&gt;

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 (错误)

默认实参作为形参的初始值出现在形参列表中。我们可以为一个或多个形参定义默认值,不过需要注意一点的是,一旦某个形参被赋予了默认值,它后面的所有形参都必须有默认值;
默认的实参应该全在形参后面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值