博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++程序员面试基础知识(一)
阅读量:4163 次
发布时间:2019-05-26

本文共 1390 字,大约阅读时间需要 4 分钟。

本文章向大家介绍C/C++程序员面试基础知识(一),主要包括C/C++程序员面试基础知识(一)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1问题:Stdio.h 的主要作用?

回答:stdio .h头文件定义了三个变量类型、一些宏和各种函数来执行输入和输出。C语言

2问题: \n 、\r 与\t什么意思?

回答:'\n' 换行, 将当前位置移到下一行开头;

\r是回车, 将当前位置移到本行开头;

\t水平制表(HT) (跳到下一个TAB位置。

3问题:|与|| 、&与&&的区别?

回答:首先 &和|称为位运算符(按位进行与或),&&和||(按结果真假或0/1进行与或)称为逻辑运算符;逻辑运算符性能比较好。他检查第一个操作数的值,再根据该操作数的值进行操作,可能根本就不处理第二个操作数。使用&&和||运算符来代替&和|,性能会有一定提高。

4问题: 后缀名为.c与.cpp?

回答:.c是c语言的源程序格式,.cpp是c++语言的源程序格式;C89规定,在任何执行语句之前,在块的开头声明所有局部变量。在C99以及C++中则没有这个限制,即在首次使用之前,可在块的任何位置都可以声明变量。

5问题: 不使用任何中间变量如何将a/b的值进行交换?

回答:①使用加减运算实现交换,a=a+b; b=a-b; a=a-b;(在a+b与a-b可能数据溢出)

②使用局部变量,int temp=a; a=b; b=temp;

③使用异或运算,a^=b; b^=a; a^=b;

6问题:c和c++有什么不同?

回答:C是一个结构化的语言,重点在于算法和数据结构,对语言本身C是C++的子集。

C程序的设计首先考虑的是如何通过一个过程实现对输入进行运算后输出,对于C++考虑的是如何构造一个对象模型,让这个模型能够匹配对应的问题,通过获取对象的状态信息得到输出或实现过程控制。

因此,C与C++的最大区别在于,他们解决问题的思路方法是不一样的。

C实现了C++中过程化控制及其他相关功能,而在C++中相对于C还有所加强,引入了重载、内联函数、异常处理等,同时拓展了面向对象的设计内容,如类、继承、虚函数、模板等。

附:C是面向过程的、C++面向对象(在C++中一样可以写出与C一样过程化的程序,所以只能说C++具有面向对象的特性)、Java是真正面向对象化的程序。

7问题: 为什么标准头文件都有#ifndef  _xxxxxx; #define _xxxxxx          #endif?

回答:这样定义是为了避免重复定义。重复声明可以,但是重复定义是不可以的。重复声明只要名称完全相同即可。但是重复定义会出现编译错误的,即使同名也不可以。

8问题: #include<head.h>与#include “head.h”的区别?

回答:尖括号< >表明这个文件是一个工程或标准的头文件,在预处理查找过程中会首先检查系统预定义的目录,如果没有找到就报错。

双引号" "表明这是一个用户自定义的头文件,查找文件的时候会先在当前文件目录中查找,如果没有找到再去系统预定义的目录中查找,如果没有找到再报错。

需要学习编程或者为了入行、转行学习编程的伙伴可以关注 工.众.号:【速学】公众号回复“1024” 领取全套200G免费C/C++学习资料、视频!

转载地址:http://nllxi.baihongyu.com/

你可能感兴趣的文章
三维点云处理:7最邻近问题之二叉树
查看>>
三维点云处理: k-nn、radius邻近查找作业
查看>>
三维点云处理:8 Kd-tree
查看>>
三维点云处理:9 octree
查看>>
python记录
查看>>
C++:冒泡排序的实现算法代码
查看>>
PCL是否安装成功测试(手把手超详细版)
查看>>
3、PCL 加载自己的点云数据集并显示出来
查看>>
PCL 三维点云轮廓提取
查看>>
C++:插入排序算法实现代码
查看>>
C++:快速排序法的代码实现
查看>>
4、ROS下播放激光点云bag数据并可视化
查看>>
5、激光雷达bag文件和转PCD文件
查看>>
2、关于点云格式的碎碎念
查看>>
ROS初始化时候sudo rosdep init rosdep update出现的各种问题亲测成功的解决办法(2020.12.29已解决!)
查看>>
6、ubuntu16.04 下 pcl的vogelgrid降采样处理 过程
查看>>
8、在ubuntu16.04 、ROS下使用 rviz 显示octomap_sever 构建的三维栅格地图
查看>>
如何在ubuntu16.04下运行第一个C++和python程序,以helloworld为例
查看>>
古月居 PyTorch入门:一起从零搭建神经网络一、PyTorch环境搭建
查看>>
古月居 PyTorch入门:一起从零搭建神经网络二、PyTorch基础知识
查看>>