C/C++经典面试题总结
需积分: 43 4 浏览量
更新于2024-06-11
收藏 532KB PDF 举报
C、C++面试题
C、C++是两种广泛使用的编程语言,了解它们之间的区别和相似之处对于编程人员非常重要。下面是关于C、C++面试题的知识点总结:
**变量声明和定义的区别**
在C、C++中,变量的声明和定义是两个不同的概念。变量的声明是指变量的名称和类型的声明,而不分配内存空间。变量的定义是指为变量分配地址和存储空间的过程。一个变量可以在多个地方声明,但是只在一个地方定义。如果一个变量使用extern修饰,那么它只是变量的声明,表明该变量将在文件以外或文件后面部分定义。
**bool、int、float、指针变量与“零值”比较的if语句**
在C、C++中,bool、int、float、指针变量都可以与“零值”进行比较,但是它们的比较方式不同。bool型数据可以直接使用if语句进行比较,int型数据需要使用if(0!=flag)的方式进行比较,指针型数据需要使用if(NULL==flag)的方式进行比较,而float型数据需要使用if((flag>=NORM)&&(flag<=NORM))的方式进行比较。需要注意的是,在int、指针型变量和“零值”比较的时候,把“零值”放在左边,可以避免逻辑错误。
**sizeof和strlen的区别**
sizeof和strlen是两个不同的操作符,sizeof是一个操作符,而strlen是库函数。sizeof可以使用数据的类型或变量作为参数,而strlen只能使用结尾为‘\0‘的字符串作为参数。sizeof的结果是在编译时计算的,而strlen的结果是在运行时计算的。sizeof计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。在使用数组作为参数时,sizeof不会退化,而strlen会退化为指针。
**C语言的关键字static和C++的关键字static的区别**
在C中,static用来修饰局部静态变量和外部静态变量、函数。在C++中,static不仅可以修饰局部静态变量和外部静态变量、函数,还可以用来定义类的成员变量和函数,即静态成员和静态成员函数。static的记忆性和全局性的特点可以让在不同时期调用的函数进行通信,传递信息,而C++的静态成员则可以在多个对象实例间进行通信。
2010-12-18 上传
2022-09-22 上传
2013-04-02 上传
2012-12-31 上传
2011-04-03 上传
LadyZhong
- 粉丝: 18
- 资源: 10
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程