c定义一个整型数组_求职“笔试经”第十四弹:这道C语言数组题仅一半人答对?(华为硬件逻辑岗)...

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我!

b56ef93fdd2ba04afef7ec069ed9c81a.gif 7ce32767661ed8882bd7ff5d7960fe46.gif

本期要解析的四道题目主要涉及C语言相关的基础考点,上周共有150多位同学参与答题(查看答题结果>>)。从整体来说,同学们做的还是可以的,比之前几期的正确率要高,毕竟C语言是我们最常用的编程语言之一。

本篇解析完C语言题目之后,文末留下了华为硬件逻辑实习岗的最后4道和FPGA相关的题目,大家可以提前做一下。

达尔闻求职笔试经系列 专注解析各大公司经典笔试题,希望帮助到更多求职人,欢迎大家投稿。 目前笔试经固定在每周二更新,如果大家有其他需求,可以进入达尔闻求职微信交流群添加妮姐微信459888529 ,注明: 求职。 华为硬件逻辑岗整套题目都解析完毕,我们会做一个对整套题型的分析,从全局把控告诉大家,针对笔试我们该复习哪些内容、如何准备。现在 让我们一起来看看 C 语言题目的解析。 36 (正确率67%) 下列描述中,不属于面向对象思想主要特征的是(   )。(华为硬件逻辑实习岗) A 跨平台性             B 继承性 C 封装性               D 多态性 解析: 本题目主要考察了对面向对象概念、特点的理解 编程方式有两种: 面向过程编程( POP )和面向对象编程( OOP )。 我们可以任意选择一种方式来编写程序,但这这两种编程方式是有区别的。 简单来说 , POP 与 OOP 之间的区别可以这样解释: POP 可以编写一个简单的程序,但当程序变得更加复杂的时候,此时用 POP 将比较低效率,整个编程过程将更加艰难,花更多的时间debug 等等。而在同样复杂度下, OOP 比 POP 高效得多。在软件开发中,业界都遵循 OOP 原则,会让团队协作编程变得简单。同时, OOP 具有较高的代码重用性。 从思维方式上来讲 ,是对现实问题的建模方式不同。 POP 把问题分解成一个个过程,一步步实现这些过程,问题就得到了解决。而 OOP 把问题看成一系列对象之间的交互,设计出这些对象以及对象之间的交互,问题就得到了解决。 从程序的本质上来讲 ,是对算法以及数据的重视程度的不同。程序的本质是算法和数据。 POP 重视算法,忽视数据。 OOP 编程侧重点在数据,对算法的重视程度不如面向过程编程。对数据的重视使面向对象编程具有 封装性,继承性和多态性 的特点,就是把所有的属性都放置在一个固定的地方,然后提供一个 接口供你使用,而你只能够使用这些属性,而不用知道它们是如何的定义 的,从而在各方面提高了编程的效率。 封装性: 指将数据和算法捆绑成一个整体,这个整体就是对象,描述对象的数据被封装在其内部。如果需要存取数据,可以通过对象提供的算法来进行操作,而无需知道对象内部的数据是如何表示和存储的。这种思想被称为信息隐藏。 继承性: 指一种事物保留了另一种事物的全部特征,并且具有自身的独有特征。 多态性:指当多种事物继承自一种事物时,同一种操作在它们之间表现出不同的行为。

2ab0e3747ebf8f666c6399d434a83b40.png

37 (正确率76%) 如果有如下程序int a[5]={1, 2, 3, 4, 5}, *p=a; 则数值为4的表达式是(   )。(华为硬件逻辑实习岗) A *(p+3)            B * p +=4 C p+3               D *p+4 解析: 本题目主要考察了如何通过指针访问一维数组中的元素 这道题的正确率还是很高的,说明大家对这块内容掌握的不错。在做题目之前,大家对应该对指针和数组存在着怎样的关系都有所了解。学过 C语言的同学都应该知道:一个变量的地址称为该变量的指针,而数组的名字代表的又是数组首元素的地址,这样我们就可以将指针和数组联系起来了,也就是数组名等同于指向数组首元素的指针,对应题干具体关系如下图所示: 34376222a891e44bf524530513a711a2.png 下面我们对每个选项进行分析,然后再通过编译器进行验证。 A选项: 根据上图的所表达的关系,我们可以知道*(p+3)符合题干的要求,是正确的选项。我们在CodeBlocks编译器上编写的代码和运行的结果如下:

5bcf74ad347a429897ec18d43b2867f5.png

07669946ef708bffb3bb95c8e81a1090.png B选项: *p+=4这个需要特别注意,首先我们要知道“*”表示的是指针的运算符,且优先级高于“+=”,所以*p+=4也可以写为(*p)+=4,即为(*p)=(*p)+4,*p的值为1,(*p)=(*p)+4=5。我们在CodeBlocks编译器上运行的结果如下:

81d88f0d225857262ea7cc7ceef57137.png

40189d1ec9724e7c9e12cfe736c27e7d.png

C选项:p+3表示的是指针指向的地址空间,我们用这种方式最后得到的不是a[3]的值,而是指向a[3]这个空间的地址值,这个值是计算机自动分配的,具体的值我们也不知道是多少,只能通过编译器来查看。我们在CodeBlocks编译器上运行的结果如下:

d54d832a92452832ab29a3279a69204f.png

bd4058f61b767240a96375a1e77426a3.png D选项: *p+4和B项类似,“*”指针运算符的优先级高于“+”,所以*p+4也可以写为(*p)+4,结果为5。我们在CodeBlocks编译器上运行的结果如下:

94dcfc7bd8310039ff44dbac28a589a7.png

d1e1b2b6c47509e032e6f11e5cae4abc.png

38 (正确率40%) C语言中,实型常数是按(   )处理。(华为硬件逻辑实习岗) A double              B long double C 其他都不对       D float 解析: 本题目主要考察了 C语言中的数据类型

实型数据分为实型常量和实型变量,在计算机中的实型数以浮点形式表示。

实型常量既可以是实数,也可以是浮点数,如3.14159等。实型常数不分单、双精度,都按双精度double型处理。

实型变量分为单精度型(float)、双精度型(double)和长双精度型(long double)。

2ab0e3747ebf8f666c6399d434a83b40.png 39 (正确率52%) 下列定义不正确的是(   )(华为硬件逻辑实习岗) A int *p, i;             B int i, *p=i; C int i, *p;               D int *p=&i, i; 解析: 本题目主要考察了指针变量定义的相关问题 A选 定义了一个指向整型的变量的地址p和一个整型的变量i。 这种定义是可以的。 B选 定义了一个整型的变量i和一个指向整型的变量的地址p,且变量p的值初始化为变量i,p是多少要看i具体分配的空间所占用的地址。 这种定义是可以的。 C选 定义了一个整型的变量i和一个指向整型的变量的地址p。 这种定义是可以的。 D选项 定义了一个指向整型的变量的地址p,且变量p的值初始化为变量i的地址和一个整型的变量i,但问题是变量i在*p=&i之后被定义,此时会编译器会报出一个error: ‘i’undeclared,需要把i的定义放到*p=&i之前,题目中的这种定义是不可以的。

b8e6faacbdea2d66288d0933af885e19.png

下一期我们将对本套题的最后4道题,也是和FPGA相关的题目进行详细的解析,大家可以提前做一下。 END 308b6baf9751458a09e714fc27ed5b7a.png

目前,我们安排的是每周二更新求职笔试经系列,计划涵盖的公司包含:华为,京东,大疆,商汤,中兴,CVTE,AMD,海康威视,黑金,汇顶等。(会陆续补充)

达尔闻 求职“笔试经”系列:

第一弹:华为硬件逻辑岗

第二弹:海康威视硬件岗

第三弹:华为硬件逻辑岗

第四弹:华为硬件逻辑岗&通用硬件岗

第五弹:华为硬件逻辑岗&硬件通用岗

第六弹:华为硬件逻辑岗

第七弹:华为硬件逻辑岗

第八弹:大华嵌入式岗

第九弹:紫光展锐数字IC岗(编程题)

第十弹:华为硬件逻辑岗

第十一弹:华为硬件逻辑岗

第十二弹:华为硬件逻辑岗(模电与数电)

第十三弹:华为硬件逻辑岗(信号与处理)

达尔闻 求职“面试经”系列 从无人机爱好者到获得DJI大疆Offer offer拿到手软,最后选华为!

960e44f92b2b9077e67dee0c76e7751c.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值