华为软件工程师笔试题_内容摘要:
/a=13 d=120 高级题 static 全局变量与普通的全局变量有什么区别。 static 局部变量和普通局部变量有什么区别。 static 函数与普通函数有什么区别。 答案:全局变量 (外部变量 )的说明之前再冠以 static 就构成了静态的全局变量。 全局变量本身就是静态存储方式,静态全局变量当然也是静态存储 方式。 这两者在存储方式上并无不同。 这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。 由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。 从以上分析可以看出, 把局部变量改变为静态变量后是改变 了它的存储方式即改变了它的生存期。 把全局变量改变为静态变量后是改变了它 的作用域,限制了它的使用范围。 static 函数与普通函数作用域不同。 仅在 程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于( )中。 答案:栈;静态区;堆 设有以下说明和定义: typedef union {long i。 int k[5]。 char c。 } DATE。 struct data { int cat。 DATE cow。 double dog。 } too。 DATE max。 则语句 printf(%d,sizeof(too)+sizeof(max))。 的执行结果是: ______ 答案: DATE 是一个union, 变量公用空间 . 里面最大的变量类型是 int[5], 占用 20 个字节 . 所以它的大小是 20 data 是一个 struct, 每个变量分开占用空间 . 依次为 int4 + DATE20 + double8 = 32. 所以结果是 20 + 32 = 52. 当然 ...在某些 16位编辑器下 , int可能是 2字节 ,那么结果是 int2 + DATE10 + double8 = 20 队列和栈有什么区别。 答案:队列先进先出,栈后进 先出 247。 这道题目出错了,这里就不写上了。 已知一个单向链表的头,请写出删除其某一个结点的算法,要求,先找到此结点,然后删除。 答案: slnodetype *Delete(slnodetype *Head,int key){}中 if(Headnumber==key) { Head=Pointernext。 free(Pointer)。 break。 } Back = Pointer。 Pointer=Pointernext。 if(Pointernumber==key) { Backnext=Pointernext。 free(Pointer)。 break。 } void delete(Node* p) { if(Head = Node) while(p) } 请找出下面代码中的所以错误说明:以下代码是把一个字符串倒序,如 “abcd”倒序后变为 “dcba” # include main() { char*src=hello,world。 char* dest=NULL。 int len=strlen(src)。 dest=(char*)malloc(len)。 char* d=dest。 char* s=src[len]。 while(len!=0) 1 d++=s。 1 printf(%s,dest)。 1 return 0。 1 } 答案:还要加上# include int main(){ char* src = hello,world。 int len = strlen(src)。 char* dest = (char*)malloc((len+1)*sizeof(char))。 //要为 \0 分配一个空间 char* d = dest。 char* s = amp。 src[len1]。 //指向最后一个字符 while( len != 0 ) *d++=*s。 *d = 0。 //尾部要加 \0 printf(%s\n,dest)。 free(dest)。 // 使用完,应当释放空间,以免造成 华为笔试题( 3) 20200929 19:41 一、判断题(对的写 T,错的写 F 并说明原因,每小题 4 分,共 20 分) 有数组定义 int a[2][2]={{1},{2,3}}。 则 a[0][1]的值为 0。 ( 正确 ) int (*ptr) (),则 ptr 是一维数组的名字。 (错误 int (*ptr) ()。 定义一个指向函数的指针变量 ) 指针在任何情况下都可进行 , ,=, =,==运 算。 ( 错误 ) switch(c) 语句中 c 可以是 int ,long,char ,float ,unsigned int 类型。 ( 错,不能用实形 ) 二、填空题(共 30 分) 在 windows 下,写出运行结果,每空 2 分,共 10 分。 char str[ ]= " Hello"。 char *p=str。 int n=10。 sizeof(str)=( ) sizeof(p)=( ) sizeof(n)=( ) void func(char str[100]){ } sizeof(str)=( ) 答案: 6, 4, 4, 4, 具体解释请参看我的空间里的 “C/C++程序员应聘试题剖析 ” void getmemory(char **p, int num) { *p=(char *) malloc(num)。 } void test(void) { char *str=NULL。 getmemory(amp。 str,100)。 strcpy(str," hello" )。 printf(str)。 } 运行 test函数有什么结果。 ( ) 10 分 答案:输出 hello,但是发生 int *ptr=arr。 *(ptr++)+=123。 printf( " %d,%d " ,*ptr,*(++ptr))。 ( ) 10 分答案: 8, 8。 这道题目的意义不大,因为在不同的编译器里 printf 的参数的方向是不一样的,在 下是从有到左,这里先 *(++ptr) 后 *pt,于是结果为 8, 8 三、编程题(第一小 题 20,第二小题 30 分) 不使用库函数,编写函数 int strcmp(char *source, char *dest) 相等返回 0,不等返回1 ; 答案:一、 int strcmp(char *source, char *dest) { assert((source!=NULL)amp。 amp。 (dest!=NULL))。 int i,j。 for(i=0。 source[i]==dest[i]。 i++) { if(source[i]==?\0? amp。 amp。 dest[i]==?\0?) return 0。 else return 1。 } } 答案:二、 int strcmp(char *source, char *dest) { while ( (*source != ?\0?) amp。 amp。 (*source == *dest)) { source++。 dest++。 } return ( (*source) (*dest) ) ? 1 : 0。 } 写一函数 int fun(char *p)判 断一字符串是否为回文,是返回 1,不是返回 0,出错返回 1 答案:一、 int fun(char *p) { if(p==NULL) return 1。 else { int length = 0。 int i = 0。 int judge = 1。 length = strlen(p)。 for(i=0。 i length/2。 i++) { if(p[i]!=p[length1i]) judge = 0。 break。 } if(judge == 0) return 0。 else return 1。 } } 答案:二、 int fun(char *p){ int len = strlen(p) 1。 char *q = p + len。 if (!p) return 1。 while (p q) { i。华为软件工程师笔试题_
本资源仅提供20页预览,下载后可查看全文
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。
相关推荐
十堰经济技术开发区产业发展规划
快速度,发展方式转变取得明显成效,自主创新能力、市场竞争力和可持续发展能力显著增强,产业主要增长指标位于中西部同类开发区第一方阵。 具体指标与内容主要包括四个方面。 —— 经济增长方面。 经济保持平稳较快发展,形成先进制造业与现代服务业“双轮驱动”、国内与国外两个市场协调发展的格局。 地区生产总值( GDP)年均增长 12%左右。 —— 产业增长方面。 “十三五”期间,规模以上工业总产值年均增长
十字柱钢结构现场安装方案
对无误,并对构件质量检查合格后,方可确认签字,并做好检查记录。 对于制作超过规范误差或运输中变形、受到损伤的构件应送回制作工厂进行返修。 现场构件验收主要是焊缝质量、构件外观和尺寸检查,质量控制重点在构件制作工厂。 构件进场的验收及修补内容如下表所示: 7 序列 类型 验收内容 验收工具、方法 补修方法 1 焊缝 构件表面外观 目测 焊接修补 2 现场焊接剖口方向 参照设计图纸 现场修正 3
医院高层综合病房楼装饰工程施工组织设计
”时期我区经济社会发展的总体目标是:建成国家先进装备制造创新引领基地,全面建成具有国际竞争力的先进装备制造业基地,实现铁西老工业区全面振兴,如期全面建成小康社会。 今后五年,地区生产总值年均增长 7%左右;城市居民人均可支配收入年均增长 %;农民年人均收入增长 10%。 “十三五 ”期间经济社会发展的重点任务是: ——全面提升综合经济实力。 坚持创新驱动发展战略,加