12道C++经典笔试题及答案(2022)

目录

一、题目

二、题目以及答案 


一、题目

1.C和C++中的struct有什么区别?

2.C++中的struct和class有什么区别?

3.如何判断一段程序是由C编译程序还是由C++编译程序的?

4.C和C++有什么不同?

5.C++中引用跟指针的区别是什么?

6.char str[sizeof(unsigned long)];这个会不会报错,为什么?

7.对于一个频繁使用的短小函数,C和C++分别用什么实现?

8.C++的类型安全?

9.C++如何判断一个操作系统是多少位的?

10.内存分配有哪几种?

11.const关键字的作用有哪些?

12.面向对象的三大基本特征?

二、题目以及答案 

1.C和C++中的struct有什么区别? 

参考答案:

C语言:没有protection行为,不能定义函数,但是能定义函数指针。

C++:有protection行为,也可以定义函数,不能定义函数指针。

2.C++中的struct和class有什么区别?

参考答案:

1.默认继承权限。如果不明确指定,class的继承按private处理,structural的继承按照public处理。

2.成员的默认访问权限。class的成员默认是private权限,struct的成员默认是public。

注意:除了以上两点,struct和class基本上就是一个东西,语法上没有任何其他区别。

3.如何判断一段程序是由C编译程序还是由C++编译程序的? 

参考答案:

        #ifdef  __cplusplus

                        cout<<"C++"<<endl;

        #else

                        cout<<"C"<<endl;

        #endif

4.C和C++有什么不同?

参考答案:

1.C语言是结构化编程语言,C++s面向对象编程语言。

2.C++侧重于对象而不是过程,侧重与类的设计而不是逻辑的设计。

3.C语言适合要求代码量体积小的,效率高的场合,如嵌入式;C++适合更上层的,复杂的。

4.C语言主要是面向过程的(也可以编写面向对象);C++是面向对象的,提供了类。C++编写面向对象比C语言要简单。

5.C++中引用跟指针的区别是什么? 

参考答案:

1.引用必须初始化,而指针不用。

2.引用初始化以后不能改变,而指针可以改变所指的对象。

3.不存在指向空值的引用,但是存在指向空值的指针。

6.char str[sizeof(unsigned long)];这个会不会报错,为什么? 

参考答案:

不会报错。

因为这个sizeof是编译时运算符,编译时就确定了,可以看成和机器有关的常量。

 7.对于一个频繁使用的短小函数,C和C++分别用什么实现?

参考答案:

C语言用宏定义,而C++用inline。 

8.C++的类型安全? 

参考答案:

不安全。两个不同类型之间可以强制转换。

9.C++如何判断一个操作系统是多少位的? 

参考答案:

定义一个指针p,打印出sizeof(p),打印结果是8就是64位,打印结果是4就是32位,打印结果是2就是16位。

10.内存分配有哪几种?

参考答案:

1.静态存储区域分配。

2.栈上分配。

3.堆上分配。

11.const关键字的作用有哪些?

参考答案:

1.限制一个变量的改变,在定义const变量时,需要对它进行初始化。

2.对于指针来说,可以定义指针本身为const,也可以定义指针所指的数据为const,或两者都定义为const。

3.const修饰形参,此参数在函数中无法改变。

4.类的成员函数为const类型,这个函数的成员变量不可改变。

5.对于类的成员函数,指定其返回值为const类型,以使得其返回值不为“左值”。

12.面向对象的三大基本特征? 

参考答案:

1.封装     2.继承     3.多态

  • 2
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值