1 / 11
文档名称:

经典C语言测试题.doc

格式:doc   大小:316KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

经典C语言测试题.doc

上传人:泰山小桥流水 2024/4/15 文件大小:316 KB

下载得到文件列表

经典C语言测试题.doc

相关文档

文档介绍

文档介绍:该【经典C语言测试题 】是由【泰山小桥流水】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【经典C语言测试题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。经典C语言测试题经典C语言测试题经典C语言测试题一个很牛的人出的被众多有名IT企业用作面试题的看似很简单语言测试题C++/C试题本试题仅用于观察C++/C程序员的基本编程技术。内容限于C++/C常用语法,不涉及数据构造、算法以及高深的语法。考试成绩能反响出考生的编程质量以及对C++/C的理解程度,但不可以反响考生的智力和软件开发能力。笔试时间90分钟。请考生认真答题,切勿小瞧。一、请填写BOOL,float,指针变量与“零值”比较的if语句。(10分)提示:这里“零值”可以是0,,FALSE也许“空指针”。比方int变量n与“零值”比较的if语句为:if(n==0)if(n!=0)以此类推。请写出BOOLflag与“零值”比较的if语句:请写出floatx与“零值”比较的if语句:请写出char*p与“零值”比较的if语句:二、以下为WindowsNT下的32位C++程序,请计算sizeof的值(10分)charstr[]=“Hello”;char*p=str;intn=10;请计算sizeof(str)=sizeof(p)=sizeof(n)=voidFunc(charstr[100]){请计算sizeof(str)=}void*p=malloc(100);请计算sizeof(p)=经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,、简答题(25分)1、头文件中的ifndef/define/endif干什么用?2、#include<>和#include“”什么差别?3、const有什么用途?(请最少说明两种)4、在C++程序中调用被C编译器编译后的函数,为何要加extern“声C”明?5、请简述以下两个for循环的优弊端//第一个//第二个for(i=0;i<N;i++)if(condition){{if(condition)for(i=0;i<N;i++)DoSomething( );DoSomething( );else}DoOtherthing( );else}{for(i=0;i<N;i++)DoOtherthing( );}长处:长处:弊端:弊端:四、有关内存的思虑题(20分)voidGetMemory(char*p)char*GetMemory(void){{p=(char*)malloc(100);charp[]="helloworld";}returnp;voidTest(void)}{voidTest(void)char*str=NULL;{GetMemory(str);char*str=NULL;strcpy(str,"helloworld");str=GetMemory( );printf(str);printf(str);经典C语言测试题经典C语言测试题经典C语言测试题2001Page2of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,}}请问运转Test函数会有什么样的结果?请问运转Test函数会有什么样的结果?答:答:VoidGetMemory2(char**p,intnum)voidTest(void){{*p=(char*)malloc(num);char*str=(char*)malloc(100);}strcpy(str,“hello”);voidTest(void)free(str);{if(str!=NULL)char*str=NULL;{GetMemory(&str,100);strcpy(str,“world”);strcpy(str,"hello");printf(str);printf(str);}}}请问运转Test函数会有什么样的结果?请问运转Test函数会有什么样的结果?答:答:五、编写strcpy函数(10分)已知strcpy函数的原型是char*strcpy(char*strDest,constchar*strSrc);此中strDest是目的字符串,strSrc是源字符串。(1)不调用C++/C的字符串库函数,请编写函数strcpy2)strcpy能把strSrc的内容复制到strDest,为何还要char*种类的返回值?六、编写类String的构造函数、析构函数和赋值函数(25分)已知类String的原型为:classString{public:String(constchar*str=NULL);//一般构造函数String(constString&other);//拷贝构造函数~String(void);//析构函数String&operate=(constString&other);//赋值函数private:经典C语言测试题经典C语言测试题经典C语言测试题2001Page3of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,*m_data;//用于保存字符串};请编写String的上述4个函数。经典C语言测试题经典C语言测试题经典C语言测试题2001Page4of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,:C++/C试题的答案与评分标准一、请填写BOOL,float,指针变量与“零值”比较的if语句。(10分)请写出BOOLflag与“零值”比较的if语句。(3分)标准答案:以下写法均属不良风格,不得分。if(flag)if(flag==TRUE)if(!flag)if(flag==1)if(flag==FALSE)if(flag==0)请写出floatx与“零值”比较的if语句。(4分)经典C语言测试题经典C语言测试题经典C语言测试题标准答案示例:constfloatEPSINON=;if((x>=-EPSINON)&&(x<=EPSINON)不行将浮点变量用“==”或“!=”与数字比较,应当想法转变为“>=”或“<=”此类形式。以下是错误的写法,不得分。if(x==)if(x!=)经典C语言测试题经典C语言测试题经典C语言测试题请写出char*p与“零值”比较的if语句。(3分)标准答案:以下写法均属不良风格,不得分。if(p==NULL)if(p==0)if(p!=NULL)if(p!=0)if(p)if(!)二、以下为WindowsNT下的32位C++程序,请计算sizeof的值(10分)经典C语言测试题经典C语言测试题经典C语言测试题charstr[]=“Hello”;char*p=str;intn=10;请计算sizeof(str)=6(2分)sizeof(p)=4(2分)sizeof(n)=4(2分)voidFunc(charstr[100]){请计算sizeof(str)=4(2分)}void*p=malloc(100);请计算sizeof(p)=4(2分)经典C语言测试题经典C语言测试题经典C语言测试题2001Page5of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,、简答题(25分)1、头文件中的ifndef/define/endif干什么用?(5分)答:防范该头文件被重复引用。2、#include<>和#include“”什么差别?(5分)答:对于#include<>,#include“,”、const有什么用途?(请最少说明两种)(5分)答:(1)可以定义const常量(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强迫保护,可以预防不测的改动,能提升程序的强壮性。4、在C++程序中调用被C编译器编译后的函数,为何要加extern“?C”(5分)答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不一样。假设某个函数的原型为:voidfoo(intx,inty);该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。C++供给了C连接交换指定符号extern“C”来解决名字般配问题。5、请简述以下两个for循环的优弊端(5分)for(i=0;i<N;i++)if(condition){{if(condition)for(i=0;i<N;i++)DoSomething( );DoSomething( );else}DoOtherthing( );else}{for(i=0;i<N;i++)DoOtherthing( );}长处:程序简洁长处:循环的效率高弊端:多执行了N-1次逻辑判断,而且弊端:程序不简洁打断了循环“流水线”作业,使得编译器不可以对循环进行优化办理,降低了效率。经典C语言测试题经典C语言测试题经典C语言测试题2001Page6of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,、有关内存的思虑题(每题5分,共20分)voidGetMemory(char*p)char*GetMemory(void){{p=(char*)malloc(100);charp[]="helloworld";}returnp;voidTest(void)}{voidTest(void)char*str=NULL;{GetMemory(str);char*str=NULL;strcpy(str,"helloworld");str=GetMemory( );printf(str);printf(str);}}请问运转Test函数会有什么样的结果?请问运转Test函数会有什么样的结果?答:程序崩溃。答:可能是乱码。因为GetMemory其实不可以传达动向内存,因为GetMemory返回的是指向“栈内存”Test函数中的str向来都是NULL。的指针,该指针的地址不是NULL,但其原strcpy(str,"helloworld");将使程序崩现的内容已经被除去,新内容不行知。溃。voidGetMemory2(char**p,intnum)voidTest(void){{*p=(char*)malloc(num);char*str=(char*)malloc(100);}strcpy(str,“hello”);voidTest(void)free(str);{if(str!=NULL)char*str=NULL;{GetMemory(&str,100);strcpy(str,“world”);strcpy(str,"hello");printf(str);printf(str);}}}请问运转Test函数会有什么样的结果?请问运转Test函数会有什么样的结果?答:答:窜改动向内存区的内容,结果难以预(1)可以输出hello料,特别危险。(2)内存泄漏因为free(str);以后,str成为野指针,if(str!=NULL)语句不起作用。经典C语言测试题经典C语言测试题经典C语言测试题2001Page7of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,、编写strcpy函数(10分)已知strcpy函数的原型是char*strcpy(char*strDest,constchar*strSrc);此中strDest是目的字符串,strSrc是源字符串。(1)不调用C++/C的字符串库函数,请编写函数strcpychar*strcpy(char*strDest,constchar*strSrc);{assert((strDest!=NULL)&&(strSrc!=NULL));//2分char*address=strDest;//2分while((*strDest++=*strSrc++)!=‘\0’)//2分NULL;returnaddress;//2分}(2)strcpy能把strSrc的内容复制到strDest,为何还要char*种类的返回值?答:为了实现链式表达式。//2分比方intlength=strlen(strcpy(strDest,“helloworld”));六、编写类String的构造函数、析构函数和赋值函数(25分)已知类String的原型为:classString{public:String(constchar*str=NULL);//一般构造函数String(constString&other);//拷贝构造函数~String(void);//析构函数String&operate=(constString&other);//赋值函数private:char*m_data;//用于保存字符串};请编写String的上述4个函数。标准答案://String的析构函数String::~String(void)//3分{delete[]m_data;//因为m_data是内部数据种类,也可以写成deletem_data;}经典C语言测试题经典C语言测试题经典C语言测试题2001Page8of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,//String的一般构造函数String::String(constchar*str)//6分{if(str==NULL){m_data=newchar[1];//若能加NULL判断则更好*m_data=‘\0’;}else{intlength=strlen(str);m_data=newchar[length+1];//若能加NULL判断则更好strcpy(m_data,str);}}拷贝构造函数String::String(constString&other)//3分{intlength=strlen();m_data=newchar[length+1];//若能加NULL判断则更好strcpy(m_data,);}//赋值函数String&String::operate=(constString&other)//13分{//(1)检查自赋值//4分if(this==&other)return*this;//(2)开释原有的内存资源//3分delete[]m_data;//(3)分配新的内存资源,并复制内容//3分intlength=strlen();m_data=newchar[length+1];//若能加NULL判断则更好strcpy(m_data,);//(4)返回本对象的引用//3分return*this;}经典C语言测试题经典C语言测试题经典C语言测试题2001Page9of10经典C语言测试题经典C语言测试题经典C语言测试题高质量C++/C编程指南,++/C试题(不要看答案),观察自己的编程质量终归如何。而后参照答案严格打分。1)假如你只得了几十分,请不要张扬,也不要太悲伤。编程质量差常常是因为不良****惯造成的,与人的智力、能力没有多大关系,还是有药可救的。成绩越差,可以进步的空间就越大,中国不就是在落后中赶超发达资本主义国家吗?只要你能下信心改掉不良的编程****惯,第二次考试就能及格了。2)假如你考及格了,表示你的技术基础不错,希望你能虚心学****不停进步。假如你还没有找到适合的工作单位,不如到上海贝尔试一试。(3)假如你考出85分以上的好成绩,你有义务和资格为你所在的团队作“C++/C编程”培训。希望你能和我们多多交流、互相促进。半年前我以前发现一颗好苗子,就把他挖到我们小组来。(4)假如你在没有任何提示的状况下考了满分,希望你能收我做你的徒弟。经典C语言测试题经典C语言测试题经典C语言测试题2001Page10of10经典C语言测试题经典C语言测试题经典C语言测试题

最近更新

水性漆战略市场规划报告 92页

熔锡炉竞争策略分析报告 69页

社区户外美化项目 33页

新型P14大鼠气管插管吸入麻醉模型与箱式模型的.. 2页

新公共管理视角下纳税服务优化研究——以武汉.. 2页

新HSK阅读部分中选词填空题研究中期报告 2页

文物保护新材料评价体系研究的开题报告 2页

文化因素对对外汉语语法教学的影响的开题报告.. 2页

数控装置硬件平台功能安全研究与实现的开题报.. 2页

数据库属性谓词锁的设计与实现的开题报告 2页

数字电影生产线上的数据交换格式研究中期报告.. 2页

数字化变电站系统构建方法及其工程实践的开题.. 2页

教师对学生合作学习的援助策略——社会建构主.. 2页

播存环境中话题挖掘及其在个性化推荐中的应用.. 2页

提高大秦线重载运输能力对策分析的开题报告 2页

推拿疗法治疗小儿轮状病毒肠炎的临床研究的开.. 2页

探析民间美术在动画中的应用的开题报告 2页

挤扩灌注桩水平力响应分析的开题报告 2页

拟南芥生长素相关基因G46的图位克隆及功能研究.. 2页

拉伸和流动诱导聚合物结晶的分子模拟的开题报.. 2页

抗癫痫药物对癫痫患儿骨代谢影响的动态研究的.. 2页

抑癌基因P53和PTEN在卵巢癌组织中的表达及相关.. 2页

扬州地区食管癌患者饮食习惯与不同期食管癌患.. 2页

扎龙湿地水环境现状及保护对策研究的开题报告.. 2页

手机本体的构建及语义映射方法研究的开题报告.. 2页

手机出口国际运营商定制项目管理研究的开题报.. 2页

手持式激光测距仪的研究的开题报告 2页

2024年建筑工程实习总结(15篇) 58页

2024年建筑工程个人年度总结 44页

房地产企业现金流质量分析——以万科企业股份.. 2页