- 一级建造师考试
- 二级建造师考试
- 三支一扶
- 安全评价师考试
- 保险经纪资格考试
- 报关员资格考试
- 博士入学考试
- 成人高考
- 成人英语三级考试
- 程序员考试
- 出版专业资格考试
- 大学英语三级
- 大学英语四六级考试
- 单证员考试
- 导游证考试
- 电气工程师
- 电子商务设计师考试
- 房地产经纪人考试
- 房地产评估师考试
- 高级会计师资格考试
- 高考
- 高中会考
- 给排水工程师
- 公共英语等级考试
- 公务员考试
- 国际货运代理
- 国际内审师
- 国家司法考试
- 化工师
- 环境影响评价师
- 会计人员继续教育
- 会计职称考试
- 基金从业资格
- 计算机等级考试
- 计算机软件水平考试
- 监理工程师考试
- 教师招聘
- 教师资格
- 结构工程师考试
- 经济师考试
- 考研
- 空姐招聘
- 遴选
- 美术高考
- 普通话考试
- 期货从业资格
- 求职招聘
- 人力资源管理师
- 软件设计师考试
- 商务英语考试(BEC)
- 社会工作者职业水平考试
- 审计师考试
- 事业单位招聘
- 事业单位招聘
- 数据库系统工程师
- 特许公认会计师(ACCA)
- 同等学力
- 统计师考试
- 托福考试(T0EFL)
- 外贸跟单员考试
- 网络工程师考试
- 网络管理员考试
- 网络规划设计师考试
- 系统分析师考试
- 消防工程师
- 小升初
- 校园招聘
- 信息系统管理工程师考试
- 选调生考试
- 雅思考试
- 岩土工程师考试
- 医生招聘
- 艺术高考(艺考)
- 银行从业人员资格
- 银行招聘
- 英语翻译资格考试
- 营销师考试
- 造假工程师考试
- 证券从业资格考试
- 中考
- 注册安全工程师考试
- 注册测绘师考试
- 注册城市规划师考试
- 注册环保工程师考试
- 注册会计师考试
- 注册计量师考试
- 注册建筑师考试
- 注册税务师考试
- 注册资产评估师
- 专升本考试
- 专业英语四级八级考试
- 自考
- 安全员
- 跟单员
- 考试一本通
- 其它资料
2010 年华为校园招聘软件工程师考试真题
一、判断题(对的写 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, unsigned int 类型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空题(共 30 分)
1、在 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)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(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 * const p
char const * p
const char *p 上述三个有什么区别?
答案:
char * const p; //常量指针,错的写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 1 str1,str2,str3,str4 是 数 组 变 量 ,错的写 它 们 有 各 自 的 内 存 空 间 ; 而
str5,str6,str7,str8 是指针,错的写它们指向相同的常量区域。
(4)以下代码中的两个 sizeof 用法有问题吗?
[C 易 ] void UpperCase( char str[] ) // 将 str 中 的 小 写 字 母 转 换 成 大 写 字 母
{
for( size_t i=0; i