华为软件研发笔试详细资料
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
![preview](https://dl-preview.csdnimg.cn/2899902/0001-b076c18c0cd2f9534b446ee4ca9ae90a_thumbnail-wide.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
【华为软件研发笔试详细资料】 华为公司的软件研发笔试题涵盖了编程基础、指针操作、预编译处理、字符串处理等多个方面。以下是对这些知识点的详细解释: 1. 判断题: - 第1题:在C语言中,数组定义`int a[2][2]={{1},{2,3}};`表示a[0][0]=1,a[0][1]未定义,通常默认初始化为0,但这里不能确定其值,因为数组元素未初始化。 - 第2题:`int (*ptr) ()`声明了一个指向函数的指针,而不是一维数组的名字。 - 第3题:指针可以进行比较运算,但必须是相同类型的指针,或者指针和NULL进行比较。 - 第4题:switch语句中的c可以是整型(int, long)和字符型(char),但不能是浮点型(float)。 - 第5题:`#define print(x) printf("the no, %d,is ",x)`宏定义了一个函数式宏,用于打印数值。 2. 填空题: - 第1题:`sizeof(str)`返回数组占用的字节数(取决于字符编码,通常为6),`sizeof(p)`返回指针的大小(通常为4或8字节),`sizeof(n)`返回int的大小(通常为4字节)。在函数内部,`sizeof(str)`只返回形参str的指针大小,而非实际数组大小。 - 第2题:`test`函数会动态分配内存并赋值"hello",然后打印,因此输出"hello"。 - 第3题: `(ptr++)+=123;`相当于`*ptr += 123; ptr++;`,然后`printf("%d,%d", *ptr, *(++ptr))`会先自增ptr,然后输出arr数组的第二个元素和第三个元素。 3. 编程题: - 第1题:`strcmp`函数要求实现不使用库函数比较两个字符串是否相等。基本思路是逐字符比较,直到遇到不同字符或结束符'\0'。 - 第2题:`fun`函数要判断字符串是否为回文,即正读和反读都一样。可以采用双指针法,从字符串两端向中间遍历,比较字符是否相等。 预编译处理: - 预编译是在正式编译前进行的,主要处理#include指令、宏定义和条件编译指令。 - 当代码体较大且不经常改变,或多个模块共享相同的包含文件时,预编译可以提高编译效率。 - `char * const p`:p是一个指向常量的指针,p的值(即它所指向的地址)不可变。 - `char const * p`:与`const char *p`相同,都是指针指向的常量不可变,但指针本身可变。 - `str1 == str2`等比较操作会比较字符串的地址,因为它们是数组变量,所以地址不同,结果为0。 - 在`UpperCase`函数中,`sizeof(str)/sizeof(str[0])`计算的是字符串长度,但由于`str`在函数内是传入的副本,它不包含字符串的结束符,可能导致越界。正确做法是传递字符串长度作为参数。 以上内容是对华为软件研发笔试题中涉及知识点的详细解析,涵盖了指针操作、数组、字符串处理、预编译处理等多个C语言核心概念。在准备此类笔试时,考生应重点掌握这些基础知识,并通过实践来提升编程能力。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- sx11090372013-04-15资源很好用,如果再多点关于java的就好了
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 1
- 资源: 2
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- qqmusichd_4.7.0.5_android_r39612_20151228112921.apk
- qqmusicpad_4.12.1.4_DEFAULT_10003480_release.apk
- da_1718811404508..apk
- C++编辑器DEV-CPP安装包及安装指导
- Roothub-2.6-使用 SSM 和 MySQL 开发的论坛系统.zip
- StudentManagementSystem.java
- 示例代码:java动态代理和cglib代理的简单例子
- 应急响应-linux入侵排查.md
- 基于Springboot的漫画网站(有报告) Javaee项目,springboot项目
- 年金、净现值NPV、IRR、现值PV、终值FV、EAR等常见概念.pdf
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)