C/C++面试必知:关键知识点解析
需积分: 9 159 浏览量
更新于2024-09-10
收藏 6KB TXT 举报
"这篇文章主要涵盖了C与C++面试中常见的知识点,包括字符编码、运算符优先级、const和static的用法、sizeof操作符、数组和指针的关系、浮点数处理、常量指针与指针常量、初始化数组、字符串处理、C到C++的转换以及const成员函数的使用等。"
1. 字符编码:在C语言中,`char c='\72';`表示将字符变量c赋值为ASCII码为72的字符,即大写字母'H'。
2. 运算符优先级:`10 * a++`遵循先乘除后加减的规则,但`a++`是后置自增运算符,这意味着先使用a的当前值进行乘法运算,然后a的值才增加1。
3. const和static的使用:
- `const`修饰的变量是只读的,不能被修改。
- `static`修饰的变量在函数内部定义时,生命周期贯穿整个程序运行,对于局部变量,每次调用函数时其值会保留。
- `const static`结合使用时,变量在编译时被初始化且不可更改,常用于全局或静态常量。
4. sizeof操作符:用于获取数据类型或表达式的大小,如`sizeof(int)`返回int类型的大小,通常为4个字节(32位系统)。
5. 数组与指针的关系:
- 指针可以用来访问数组元素,如`int i=0;`,`sizeof(int)`返回5是因为在32位系统中,int通常是4字节,因此sizeof(int)是4,但这里可能是指数组的大小。
- 指针运算符`&`和解引用`*`在数组上下文中可以用来获取或修改数组元素。
6. 临时对象与常量对象:临时对象的生命周期短暂,常量对象一旦初始化后就不能修改。
7. 浮点数处理:使用`modf`函数可以将浮点数分解为整数部分和小数部分,如`double modf(double num, double *i);`,`num`的整数部分会被赋值到`*i`。
8. const指针与指针常量:const可以修饰指针的值(指针指向的数据)或指针本身,分别表示指针内容不可变和指针地址不可变。
9. 数组初始化:`int a[10]={1,2,3,4,5,6,7,8,9,10};`定义了一个包含10个元素的数组,初始值分别为1到10。`int *p=&(a+1)[3];`指向数组中的第4个元素(下标为3),输出为5。
10. 字符串处理:字符串常量如`"0011"`存储在程序的只读数据段,而`str1~str8`如果未指定初始值,它们会根据分配的内存空间大小自动填充为0。
11. C到C++的转换:
- C++支持类和对象,而C没有。
- C++有访问控制(public, protected, private),C只有全局和局部。
- C++允许函数重载和运算符重载,C不支持。
- C++引入了构造函数和析构函数,C中没有。
- C++支持成员函数的const限定,C中没有。
12. const成员函数:在C++中,const成员函数用于在对象被声明为const时仍能调用,确保不修改对象状态。
13. mutable关键字:在const成员函数中,可以使用`mutable`关键字使某个成员变量在const上下文中可变。
这些是C和C++面试中常见的技术点,掌握它们有助于提升面试表现。
1415 浏览量
32430 浏览量
105 浏览量
2008-01-24 上传
167 浏览量
121 浏览量
2014-05-30 上传
壹言
- 粉丝: 285
- 资源: 6
最新资源
- 编程语言\java\大学课件JAVA\学习java\Java学习
- 编程新手真言(pdf)
- Struts+in+Action+中文修正版(pdf)
- Hibernate 开发指南(pdf)
- C#编程小技巧和注意事项
- C#完全手册 编程必备
- ibatis中文参考资料
- vs.net使用技巧
- Apress.Pro.Wicket.2006
- TurboCRM 客户关系管理系统解决方案的分析.doc
- jsp的上传与下载说明文档
- ASP.NET 复习
- linux 核心游记 1.0
- MyEclipse6中安装FLEX插件的过程.pdf
- MyEclipse 6 Java 开发中文教程
- CDMA基础资料NOKIA内部资料