欢迎来到天天文库
浏览记录
ID:48254785
大小:56.36 KB
页数:2页
时间:2019-11-21
《联想笔试题及解答.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、联想笔试题及解答 联想笔试题1.设计函数 intatoi(char*s)intatoi(char*s){ charsign; charsignval=1; intval=0; intn=0; /*skipspaces*/ while(isspace(*s)) ++s; if(*s==''
2、
3、*s=='+') /*skip''and'+'sign*/ { sign=*s; if(sign=='') signval=1; ++s; } /*whengoeshere,itisnotspaceorsign*/ wh
4、ile((*s=' ')isdigit(*s)) { val=10*n+(*s'0'); n=val; s++; } if(*s=' ') { printf(nondigitinyourinput); exit(1); } /*nonerroroccured*/ return(signval*val); } 2.inti=(j=4,k=8,l=16,m=32);printf(%d,i);输出是多少 结果为:32. 3.解释局部变量、全局变量和静态变量的含义 局部变量包括函数的形参,包含在函数体或者语句块内的
5、变量,局部变量的生存期在退出函数或语句块后结束 全局变量是指在所有函数和语句块之外的变量,它对于整个程序均可见,全局变量的生存期与程序的生存期相同. 静态变量指由关键字static声明的变量,它的作用域和其他变量一样,由它所在的位置决定,如在函数体或语句块中声明,则只在函数体或语句块可见,其他地方均不可见.它的生存期与程序相同. 4.解释堆和栈的区别简述如下: 栈上分配的内存由系统自动分配,系统会自动收回.如果需要动态分配内存,则只能通过malloc/new在堆上分配的内存使用完毕后,通过free/delete来释放内存 5.论述含参数的宏与函数的优缺点 含
6、参数的宏优点:省去了函数调用的开销,运行效率高.含参数的缺点: 由于宏本质上是字符串的替换,所有可能会由于一些参数的副作用导致得出错误的结果. 如: definemax(a,b)(((a)>(b))?(a):(b))如果程序中出现这样的调用:max(a++,b);将导致a被计算2次,从而可能得到错误的结果,而函数调用不会出现这种问题.另外,如果程序中有多次宏替换的话,可能导致代码体积变大.函数的优点是:没有带参数宏可能导致的副作用,计算的正确性较宏更有保证.函数调用的缺点:函数调用需要一些参数,返回地址等入栈,出栈的开销,效率没有宏函数高
此文档下载收益归作者所有