"2013年斐讯笔试题包含了软件C++相关的编程问题,主要涉及C语言的基础知识,如头文件的包含方式、全局变量的引用、宏定义、数据类型定义以及程序设计等。"
在2013年的斐讯校园招聘笔试中,考察的C++知识点主要包括以下几个方面:
1. **头文件的包含方式**:
- `#include<filename.h>` 是用于包含系统库文件,编译器会先从标准库路径开始查找。
- `#include"filename.h"` 则是用于包含用户自定义的头文件,编译器会首先在当前源文件所在的目录下查找。
2. **全局变量的引用**:
- 使用 `extern` 关键字可以引用已定义的全局变量。如果通过头文件引用,编译阶段会进行检查,错误会立即发现;而直接使用 `extern` 声明并在链接阶段才检查,错误可能在链接时才暴露。
3. **宏定义**:
- 定义了一个名为 `MIN` 的宏,用于比较两个参数并返回较小的一个。宏定义 `(A)<=(B)?(A):(B)` 利用了三目运算符,如果 A 小于等于 B,则返回 A,否则返回 B。
4. **C语言的数据类型定义**:
- 这部分要求理解不同类型的变量声明,包括基本类型、指针、数组、多级指针、函数指针等复杂类型。
- a) 整型数:`int a;`
- b) 指向整型的指针:`int *p;`
- c) 指向指向整型的指针:`int **pp;`
- d) 10个整型数的数组:`int arr[10];`
- e) 10个指向整型的指针数组:`int *arr[10];`
- f) 指向10个整型数组的指针:`int (*p)[10];`
- g) 指向接收整型参数并返回整型的函数指针:`int (*func_ptr)(int);`
- h) 10个指向此类函数的指针数组:`int (*func_ptr_arr)[10]();`
5. **程序设计**:
- 要求编写程序实现简单的计算功能,如处理表达式 `1+2*(3+4)`,这涉及到解析字符串、运算符优先级和括号处理等高级话题。
- 另一个例子是打印99乘法表,这段代码展示了如何用嵌套循环来实现乘法表的输出,`for` 循环用于控制行和列,输出对应的乘积。
这些题目涵盖了C++编程的基础,对于应聘者来说,熟悉这些概念和技能是非常必要的。同时,题目也暗示了斐讯公司对求职者的编程基础和逻辑思维能力有一定的要求。