(全)近几年科大讯飞软件笔试题目_第1页
(全)近几年科大讯飞软件笔试题目_第2页
(全)近几年科大讯飞软件笔试题目_第3页
(全)近几年科大讯飞软件笔试题目_第4页
(全)近几年科大讯飞软件笔试题目_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2009迅飞软件开发笔试题目(c)卷一1,(4)使用变量A给出以下定义a)整数;b)指向整数的指针;c)指向整数的指针的指针;d)有10个整数的数组;e)指向整数的10个指针的数组;f)指向10个整数数组的指针;g)指向具有整数参数并返回整数的函数的指针;一个由10个指针组成的数组,指向一个有整数参数并返回整数的函数答:a)int a b)int * a;c)国际* * a;d)int a10;e)int * a10;f) int a10,* p=a;g)int(* a)(int)h)int(* a10)(int)2.(4)请写出以下语句的输出:Int i=43。int j=5;双f=25.45181a) printf(i=%d,j=%d,f=%3.2f ,I,j,f);(b)printf(i=%x,j=d,i/j=%d,i,j,i/j);回答:A)i=43,j=5,f=25.45 B)i=2b,j=00005,i/j=8(%x显示一个无符号0x 16整数,d输出6位数,不够6位数,前面加0,i/j两个整数相除,只取商的整数值)3、(2分)请完成以下宏定义:a)用预处理指令#define声明一个常数,指示一年有多少秒(忽略闰年问题)b)编写一个“标准”宏MIN,它输入两个参数并返回较小的一个回答:a)#定义秒365*24*60*60b)定义MIN(a,b) (a)(b)?(a):(b)分机:maxmacro #定义最大值(a)(b)(a):(b)防抱死制动系统宏#定义防抱死制动系统(x) 0)?(x):(-(x)4、(6分)以下32个是窗口下的C程序,请计算:a)char str= hello ;char * p=str请计算:sizeof(str)=sizeof(p)=strlen(p)=1回答:6,4,5b)void func(字符串100)void * p=malloc(100);请计算:sizeof(str)=101sizeof (p)=4c) int a3=1,2,3 ;int b=sizeof(a)/sizeof(a0);请计算:b=3(2分)定义为:int n=0,*p=n,* * q=p;那么在下面的选项中,正确的赋值语句是(d)a)p=1;b)* q=2;c)q=p;d)* p=5;const关键字的目的是什么?(至少解释两个)答:(1)常量常量可以定义,(2)常量可以修改参数、返回值甚至函数的定义体。const修改的所有内容都受到强制保护,这可以防止意外的更改并提高程序的健壮性。7.(2)同义词,常用于C语言中的typedef,用于声明现有的数据类型。它也可以作为预处理器来做类似的事情。例如:#定义dps结构s*Typedef结构s *tps。上述两种情况的目的是将dps和tps定义为指向结构S的指针.哪种方法更好?(如果有的话)为什么?Typedef更好,因为定义只是一个简单的替换,比如声明dps a,b相当于结构a,b;所以这个陈述是错误的,而Typedef不是。以下是一组关于记忆知识的问题。请仔细阅读问题并回答:Void GetMemory(char *p)p=(char *)malloc(100);空隙测试(空隙)字符*字符串=空;GetMemory(字符串);str(str,“hello world”);printf(str);运行测试功能会有什么结果?将出现错误,并且无法传输动态分配的内存。字符串总是空的char *GetMemory(空)char p= hello world );返回p。空隙测试(空隙)字符*字符串=空;str=GetMemory();printf(str);运行测试功能会有什么结果?B)_将产生一个错误,并且不能返回子函数的局部变量值,因为当函数退出时,局部变量值也被清除。void GetMemory2(char *p,int num)* p=(char *)malloc(num);空隙测试(空隙)字符*字符串=空;GetMemory(字符串,100);Strcpy(str,“你好”);printf(str);运行测试功能会有什么结果?c)你好.空隙测试(空隙)char * str=(char *)malloc(100);Strcpy(str,“你好”);免费(str);如果(str!=空)Strcpy(str,“世界”);printf(str);运行测试功能会有什么结果?虽然可以成功复制,但像这样使用它是不安全的。释放(字符串)后,字符串变成一个浮动指针。9.(6)请写出以下程序的输出结果:甲级Public:(a) Printf(“构造的。 n );虚拟A()printf(“解构。 n );虚拟空隙Fn()打印(“一个fn调用。 n );b :公共A级Public:b()printf(“构建的B。 n );虚拟B()printf(“解构。 n );虚拟空隙Fn()打印(B fn调用。 n );Class公共B级Public:(c)printf(C构造。 n );虚拟C()解构。 n );虚拟空隙Fn()printf(“调用了C fn。 n );Void main(int argc,char* grgv)A * pA=新B;If(pA!=空)pA-fn();B * pB=静态演员表(pA);If(pB!=空)pB-fn();C * pC=静态演员表(pA);If(pC!=空)pC-fn();删除pA。a已构建。b建造B fn来电。B fn来电。B fn来电。b解构。解构的。10.(2)以下陈述是错误的:(2)a)指针和引用都可以将参数更改为函数参数b)指针和引用在定义后可以任意改变。c)引用必须在创建时初始化,而指针不是必需的d)不能空引用,但可以有空指针11,(2)下面对多态性的描述是错误的(c)语言多态性分为编译时多态性和运行时多态性b)编译时多态性可以通过函数重载来实现c)运行时多态性可以通过模板和虚拟函数来实现d)实现运行时多态性的机制称为动态绑定12.(2点)运算符有两种重载形式,即class _的成员函数和class _的友元函数13.(2分)在main的主要功能被执行之后,是否有可能执行另一段代码?请解释原因?答:是的,你可以用_onexit()注册一个函数,并在main结束后调用f1、f2、f3、f4。14.对于(2分)C中的空类,默认情况下生成哪些类成员函数?回答:默认构造函数、析构函数、默认复制函数和赋值运算符15、(4)简述STL库的功能,并给出遍历包含一组整数的向量的代码。答:标准模板库是基于模板的容器类库,包括链表、列表、队列和堆栈。标准模板库还包含许多常用的算法,包括排序和搜索。标准模板库的目的是提供一种替代方法来重新开发公共需求。标准模板库已经过测试和调试,性能良好,免费。最重要的是,标准模板库是可重用的。当您知道如何使用标准模板库的容器时,您可以在所有程序中使用它,而无需重新开发它。容器是包含其他对象的对象。标准的C库提供了一系列容器类,它们是帮助C开发人员处理一些常见编程任务的强大工具。有两种类型的标准模板库容器类,顺序和关联。顺序容器可以提供对其成员的顺序和随机访问,而关联容器通过优化的类键值来访问其元素。标准模板库可以在不同的操作系统中移植。#包括#包括使用命名空间标准;整数和(矢量向量)int结果=0;vector:iterator迭代器p=vec . begin();同时(p!=vec.end()cout * p“”;结果=* p;返回结果;int main()向量v1(100);Cout0,(i=1,2,n),对于任何事件B(P(B)0),有:进程和线程之间的区别和联系是什么?进程和线程之间的关系:(1)一个线程只能属于一个进程,一个进程可以有多个线程,但至少有一个线程。(2)资源被分配给进程,并且同一进程的所有线程共享该进程的所有资源。(3)处理器分配线程,即线程实际上在处理器上运行。(4)线程在执行过程中需要协作和同步。不同进程的线程应该使用消息通信的方法来实现同步。线程是指进程中的执行单元,也是进程中的可调度实体。与流程:的区别(1)调度:线程是调度和分配的基本单元,进程是拥有资源的基本单元(2)并发性:不仅进程可以并发执行,同一进程的多个线程也可以并发执行(3)拥有资源:流程是拥有资源的独立单元。线程不拥有系统资源,但是可以访问属于进程的资源。(4)系统开销:当创建或撤销一个进程时,系统的成本明显高于创建或撤销一个线程时的成本,因为系统必须为它分配和回收资源。然而,进程有独立的地址空间。进程崩溃后,它不会影响受保护模式下的其他进程,而线程只是进程中不同的执行路径。线程有自己的堆栈和局部变量,但是线程之间没有单独的地址空间。一个线程的死亡等于整个进程的死亡。因此,多进程程序比多线程程序更健壮。然而,在进程切换中,它们消耗更多的资源并且效率较低。18、(10分)请在没有任何运行时函数的情况下实现以下函数:内部微调_字符串(字符*pstr)该功能的功能如下:1)过滤掉字符串头部和尾部的空格,按回车键和制表符2)输出字符串通过输入字符串指针返回3)如果成功返回0,否则返回非0#包括使用命名空间标准;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论