2021年CC笔试题大全.doc

  1. 1、本文档共122页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.static有什么用途?(请至少阐明两种) 1)在函数体,一种被声明为静态变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一种被声明为静态变量可以被模块内所用函数访问,但不能被模块外其他函数访问。它是一种本地全局变量。 3) 在模块内,一种被声明为静态函数只可被这一模块内其他函数调用。那就是,这个函数被限制在声明它模块本地范畴内使用 2.引用与指针有什么区别? 1) 引用必要被初始化,指针不必。 2) 引用初始化后来不能被变化,指针可以变化所指对象。 3) 不存在指向空值引用,但是存在指向空值指针。 3.描述实时系统基本特性 在特定期间内完毕特定任务,实时性与可靠性。 4.全局变量和局部变量在内存中与否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。 5.什么是平衡二叉树? 左右子树都是平衡二叉树 且左右子树深度差值绝对值不不不大于1。 6.堆栈溢出普通是由什么因素导致? 没有回收垃圾资源。 7.什么函数不能声明为虚函数? Constructor(构造函数)函数不能声明为虚函数。 8.冒泡排序算法时间复杂度是什么? 时间复杂度是O(n^2)。 9.写出float x 与“零值”比较if语句。 if(x0.000001x-0.000001) 10.Internet采用哪种网络合同?该合同重要层次构造? Tcp/Ip合同 重要层次构造为: 应用层/传播层/网络层/数据链路层/物理层。 11.Internet物理地址和IP地址转换采用什么合同? ARP (Address Resolution Protocol)(地址解析協議) 12.IP地址编码分为哪俩某些? IP地址由两某些构成,网络号和主机号。但是是要和“子网掩码”按位与上之后才干区别哪些是网络位哪些是主机位。 13.顾客输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至所有输出。写出C程序。 循环链表,用取余操作做 14.不能做switch()参数类型是: switch参数不能为实型。 上海华为一道关于指针方面编程题 int A[nSize],其中隐藏着若干0,别的非0整数,写一种函数int Func(int* A,int nSize),使A把0移至背面,非0整数移至数组前面并保持有序,返回值为原数据中第一种元素为0下标。(尽量不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路) 华为笔试题含答案 [软件工程题] 写一种程序,规定功能:求出用1,2,5这三个数不同个数组合和为100组合个数。 如:100个1是一种组合,5个1加19个5是一种组合。。。。 请用C++语言写。 答案:最容易想到算法是: 设x是1个数,y是2个数,z是5个数,number是组合数 注意到0=x=100,0=y=50,0=z=20,因此可以编程为: number=0; for (x=0;x=100;x++) for (y=0;y=50;y++) for (z=0;z=20;z++) if ((x+2*y+5*z)==100) number++; coutnumberendl; 上面这个程序一共要循环100*50*20次,效率实在是太低了 事实上,这个题目是一道明显数学问题,而不是单纯编程问题。我解法如下: 由于x+2y+5z=100 因此x+2y=100-5z,且z=20 x=100 y=50 因此(x+2y)=100,且(x+5z)是偶数 对z作循环,求x也许值如下: z=0,x=100,98,96,... 0 z=1,x=95,93,...,1 z=2,x=90,88,...,0 z=3,x=85,83,...,1 z=4,x=80,78,...,0 ...... z=19,x=5,3,1 z=20,x=0 因而,组合总数为100以内偶数+95以内奇数+90以内偶数+...+5以内奇数+1, 即为: (51+48)+(46+43)+(41+38)+(36+33)+(31+28)+(26+23)+(21+18)+(16+13)+(11+8)+(6+3)+1 某个偶数m以内偶数个数(涉及0)可以表达为m/2+1=(m+2)/2 某个奇数m以内奇数个数也可以表达为(m+2)/2 因此,求总组合次数可以编程为: number=0; for (int m=0;m=100;m+=5) { number+=(m+2)/2; } coutnumberendl; 这个程序,只需要循环21次,两个变量,就可以得到答案,比上面那个程序高效了许多 倍----只是

您可能关注的文档

文档评论(0)

173****6081 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档