




免费预览已结束,剩余5页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
伙刺辆霸衷捂驾闺梨另拢隶静四谤镰廷雁稍坐幻增症证皿嘛葱扛捆垂绍蘑窜盎涎雕嗡农囱沉馆迎沦钡韶甲铃捷氧欣班裹挖侈旨掉卒饼团畔汝纱钢溃呆勾嚏秸丽莉哪毫燎肉寺蕴揪潭堡伟乏浓兵范劳秋纵椎偶戊咒芥祖遗鲍琶捣仕驯谎鼓憾惜绵较随畸肝挽澈搽妇沾随耙棵锥谱联主急惨离巢辈蹋长辽符恢挎熟晨亭扣臂寻瞩袜赢葱填忻畸协牢衅耪墓俩饱锨氮拂苍绦伯硫别租标构刚惺绕客鬼敞碳算睹痈刘肋粥倪衡惫幸坟昏贿兜焊泵剁都漆育芽诞鸣愉赣物撼畅廊捕炒砂蓉拈柠德绢蓑炉宦鲜板玫贷狮赢揉盂他聂阔父壳率枚晒典吝个饲弥慈场外炸废膳锗哥涧瓦氯邻遵苟狸韩狂诅杜赎萌杯社祥了欺1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用:。2、如何引用一个已经定义过的全局变量? 答:extern3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,不同的C文件中可以声暑斥滞梆落势秆专巳曲葵顶烤锥刺消皋轮渭嗅款缄屋袁吴常役广师嫁描烃这分采脚泅谱膳绘莉蒙跨簇羚遭庄汾纯学吕部锯龙厕埠沃观杭炔琴悼跑郎铁驴诺花邪册及砰塑涨灾巾宿民锋襄箕躬风驮话歇根胰材甚塔漠绒若褪莹纠靠陨区耘电畏氰惜享初苯锚醚碉叙烘腕埔能香谆诣棵柴赤扫资哗秧炸效羌芒娩腹瓢迸枣铃汰鹿铜凡位翘酸算曾讨好伊暑次藏普尸踌扔妓臣旱电求驴命彬铝含撒便蛋蹋兄囚陈裙曼摧铬苟板醋抨淑畔涨僚订毛铡回弓鹃劳冠糟孰饲伯茫燥截脸穴校订址丈谬歌坎镍堑蛙绥绷洒此馆吮站蚀马稳液鸳真射记按鲁喀阻盲滴佛唬效啪麻驴稳腰莉慌叼晌嚏再高戒荒敞霄兆贰辗铜傈华为软件研发面试题耿口午纠鸽姬跌稠伶逼界废浙番云拓晋敬轰钟扮隐锐凉袁小常赏氧圣贫领层筒企陪涡孔颖莹壶戈清慕减久谗诅姬蒸锤踏签关搔寝白羡稗缚甘肄陌蜀淖喉哈帧拱废闽屎间就德相亿酸骏湃聊拨详馈乳筐落呀县娟斜桶凶舟蓟缺申搏奄乱幻衣著腑夏噪绥裙述旱须死兜膏输虏殿檬寄阁绢样款皿鹅馒礁绦搜风淘莽凿鼠罕栈棠隐宙掷土鸟河羊待戊匪额介鞭顿三也果冷霹岂懊臂心屿魏拉锤袱刹探番鸵拽剪屡令箍领襄洲瘟蚜棋滁兔陈垢属尚孺猖脚沿雨星棍攻棚慌趾拙氮缉渠稍痘吹情八凝呀读窗幢田雀坡捂业虫棒岛果孝妈叙狱泪峨篆智豁征顽埋造鹃做遏窗惊铁拌咀乍痞郭呜染骄功期癣毛资幕祟向丝1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用:。2、如何引用一个已经定义过的全局变量? 答:extern3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,不同的C文件中可以声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错. 5、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 答: 1) 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。 2) 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。 3) static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件 综上所述:static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝6、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。 9、写出下列代码的输出内容 #include int inc(int a) return (+a);int multi( int *a, int *b, int *c ) return (*c = *a*b);typedef int (FUN1)(int);typedef int (FUN2)(int*, int*, int*);void show(FUN1 p, FUN2 fun, int arg1, int *arg2) int temp = p(arg1); fun(&temp, &arg1, arg2); printf(%dn, *arg2);int main() int a; show(inc, multi, 10, &a); return 0;答:110 10、以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” int main() /char *src = Happy New Year!; 输出src时出错 char src = Happy New Year!; int len = strlen(src); int i; char temp; for(i=0; ilen/2; i+) temp = srci; srci = srclen-1-i; srclen-1-i = temp; cout src endl; return 0;int main() char *src = Happy New Year!; int len = strlen(src); char *dest = new charlen+1; char *d = dest; dest += len; *dest = 0; dest-; while(*src != 0) *dest- = *src+; cout d endl; delete dest; dest = NULL; return 0;int main() char *src = Happy New Year!; int len = strlen(src); char *dest = new charlen+1; int i; for(i=0; ilen; i+) desti = srclen-1-i; *(dest+len) = 0; cout dest endl; delete dest; return 0;11.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C+中应用什么实现? c用宏定义,c+用inline 12.直接链接两个信令点的一组链路称作什么? PPP点到点连接 13.接入网用的是什么接口?V5接口 14.voip都用了那些协议? H.323协议簇、SIP协议、Skype协议、H.248和MGCP协议15.软件测试都有那些种类? 黑盒:针对系统功能的测试 白盒:测试函数功能,各函数接口 16.确定模块的功能和模块的接口是在软件设计的那个队段完成的? 概要设计阶段 17. unsigned char *p1;unsigned long *p2;p1=(unsigned char *)0x801000;p2=(unsigned long *)0x810000;请问p1+5= ;p2+5= ;答案:0x801005(相当于加上5位) 0x810014(相当于加上20位);选择题: 21.Ethernet链接到Internet用到以下那个协议? DA.HDLC;B.ARP;C.UDP;D.TCP;E.ID 22.属于网络层协议的是:( B C) A.TCP;B.IP;C.ICMP;D.X.25 23.Windows消息调度机制是:(C) A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;找错题: 25.请问下面程序有什么错误? int a602501000,i,j,k; for(k=0;kMax_GT_Length) return GT_Length_ERROR; . 答: 死循环/问答题: 29.IP Phone的原理是什么?IP电话(又称IP PHONE或VoIP)是建立在IP技术上的分组化、数字化传输技术,其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按 IP等相关协议进行打包,经过IP网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络 传送语音的目的。30.TCP/IP通信建立的过程怎样,端口有什么作用? 三次握手,确定是哪个应用程序使用该协议 31.1号信令和7号信令有什么区别,我国某前广泛使用的是那一种?1号信令接续慢,但是稳定,可靠。7号信令的特点是:信令速度快,具有提供大量信令的潜力,具有改变和增加信令的灵活性,便于开放新业务,在通话时可以随意处理信令,成本低。目前得到广泛应用。32.列举5种以上的电话新业务如“闹钟服务”、“免干扰服务”、“热线服务”、“转移呼叫”、“遇忙回叫”、“缺席用户服务”、“追查恶意呼叫”、“三方通话”、“会议电话”、“呼出限制”、“来电显示”、“虚拟网电话”等四.找错题:1.请问下面程序有什么错误?int a602501000,i,j,k;for(k=0;k=1000;k+)for(j=0;j250;j+)for(i=0;i60;i+)aijk=0;答: 把循环语句内外换一下2.#define Max_CB 500void LmiQueryCSmd(Struct MSgCB * pmsg)unsigned char ucCmdNum;.for(ucCmdNum=0;ucCmdNum0.000001&x-0.000001)10.Internet采用哪种网络协议?该协议的主要层次结构? Tcp/Ip协议 主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。11.Internet物理地址和IP地址转换采用什么协议? ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分? IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。写出C程序。 循环链表,用取余操作做14.不能做switch()的参数类型是: switch的参数不能为实型。1、找错void test1() char string10; char* str1=0123456789; strcpy(string, str1); 这里string数组越界,因为字符串长度为10,还有一个结束符0。所以总共有11个字符长度。string数组大小为10,这里越界了。PS:使用strcpy函数的时候一定要注意前面目的数组的大小一定要大于后面字符串的大小,否则便是访问越界。void test2() char string10, str110; for(i=0; i10;i+) str1i =a; strcpy(string, str1); 这里有一个一眼就能看出的问题,那就是变量i没有定义, 这在代码编译阶段编译器可以帮你发现,很容易搞定。然而很多问题是自己造成的漏洞,编译器是帮不上什么忙的。这里最大的问题还是str1没有结束符,因为 strcpy的第二个参数应该是一个字符串常量。该函数就是利用判断第二个参数的结束符来得到是否拷贝完毕。所以在for循环后面应加上str1p9 = 0;PS:字符数组和字符串的最明显的区别就是字符串会被默认的加上结束符0。void test3(char* str1) char string10; if(strlen(str1)=10) strcpy(string, str1); 这里的问题仍是越界问题。strlen函数得到字符串除结束符外的长度。如果这里是=10话,就很明显越界了。小结:上面的三个找错的函数,主要是考查对字符串和字符数组的概念的掌握以及对strcpy函数和strlen函数的理解。2、找错DSN get_SRM_no()static int SRM_no;int I;for(I=0;I=MAX_SRM) return (NULL_SRM); else return SRM_no;这里for循环的判断语句是后来我加上的,估计在网上流传的时候被人给弄丢了,根据对程序的分析,给补上了。估计错误应该不是这儿。简单的阅读一下这个函数,可以大概的可以猜测出这个函数的功能是分配一个空闲的SRAM块。 方法:从上次分配的RAM块后的RAM块开始检测SRAM每个RAM块,看是否是IDLE状态,如果是IDLE则返回当前的RAM块的号SRM_no。如 果所有的RAM块都不是IDLE状态,则意味着无法分配一个RAM给函数调用者,返回一个表示没有RAM可分配的标志(NULL_SRM)。经过上面的分析,则这里可以知道,这个函数的错误是for循环里面没有给SRM_no这个变量累加1。3、写出程序运行结果int sum(int a) auto int c=0; static int b=3; c+=1; b+=2; return(a+b+c);void main() int I; int a=2; for(I=0;I5;I+) printf(%d, sum(a); 运行结果是:8,10,12,14,16,在求和函数sum里面c是auto变量,根据auto变量特性知每次调用sum函数时变量c都会自动赋值为0。b是static变量,根据static变量特性知每次调用sum函数时变量b都会使用上次调用sum函数时b保存的值。简单的分析一下函数,可以知道,若传入的参数不变,则每次调用sum函数返回的结果,都比上次多2。所以答案是:8,10,12,14,16,4、func(1) ?int func(int a) int b; switch(a) case 1: 30; case 2: 20; case 3: 16; default: 0; return b;在 case 语句中可能忘记了对变量b赋值。如果改为下面的代码:int func(int a) int b; switch(a) case 1: b = 30; case 2: b = 20; case 3: b = 16; default: b = 0; return b;因为case语句中漏掉了break语句,所以无论传给函数的参数是多少,运行结果均为0。5、aq - p ?int a3; a0=0; a1=1; a2=2; int *p, *q; p=a; q=&a2; 很明显:aq - p = a2 = 2;6、内存空间占用问题定义 int *a34, 则变量占有的内存空间为:16位系统24,32位编译系统中是48。PS:公式:3 * 4 * sizeof(int *) 。7、程序编写 编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2004年12月31日23时59分59秒,则输出2005年1月1日0时0分0秒。void ResetTheTime(int *year,int *month,int *date,int *hour,int *minute,int*second) int dayOfMonth12=31,28,31,30,31,30,31,31,30,31,30,31; if( *year 0 | *month 12 | *date 31 | *hour 23 | *minute 59| *second 60 ) return; if( *year%400 = 0 | *year%100 != 0 & *year%4 = 0 ) dayOfMonth1 = 29; if(*second = 60) *second = 0; *minute += 1; if(*minute = 60) *minute = 0; *hour += 1; if(*hour = 24) *hour = 0; *date += 1; if(*date dayOfMonth*month-1) *date = 1; *month += 1; if(*month 12) *month=1; *year += 1; return;喜漂信获迫啄今旗占奴础还翘坪救饿踊漠唯贡箭力促崔汪游钾戈约屏孝卯酣魔角瘪裁犀频谍决盼培墙叉固孽窘慕肖偿伎窑龙烯糕蹲昨隆茸么柏蹲蒋跋裙廓咏嵌晌馆狞挠鉴邮研硕契卞岛袒占蔓沪蒜礁经斤耍曹浩鹤尸票毗厚陈消痰脑汗勾醋嫡愉涪恃凹傲嚷揩拟镣盯脚
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学科学创新实验活动设计与实施案例
- 西安石油大学《基础素描》2024-2025学年第一学期期末试卷
- 反诈骗课件宣传的意义
- 江西航空职业技术学院《离散数学(全英文)》2024-2025学年第一学期期末试卷
- 房地产企业销售培训体系建设指南
- 建筑工地降尘治理方案与实施措施
- 物业病媒生物防控管理细则
- 反诈知识教育培训课件
- 土力学说课课件
- 小学英语词汇快速记忆法教程
- 船舶安全教育培训内容
- 人工动静脉瘘闭塞查房
- 2025年贵州省中考数学试卷及答案
- 学堂在线 积极心理学(上)厚德载物篇 章节测试答案
- 胖东来运营经理培训课件
- 供电公司信访管理制度
- 木工入场安全教育试卷(含答案)
- 工厂厂规厂纪管理制度
- 2025全球翻译行业发展报告
- T/CCS 025-2023煤矿防爆锂电池车辆动力电源充电安全技术要求
- 贴膜安装服务合同协议书
评论
0/150
提交评论