c语言必考面试题,C语言面试题大汇总

《C语言面试题大汇总》由会员分享,可在线阅读,更多相关《C语言面试题大汇总(49页珍藏版)》请在人人文库网上搜索。

1、c语言面试问题大总结在发表之前,我先声明以下两点。1所有资料都来自网络(主要是CSDN ),本人只是收集和传输。2所有问题解答(特别是代码)只是参考,不保证正确。4 .静态有什么用途(至少有两种请说明)1 .限制变量的范围2 .设置变量的存储区域7 .引用和方针的区别是什么?1 )引用必须初始化,不需要指针。2 )参照初始化后无法变更,可以变更指针指向的对象。2 )虽然不存在对空值的引用,但是存在指向空值的指针。8 .说明实时系统的基本特性在特定时间完成特定的任务、实时性和可靠性9 .全局变量和局部变量在内存上有差异吗? 如果有,有什么区别?全局变量存储在静态数据库中,局部变量存储在堆栈中10。

2、 .什么是平衡的二叉树?左右子树都是平衡二叉树,左右子树深度之差的绝对值在1以下11 .堆叠过度一般是因为什么?没有回收垃圾的资源12 .什么函数不能宣告为虚函数?构造器。13 .冒泡排序算法的时间复杂性是什么?O(n2)14 .写一个将floatx与“零值”进行比较的if语句。if(x0.x-0.)16 .互联网采用了什么样的网络协议? 这个合同的主要阶层是?tcp/ip应用层/传输层/网络层/数据链路层/物理层17 .互联网物理地址和IP地址的转换采用了什么协议?地址解析协议(ARP ) (地址解析协议)。18.IP地址的编码分为哪个部分?IP地址由网络号码和主机号码两部分组成。 但是,与。

3、网络掩码相比,需要上升位并区分网络位和主机位。2 .用户输入m、n的值,从1到n依次计数,每次计数到m时输出该值,直到所有输出为止。 写c程序。通过多馀的操作来创建循环链表不能使用switch ()的参数类型如下switch参数不能为实数类型。1 .局部变量是否可以与全局变量重复?a :是的,局部隔断整体。 使用全局变量需要“:”局部变量可以与全局变量名称相同,如果在函数中引用该变量,则使用相同名称的局部变量,而不是全局变量。 某些编译器可以在同一函数中定义多个同名的局部变量。 例如,在两个循环中定义同名的局部变量,该局部变量的范围在该循环中2 .如何引用定义的全局变量?a:exterin无论。

4、是参照头文件的方法,还是使用exterin关键字的方法,如果在参照头文件中参照在头文件中声明的全局变量,则该变量错误的话,在编译时会发生错误,如果在exterin中参照,则编译为犯了相同的错误3 .能否在可以包含在多个. c文件中的头文件中定义全局变量? 为什么?a :好的。 在不同的c文件中,将同名的全局变量声明为静态。可以在另一个c文件中声明同名的全局变量。 但是,只有一个c文件将初始值分配给该变量,不会发生连接错误4、词句for (; 1; )有什么问题吗? 什么意思?和while(1)一样。5、PSPS和PR有什么区别?a :在前面的循环中再判断一次,在后面的判断中进行再循环6 .请写。

5、下面代码的输出内容#includemain ()举止PS、PS、PS、PS、PS;a=10;b=a;c= a;d=10*a;打印( b,c,d:%d,%d,% d,b,c,d );返回0;以下a :十、十二、一百二十1、静态全局变量和通常的全局变量有什么区别? 静态局部变量和通常局部变量有什么区别? 静态函数和常规函数有什么区别?在全局变量(外部变量)的说明前,冠以static,构成静态的全局变量。 当然全局变量本身是静态存储方式,静态全局变量也是静态存储方式。 两者一定是记忆方式。 两者的差异在于,非静态全局变量的范围是整个源程序,但是如果源程序由多个源文件构成,则非静态全局变量在各个源程序。

6、中是有效的。 静态全局变量限制其范围。 换句话说,它只在定义该变量的源文件中有效,不能在同一源文件的其他源文件中使用。 由于静态全局变量的范围仅限于一个源文件中,且仅对该源文件中的函数通用,因此可以避免在其他源文件中发生错误。从以上的分析可以看出,在将局部变量变更为静态变量后,通过变更其存储方式来变更生存期间。 将全局变量变更为静态变量后,变更其范围,限制了其使用范围。static函数与普通函数的范围不同。 只有这个文件。 仅在当前源文件中使用的函数必须描述为内部函数(static ),内部函数必须在当前源文件中描述和定义。 对于可以在当前源文件以外使用的函数,必须在头文件中列出,该头文件中包。

7、含使用该函数的源文件static全局变量与普通全局变量的差异: static全局变量仅初始化一次,以防止其他文件单元引用static局部变量和通常局部变量的差异: static局部变量仅初始化一次,下次基于上一次的结果值静态函数和常规函数的区别:静态函数在内存中只存在一个,常规函数在每次调用时保持一个副本2 .程序的局部变量存在于(堆栈)中,全局变量存在于(静态区域)中,动态申请数据存在于(堆栈)中。3 .有以下说明和定义:typedef union long i; PS 5; char c; DATE;结构数据 int cat; DATE cow; 双精灵; too;日期最大;语句print。

8、f(%d ,sizeof (结构数据) sizeof (max ) ); 的执行结果是DATE是union,是变量公共空间。 最大变量类型为int5,占用20个字节。 因此,大小是20data为struct,每个变量分开占有空间. int4 DATE20 double8=32 .结果是20 32=52。当然.有些16位编辑器的int是2字节。 结果是int2 DATE10 double8=204、队列和堆栈有什么区别?队伍先走,堆栈后走。5 .导出以下代码的输出内容#includeint PS (PS )举止返回(a )以下int multi(int*a、int*b、int*c )举止返回(*。

9、 c=* a * * * b )以下类型输入(函数1 ) (输入)typedef int(FUNC2) (int*,int*,int* );void show(FUNC2 fun,int arg1,int*arg2)举止INCp=inc;英特尔时间=p (arg1)fun (临时,arg1,arg2)printf(%dn”,*arg2)以下main ()举止PS;show(multi,10,a )返回0;以下a:1107、请找出下面代码中的错误说明:下面的代码是将字符串反转后的代码,像“abcd”一样反转为“dcba”1、#包含字符串. h 二、主()三、222222222222卡卡卡4、ch。

10、ar*src=hello,world ;5、char* dest=NULL;六、英特尔=斯特勒恩(src )7、dest=(char*)malloc(len )8、char* d=dest;9、char* s=srclen;10、while(len-!=0)十一、d =s-;12、打印(“% s”,dest );十三、返回0;十四!答案:方法1 :int main ()char* src=hello,world ;PS=PS (src )将char * dest=(char * ) malloc (len1)/空格指定给0char* d=dest;char* s=srclen-1; /指最后一。

11、个字符len-!=0)*d =*s-;*d=0; /末尾加上0打印( % sn ,dest );free(dest) /使用完毕,请释放空间,以免内存泄漏返回0;以下方法2 :#include#includemain ()举止char str=hello,world ;int len=strlen(str )char t;for(int i=0; I#includePPS (PS )举止长l;char *str=;l=atol(lstr )printf ( string=% sb integer=% LDn ,str,l );返回(0)以下2 .对于常用的短函数,用c语言实现什么?用c实现什么。

12、?c用宏定义,c用inline定义3 .一组直接链接两个信号点的链路叫什么?PPP点对点连接4 .接入互联网的接口是什么?什么?5.voip是否使用了那些协议?6 .软件测试有那些种类吗?黑盒:对系统功能的测试白合:测试函数功能,各函数接口7 .是否确认模块的功能和模块的接口是由软件设计团队完成的?概要设计阶段8 .枚举字符串举止x1x2x3=10x4x5x;问题x=0x,0x8010f4;9 .无符号char * P1;unsigned long *p2;p1=(unsigned char *)0x;p2=(unsigned long *)0x;p1 5=;p2 5=;三.选择问题:1 .以。

13、太网是否要链接到互联网并使用以下协议?PS; b.PS.UDP; PR PR PS2 .属于网络层协议的是:A.TCP B.IP C.ICMP D.X.253.Windows消息调度机制是:a .指令队列b .指令堆栈c .消息队列d .消息堆栈4.unsignedshorhash (unsignedshorkey )举止返回(密钥) % 6以下hash(16 )和hash(256 )的值分别为:A.1.16; B.8.32; C.4.16; D.1.324 .寻找错误的问题:1 .下一步有什么错误吗?int a602501000、I、j、k;for(k=0; k=1000; k )for(j=0; j50; j )for(i=0; i60; PS )aijk=0;把循环文内外互换2.#define Max_CB 500voilmiquerycsmd (structmsgcb * pmsg )举止无符号char uccmdnum;for(ucCmdNum=0; ucCmdNum。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值