首页 > 教师教育 > 全面试题C和C++基础知识10道题含答案

全面试题C和C++基础知识10道题含答案

类别:试题 整理时间:2023-10-08 13:27:54


面试题C和C++基础知识10道题含答案题目1:指针基础知识题述描述指针数组和数组指针(指向数组的指针)的区别并举例考察点C指针的基础知识答案考虑如下char*q[]={xxxxxxxxx;指针数组q

[0]为一个指char(*p)[]=a;数组指针p

[0]为一个变量时间lmin题目2:内存分配题述描述c程序内存分配方式以及它们的区别(5分钟)考察点编程基础参考答案1)从静态存储区域分配内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在例如全局变量,static变量2)在栈上创建在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放栈内存分配运算内置于处理器的指令集3)从堆上分配亦称动态内存分配程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存动态内存的生存期由程序员决定题目3:读程序找错问题【找错类】下面的程序用于读取整数,整数的范围在1和从标准个错误,请指出QOmin)#includestdlib.hInt*frequencyintsizeInt*array;Inti;array=int*mallocsize*2;#获得足够的内存来容纳计数#调整指针,让它后退一个整形位置,这样就可以使用范围1-size的下Array-=1;#把各个元素清零Fori=0;isize;i++Array[i]=O;#计数每个值出现的次数然后返回结果Whilescanf”%d”i=二1#scanf的返回值代表成功读入的个数Array[i]+=1;Freearray;Returnarray;错误点:1用字面值常量2作为整型值的长度,这个值在整型值长度为2个字节的机器上能正常工作,但在4字节整数机器上,实际分配的内存将只是所需内存的一半,所以应该用sizeof2从malloc函数返回值未被检查,如果内存不足,将返回NULL3把指针退到数组左边界的左边来调整下标的范围或许行得通,但它违背了标准关于指针不能越过数组左边界的规定4指针经过调整后,第一个元素的下标变成了1接着for循环将错误地从0开始在许多系统中,这个错误将破坏malloc所使用的用于追踪堆的信息,常常导致程序崩溃5数组增值前并未检查输入值是否位于合适的范围内;6如果数组应该被返回它就不能被free掉题目4:读程序确认返回值求函数返回值,输入x=9999;intfuncintxintcountx=0;whilexcountx++;returncountx;【问题】请写出该函数的返回值以及分析过程10分钟参考答案8解这道题的时候,如果拿出一个二进制数来分析就会容易的多了x二xx-l实际上就是把x的二进制形式的最后一个T变成0x的二进制形式有多少个1〃循环就执行多少次9999/256=39余15把这两个数分别转化一下就很快了39=32+4+2+1=0010011115=Of=00001111所以,共有8个1答案就是8了考察点c编程基础知识题目5:实现strndup函数请编写以下功能的函数char*strndupchar*srcfintn;复制字符串src返回新的指针地址最多复制n个字直包括字符串结束的‘1该题目的审直要点是I是否检查参数的有效性srcn;I是否能正确使用内存申请函数和指针;I对于”最多复制n个字节”的要求考虑是否周到题目6:合并两个有序链接合并两个有序升序链接typedefstruct_link_tintval;structlinkt*next;}link_t;link_t*mergelink_t*lnlzlink_t*In2;题目7(本题答案不全):实现子序列最大和给定一个int数组,给出其中连续子序列的最大和unsignedintfoo(int*arrsize_tlen);例子1数组[211-413-52]中具有最大累加和的子数组为[11-413]其和为20;例子2:[1-34-2-16]中具有最大累加和的子数组为[4-2-1例其和为70题目8(本题答案不全)字符串排序有一个由字母(大小写)组成的字符串,要求对其排序,要求效率尽可能高且辅助空间尽可能少实现voidsortchar*s;返回写入so题目9(本题答案不全)字符串反转写代码反转一个字符串,要求交换的次数和辅助空间尽量少实现voidreverse(char*s);返回写入s0题目10本题答案不全楼梯走法走楼梯可以一次上1级,也可以一次上两级,请问上n级台阶有几种走法n不超过10K要求效率尽可能高实现unsignedintcountunsignedintn;。

关键词:
全面 试题 基础知识
* 提醒:移动端部分功能限制,建议您到电脑端下载资源。
* 声明:资源收集自网络或用户分享,版权归原作者所有。