48天笔试强训——第6天

219 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情


选择题

image.png

本题考查进制转换,10进制转8进制,就是用100不断除以8,得到的余数就是8进制的每一位。

image.png

我们注意printf的转换说明,%%只会打印一个%,所以选A。

image.png

由于()的原因p先和*结合,说明p是一个指针,指向一个数组,该数组是长度为16的字符数组。

image.png

a表示首元素的地址,对与二维数组,首元素是第0行数组的地址。明显D选项还是一个地址。

image.png

define就是直接替换就行了,替换之后正常计算就可以,注意优先级就可以。

image.png

画递归展开图,细心一点即可。没有难度。

image.png

free`之后不会自动的把指针变量制成NULL,需要手动处理

image.png

a+1指向数组的第二行,*解引用会找到第二行的首元素的地址,+2指向第3个元素。所以选B。

image.png

a1(0 ~ 7),a2(8~ 9),浪费(10 ~ 11),a3(12~ 15),a4(16~23),共24个字节的大小,也是最大对齐数8的整型倍。选A。

image.png

该题也比较简单,也是把递归展开就可以了。

编程题

不要二

通过理解题目意思,我们可以看出当某一个位置放蛋糕之后,它的右边隔一个位置的下一个位置不能放蛋糕,下面隔一个位置的下一个位置也不能放蛋糕。我们根据这个思路,假设全部的位置都可以放蛋糕——可以放蛋糕的为1。我们从第一个位置开始,第一个位置可以放蛋糕,然后遍历数组的全部数字,同时看该位置是不是0(0表示该位置不能放蛋糕),然后把该位置的后面的第二个位置修改成0,该位置的下面的第二个位置修改成0,最后就可以得出有多少个蛋糕,可以遍历数组看有多少个1,也可以在判断可不可以放蛋糕的时候也开始计算。

把字符串转换成整数

首先要判断是不是满足转换的要求。,但是要注意第一个位置是否为+ -,这是要单独处理的,如果满足转换的要求,我们从第一个不是+ -的位置开始开始转换,转换的方法为,该字符减'0'乘以10累加。最后返回累加的结果,注意正负。