当前位置: 首页 > news >正文

c++面试技巧-基础篇

1.面试官:简述C++语言的优缺点。

应聘者:C++语言的优缺点如下。

• C++语言的优点:C++语言既保留了C语言的有效性、灵活性、便于移植等全部精华和特点,又添加了面向对象编程的支持,具有强大的编程功能,可方便地构造出模拟现实问题的实体和操作;用C++编写的程序可读性好,生成的代码质量高,编写出的程序具有结构清晰、易于扩充等优良特性,适合于各种应用软件、系统软件的程序设计。

• C++语言的缺点:首先C++比C增加很多功能,也注定它比C更消耗内存;C++的可移植性一般;C++的动态对象必须及时销毁,否则可能会造成内存泄漏。

2.面试官:程序调试输出过程中一般会有几种错误,分别是什么?

应聘者:程序调试输出过程一般有语法错误和警告信息两种。

• 语法错误:常见的很多语法错误是输入的格式不对造成的,一般情况进行简单的修改就可以执行,一个语法错误可以引发多条Error信息,因此修改一个错误后,最好重新编译一次,以便提高工作效率。

• 警告信息:一般是违反了C/C++的规则,因而系统给出警告信息,警告信息不会影响程序的执行。

3.面试官:#include的作用是什么?

应聘者:这是一个预处理器编译指令,总是以字符#打头。预处理器在调用编译器时,该指令使得预处理器将include后面的<>中的文件读入程序。就是事先把后面需要使用的文件在开头处就定义了。

4.面试官:简述C++语言程序的组成。

应聘者:C++程序结构由编译预处理、注释和程序等组成。也有人称程序为函数,因为程序是由一个主函数和若干个函数组成的。

5.面试官:单行注释和多行注释之间有何不同?

应聘者:单行注释到行尾就结束;而多行注释到“/”才结束。即使是函数的结尾也不能作为多行注释的结尾,必须要加上注释结尾标记“/”,否则将出现编译错误。

6.面试官:字符串常量"A"与字符常量'A'有什么不同?

应聘者:C++规定在每一个字符串的结尾加一个字符串结束标记,以便系统能据此判断字符串是否结束。字符串结束标记就是'\0'。所以在计算机内存中"A"其实占了两个字符存储位置,一个是字符'A',一个是字符'\0'。

(1)书写格式不同:字符常量用' '(单引号),而字符串常量用" "(双引号)。

(2)表现形式不同:字符常量是单个字符,字符串常量是一个或多个字符序列。

(3)存储方式不同:字符常量占用1字节,字符串常量占用1个以上字节(比字符串的长度多一个)。

7.面试官:变量的存储类型有哪些?

应聘者:存储类别指的是数据在内存中存储的方法。存储方法分为静态存储和动态存储两大类。具体包含4种:自动的(auto)、静态的(static)、寄存器的(register)和外部的(extern)。根据变量的存储类别,可以知道变量的作用域和存储期。

8.面试官:实型数据的有效位数各是多少?

应聘者:有效数字是表示精度,一般是说一个近似数四舍五入到哪一位,就说明这个数字精确到那一位,float型的有效数字是小数点后6位,多于6位以后的数就不太可靠了。double型的有效数字是小数点后15位,15位以后的数也就不可靠了。取值范围是能表示的最小值和最大值之间的一个数域,超出这个数域的值就根本不能表示了。

9.面试官:字符变量在内存中如何存储?

应聘者:每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中的。取值范围为-128~127。ASCII码是一些整型的数据,这也造成了字符型变量在一定程度上可以和整型进行换算。因为数字1~9的ASCII码是连续的,而且是整型,所以对于输入的数字字符,可以在程序内部,换算成真正的整型数据来处理(必要的时候)。字母的ASCII码从A~Z和a~z都是分别连续的,这也使得我们可以方便地进行大小写的转换。字符型变量可以让我们方便地处理一些输入问题。

http://www.lryc.cn/news/33148.html

相关文章:

  • 三八妇女节即将到来,跨境电商如何玩转节日营销?
  • 【Java学习笔记】10.条件语句 - if...else及switch case 语句
  • 解析STM32启动过程
  • 微信小程序开发自学笔记 —— 八、小程序基础库的更新迭代
  • Mysql迁移Postgresql
  • 关于信息安全认证CISP、PTE对比分析
  • 游戏场景编辑器和骨骼动画相关软件
  • vue3常用的API
  • Qt中使用
  • controller-runtime搭建operator开发环境
  • FPGA使用GTX实现SFP光纤收发SDI视频 全网首创略显高端 提供工程源码和技术支持
  • Django 之 CharField 和 TextField
  • recyclerview 使用的坑
  • DBeaver连接mysql、oracle数据库
  • Kivy GridLayout 布局
  • Spark高手之路2—Spark安装配置
  • Java中对象的比较
  • Python编程训练题2
  • Shifu基础功能:设备管理
  • 交互:可以执行命令行的框架才是好框架
  • eunomia-bpf 和 wasm-bpf 项目的 3 月进展
  • Spring框架核心功能手写实现
  • k8s-镜像构建Flink集群Native session
  • 在 k8S 中搭建 SonarQube 7.4.9 版本(使用 PostgreSQL 数据库)
  • 从getBean()分析BeanFactory和ApplicationContext
  • 详解Redis的主从同步原理
  • 前端项目上线后,浏览器缓存未刷新问题
  • Vulnhub系列:Raven 1
  • MybatisPlus------多数据源环境(十一)
  • Tomcat+IDEA+Servlet能显示页面但提交form表单出现404问题