您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > (1912制作)C语言笔试题集之二
1912制作C语言一选择题(50个)1.在程序中可以用来作为变量名的合法的标识符是:_____AstaticB23_b1Cstu_1tD#332.下列运算符运算级别最高的是:_________A&&逻辑运算符:优先级11,12B+=赋值运算符:优先级14C=关系运算符:优先级6D!优先级23已知:charstr1,str2[10];选择正确的输入语句:________Ascanf(%s%c,&str1,str2);Bscanf(%s%s,&str1,str2);Cscanf(%c%c,&str1,str2);Dscanf(%c%s,&str1,str2);str1为字符,str2为数组4选择正确的运行结果:_________#includestdio.hmain(){inta=1,b=10;do{a++;b-=a;b--;}while(b0);printf(a=%d,b=%d,a,b);}Aa=2,b=-1Ba=2,b=-2Ca=4,b=-1Da=4,b=-25.有一个二维数组s[3][4],其第3行第4列元素的正确表示是:________A*(*(s+2)+3)//*(s+2)表示第3行地址,*(s+2)+3表示第三行第四列地址,//*(*(s+2)+3)表示相应的地址的元素B*(s+2)+3Cs[2,3]Ds[3][2]6.以下正确的描述是:_________Acontinue语句的作用是终止整个循环的执行。Bcontinue语句的作用是结束本次循环的执行。Ccontinue语句和break语句都可以在switch语句中使用。Dbreak语句的作用是结束本次循环的执行。7.假定x和y为double型,则表达式x=2,y=x+3/2的值是DA)3.500000B)3C)2.000000D)3.0000008.C语言规定,数组名做实参时,它和对应形参之间的数据传递方式是:______A用户指定传递方式B无传递C单向值传递D地址传递第一部分简答题1.简要说明书的深度优先、广度优先遍历算法,及非递归实现的特点2.请在下面的代码片段中,找出可能有错误或有安全隐患的地方,并写出错误的原因。structcomplex_t3.{4.intreal;5.intimag;6.};7.8.intcreate(complex_t*p,unsignedintn)9.{10.p=newcomplex_t[n];11.if(p==NULL)12.{return-1;13.}14.return0;15.}16.17.intcompute()18.{19.//implement20.complex_t*comps;21.unsignedintnum=0;22.cinnum;23.if(create(comps,num)0)24.{cerrcreatecompsfailed!endl;25.return-1;26.}27.28.longlongintsum=0;29.unsignedintpos=0;30.cinpos;31.while(posnum)32.{cincomps[pos].realcomps[pos].imag;33.cincomps[pos+1].realcomps[pos+1].imag;34.sum+=comps[pos].realcomps[pos+1].real+comps[pos].imagcomps[pos+1].imag;35.pos+=2;36.}37.coutsumissumendl;38.return0;39.}3.假设有一台迷你计算机,有1KB内存和1MKZ处理器(假定1MKZ处理器能够每秒改变10^6次状态)。能够在这台计算机上运行且确定性终止(即运行到某种状态时必然终止,不存在死循环)的所有程序中,最长的运行时间可能是多少?写出你的推理过程,可以做出任意你需要的假定。第二部分算法与程序设计1.一个典型的大型项目,通常有众多组件构成,这些组件之间复杂的编译依赖在构建整个系统时,是最让人头疼的地方之一。现在就有这样的一个大型项目,由N(N1000)个组件构成,每个组件都是可编译的,但组件之间存在着编译依赖,如组件N1依赖N2,即编译N1时,N2必须已经先编译完成,否则N1不能完成编译。虽然整个项目存在着复杂的编译构建过程,但组件之间却没有循环依赖的问题。请设计一种快速算法,能完成整个项目的编译构建过程,并请给出算法的时间复杂度。(设计算法时,请忽略组件的编译时间。另外,请不要考虑并行编译系统)2.实现一个函数的完整代码:intmaxContinuNum(constchar*inputstr,char*outputstr)功能:在以’\0’结尾的字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串赋给其中一个函数参数outputstr所指内存。例如:“abcd12345ed125ss123456789”的首地址传给intputstr后,函数将返回9,outputstr所指的值为123456789要求:不能使用系统函数或标准库提供的函数,例如strlen之类的库函数。第三部分系统设计题URL是uniformResourceLocator的缩写,集统一资源定位符,也就是我们通常所说的网址。为了便于理解,我们将url简化成如下形式,以=baidu为例,后面的部分称为path.每条url都有一些对应的属性,分为定长的属性(如url被系统发现的时间)和不定长的属性(如描述url的文字)。请设计一个系统。要求:1.存储和维护100亿url及其属性2.实现url及其属性的添加,更新和删除(不需要实时)3.给定一批url,判定是否在系统中。如果在系统中,需要得到它的信息。4.快速选出一个站点下的所有url及其属性信息提示:总体url数量巨大,所以有必要把url的存储及相关的计算分布在多台机器上完成。5.写一个函数intMaxContinuNum(constchar*inputstr,char*outputstr)找出一个字符串中最长的连续数字串,返回最长数字串的长度,并将最长字符串存入Outputstr指定的地址,如,abcd1234abd123abcd123456789,最长连续字符串为123456789,长度为9C++面试题(初级)姓名______日期_______1:写出输出voidfun(inti){staticintvalue=i++;coutvalue;}intmain(){fun(0);fun(1);fun(2);}2:引用和指针之间有什么区别?3:比较全局变量和静态变量,试说明两者有何异同.4:分析代码,给出i,j,k的结果.inti,j,k;i=j=k=0;if(++i||j++||++k){}5:说出如下const声明的含义:1.constchar*p2.charconst*p3.char*constp4.charA::fun()const;6:编译下面的代码,会有什么结果?1:voidfun(char);voidfun(char*);intmain(){fun(0);}2:voidfun(int);voidfun(int*);intmain(){fun(0);}7:请写出程序运行的结果classA{public:A(){coutA::A()endl;}~A(){coutA::~A()endl;}};classB{public:B(){coutB::B()endl;}~B(){coutB::~B()endl;}};classC:publicB{Aa;public:C(){coutC::C()endl;}~C(){coutC::~C()endl;}};Aa;intmain(){Cc;}8:请写出程序运行的结果classA{public:A(){coutA::A()endl;}~A(){coutA::~A()endl;}};classB{public:B(){coutB::B()endl;}~B(){coutB::~B()endl;}};classC:publicB{public:C():a(A()),b(B()){}~C(){}private:Bb;Aa;};intmain(){Cc;}9:请写出程序运行的结果#includeiostreamusingnamespacestd;classbase{public:virtualvoidprint()const{coutbase::f()endl;}};classderived:publicbase{public:virtualvoidprint()const{coutderived::f()endl;}};voidprint(constbase&obj){obj.print();}intmain(){base*pb1=newderived();print(*pb1);base*pb2=newbase(*pb1);print(*pb2);baseb=base(derived());print(b);deletepb1;deletepb2;return0;}10:什么是抽象类?11:什么时候需要使用虚拟析构函数?12:抽象基类的抽象虚析构函数一定要有函数体吗?为什么?13:下面的代码是否有错误?如果有错,请说明原因.char*consts=hello;s[0]='a';14:分析如下代码是否存在问题constchar*hello(){returnhelloworld;}intmain(){constchar*pc=hello();coutpc;}15:分析下面代码,指出问题classobj{};1.obj&fun(){objo;returno;}2.obj*fun(){objo;return&o;}3.objfun(){objo;returno;}16:什么是函数重载?17:面向对象有哪三个要素?18:什么是多态?C++如何实现多态?19:构造函数没有返回值,那么如何得知对象是否构造成功?20:编译一个C/C++程序通常有哪几个阶段?21:请指出下面代码存在的问题classCC{int*m_pCount;public:voidclear(){if(m_pCount)deletem_pCount;}CC(){m_pCount=newint;}~CC(){clear();}};22:请指出如下代码的问题所在voidex(){throwexception(exception);}voidfun(){char*buf=newchar[64];ex();delete[]buf;}23:写出程序输出voidex(){throwexception(exception);}voidfun(){try{ex();}catch(exception*){coutexception*endl;}catch(exception&){coutexception&endl}catch(...){cout...endl;}}1.完成下列程序。**.*.*..*..*..*...*...*...*...*....*....*....*....*....*.....*.....*.....*.....*.....*.....*......*......*......*......*......*......*......*.......*.......*.......*.......*.......*.......*.......*.......#include#defineN8intmain(){inti;intj;intk;return0;}2.完成程序,实现对数组的降序排序。#includevoidsort();i
本文标题:(1912制作)C语言笔试题集之二
链接地址:https://www.777doc.com/doc-6249324 .html