c语言面试题目100及最佳答案.doc

c语言面试题目100及最佳答案.doc

ID:57300813

大小:52.51 KB

页数:51页

时间:2020-08-10

c语言面试题目100及最佳答案.doc_第1页
c语言面试题目100及最佳答案.doc_第2页
c语言面试题目100及最佳答案.doc_第3页
c语言面试题目100及最佳答案.doc_第4页
c语言面试题目100及最佳答案.doc_第5页
资源描述:

《c语言面试题目100及最佳答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、c语言面试题目100及最佳答案作为IT行业人士需要掌握的最基本的计算机语言—c语言,如今的地位只高不低,c语言掌握程度的高低往往在面试的时候可以完全表现出来,而有些问题是大家平时似乎是知道的,但却不能完整准确地回答上来的,今天大家带来精心整理的C语言经典面试题,希望对大家有所帮助。1、请填写bool,float,指针变量与“零值”比较的if语句。提示:这里“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”比较的if语句为:if(n==0)if(n!=0)以此类推。(1)请写出boolflag与“零值”比较的if语句:【标准答案】if(flag)if(!f

2、lag)100条经典C语言笔试题目(2)请写出floatx与“零值”比较的if语句:【标准答案】constfloatEPSINON=0.00001;if((x>=-EPSINON)&&(x<=EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。100条经典C语言笔试题目(3)请写出char*p与“零值”比较的if语句【标准答案】if(p==NULL)if(p!=NULL)2、以下为Linux下的32位C程序,请计算sizeof的值。charstr[]=“Hello”;char*p=str;intn=10;请计算(1)sizeof(

3、str)=(2)sizeof(p)=(3)sizeof(n)=【标准答案】(1)6、(2)4、(3)4(4)voidFunc(charstr[100]){……;}请计算sizeof(str)=(5)void*p=malloc(100);请计算sizeof(p)=【标准答案】(4)4、(5)44、用变量a给出下面的定义e)一个有10个指针的数组,该指针是指向一个整型数的;f)一个指向有10个整型数数组的指针;g)一个指向函数的指针,该函数有一个整型参数并返回一个整型数;h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数;【标准答案】e)int*a[1

4、0];f)int(*a)[10]g)int(*a)(int);h)int(*a[10])(int)5、设有以下说明和定义:typedefunion{longi;intk[5];charc;}DATE;structdata{intcat;DATEcow;doubledog;}too;DATEmax;则语句printf("%d",sizeof(structdate)+sizeof(max));的执行结果是:_____【标准答案】DATE是一个union,变量公用空间.里面最大的变量类型是int[5],占用20个字节.所以它的大小是20data是一个struct,每个变量分开占用空间.依

5、次为int4+DATE20+double8=32.所以结果是20+32=52.当然…在某些16位编辑器下,int可能是2字节,那么结果是int2+DATE10+double8=206、请问以下代码有什么问题:intmain(){chara;char*str=&a;strcpy(str,“hello”);printf(str);return0;}【标准答案】没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。7、请问以下代码有什么问题:char*s=“AAA”;printf("%s",s

6、);s[0]=‘B’;printf("%s",s);有什么错?【标准答案】“AAA”是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosntchar*s=“AAA”;然后又因为是常量,所以对是s[0]的赋值操作是不合法的。8、int(*s[10])(int)表示的是什么啊【标准答案】int(*s[10])(int)函数指针数组,每个指针指向一个intfunc(intparam)的函数。9、c和c++中的struct有什么不同?【标准答案】c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struc

7、t和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private10、voidgetmemory(char*p){p=(char*)malloc(100);strcpy(p,“helloworld”);}intmain(){char*str=NULL;getmemory(str);printf(“%s/n”,str);free(str);return0;}会出现什么问题?【标准答案】程序崩溃,getmemory中的mal

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。