华为C语言笔试题及答案解析
需积分: 22 133 浏览量
更新于2024-09-17
收藏 208KB PDF 举报
"C语言笔试(华为).pdf"
这篇资源主要涵盖了华为公司针对C语言的一次笔试题目,包括判断题、填空题和编程题,旨在测试应聘者的C语言基础知识和编程能力。以下是对这些题目的详细解析:
一、判断题:
1. 错误(F)。数组定义inta[2][2]={{1},{2,3}};表示a[0][0]=1, a[0][1]=2, a[1][0]=3, a[1][1]=2,因此a[0][1]的值为2,不是0。
2. 错误(F)。int(*ptr)()表示ptr是一个指向函数的指针,而不是一维数组的名字。
3. 错误(F)。指针在某些情况下不能进行比较运算,例如如果它们指向不同类型的对象,或者如果其中一个是NULL,这样的比较可能没有意义或导致未定义的行为。
4. 错误(F)。switch(c)语句中的c不能是float类型,因为switch语句通常用于整型或枚举类型。
5. 正确(T)。宏#defineprint(x)printf("the number,"#x", is")用于将参数x转换为字符串并在打印时使用。
二、填空题:
1. sizeof(str)在Windows下是6,因为字符串"Hello"加上结束符'\0'共6个字符;sizeof(p)是4,因为指针在大多数系统上占用4个字节;sizeof(n)是4,因为int在32位系统上通常是4字节。
2. 运行test函数会导致程序崩溃,因为str是一个空指针,而在调用strcpy(str, "hello")时试图复制字符串到未分配的内存。
3. 输出是9,10,因为*(ptr++)+=123将arr[0]加123变为9,然后*(++ptr)即arr[1]保持不变为10。
三、编程题:
1. 函数intstrcmp(char*source, char*dest)用于比较两个字符串是否相等。实现时,可以逐个比较字符直到遇到'\0'或发现不匹配的字符,返回相应的结果。
2. 函数intfun(char*p)用于判断字符串是否为回文。可以通过双指针法,一个指针从前往后,另一个从后往前,同时移动,直到相遇或发现不匹配字符,根据情况返回相应的结果。
此外,还提供了关于C语言中局部变量与全局变量的一些基本知识:
1. 局部变量可以在函数内部与全局变量同名,此时局部变量会遮蔽全局变量,若要访问全局变量需使用作用域解析运算符::。
2. 在同一个函数内部,可以多次定义同名的局部变量,其作用域限制在定义它的代码块内。
以上就是对华为C语言笔试题目的详细解析,这些题目覆盖了C语言的基础语法、指针操作、内存管理、字符串处理以及变量作用域等多个关键知识点。通过这些题目,应聘者可以检验自己的C语言编程基础和理解能力。
2021-09-30 上传
152 浏览量
2017-11-30 上传
2011-08-04 上传
2021-09-30 上传
2011-08-04 上传
2008-10-23 上传
2021-11-14 上传
2021-09-30 上传
yuhongwei123456
- 粉丝: 0
- 资源: 2
最新资源
- BangBang教育:家庭作业
- 145026,c语言种子解析下载源码,c语言
- AutoSplitterJourney
- 一个个人文件管理系统的源码脚手架r-pan基于此脚手架搭建快速搭建个人文件管理系统
- gchisto:GC日志分析工具,网上不容易找到原始码,这里备份一个。不确定工具是否正确,不确定是否有时间研究
- H5手机端免费问卷调查平台系统aspnet源码
- assistant:自动化的个人助理,可帮助您前进并跟踪您的成绩,以获得良好生活
- 虚拟DVD精灵 VirtualDVD 9.2 中文.zip
- evikd,c语言项目文档以及源码,c语言
- tts-40k-roller:台式模拟器上用于战锤40k的压模辊
- 【ssm管理系统】实现的在线考试系统.zip
- 音听故事个人网站
- cacheman-file:Node.JS的文件缓存库,还有cacheman的缓存引擎
- OLML:各种日常的自动化办公工具
- nix-container-perfzero:在XSEDE环境中运行perfzero基准测试的容器
- TORZ,c语言开源软件源码下载,c语言