- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华为软件工程师笔的试题
华为软件笔试题
一、判断题 (对的写T,错的写F 并说明原因,每小题4 分,共20 分)
1、有数组定义int a[2][2] {{1},{2,3}};则a[0][1]的值为0。()
2、int (*ptr) (),则ptr 是一维数组的名字。()
3、指针在任何情况下都可进行,, , , 运算。()
4、switch(c) 语句中c可以是int,long,char,float,unsignedint 类型。()
5、#defineprint(x)printf( "theno, "#x ",is ")
二、填空题 (共30 分)
1、在windows 下,写出运行结果,每空2 分,共 10 分。
char str[] "Hello ";
char *p str;
intn 10;
sizeof(str) ()
sizeof(p) ()
sizeof(n) ()
void func(char str[100])
{}
sizeof(str) ()
2、void setmemory(char **p,intnum)
{*p (char *)malloc(num);}
voidtest(void)
{char *str NULL;
getmemory(str,100);
strcpy(str, "hello ");
printf(str);
}
运行test 函数有什么结果? ()10 分
3、设int arr[] {6,7,8,9,10};
int *ptr arr;
(ptr++)+ 123;
printf( "%d,%d ",*ptr,*(++ptr));
() 10 分
二、编程题 (第一小题20,第二小题30 分)
1、 不使用库函数,编写函数int strcmp(char *source,char *dest)
相等返回0,不等返回-1;
2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
(1)什么是预编译,何时需要预编译:
答案:
1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种
情况下,可以将所有包含文件预编译为一个预编译头。
(2)char *constp char const *p const char *p 上述三个有什么区别?
答案:
char *constp;//常量指针,p 的值不可以修改
char const *p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p
(3)char str1[] abc; char str2[] abc; const char str3[] abc; const char str4[] abc;
const char *str5 abc; const char *str6 abc;char *str7 abc;char *str8 abc;cout
( str1 str2 ) endl;cout ( str3 str4 ) endl;cout ( str5 str6) endl;cout
( str7 str8) endl;
结果是:0 0 1 1str1,str2,str3,str4 是数组变量,它们有各自的内存空间;而str5,str6,str7,str8
是指针,它们指向相同的常量区域。
(4)以下代码中的两个sizeof 用法有问题吗?
[C 易] void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母 { for( size_t
i 0;i sizeof(str)/sizeof(str[0]);++i ) if( a str[i] str[i] z ) str[i]
- (a-A ); }char str[] aBcDe; cout str 字符长度为: sizeof(str)/sizeof(str[0])
endl;UpperCase( str );cout str endl; 答案:函数内的sizeof 有问题。根据语法,sizeof
如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。函数外的
str 是一个静态定义的数组,因此其大小为6,因为还有\0,函数内的str 实际只是一个指向
字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于
您可能关注的文档
最近下载
- cmm手册老飞机座椅9576_china eastern rev2.pdf VIP
- GBJ16-87建筑设计防火规范.pdf
- 临床试验安全信息管理——CIOMS VI 工作组报告.pdf VIP
- 学校校园膳食监管委员会领导小组及职责.docx VIP
- 2025国省双考公安专业知识 人民警察法 讲义+笔记.pdf VIP
- 压力管道(GC2和GB1)安装工艺文件汇总.docx
- 新建信鸽驯养基地建设项目商业策划书.doc
- 2025秋统编版(2024)道德与法治一年级上册教学设计(全册).docx
- 卫生部抗菌药物临床应用指导原则.docx VIP
- 项目1 1.1 植物生产与环境概述(2)(课件)- 《植物生产与环境》(高教版第四版)同步精品课堂.pptx VIP
文档评论(0)