logo资料库

锐捷网络2013届校园招聘嵌入式软件试题.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
锐捷网络 2013 届校园招聘嵌入式软件试题 1. 注意事项  答题时间 90 分钟,请把握答题时间;  答案请写在答题纸上,交卷时请将试题及答题纸一并交回。 2. 特别说明:  试题中所涉及的处理器、编译器及操作系统均为 32-bits;  涉及位的运算时,最右边的位是第 0 位。 注意:红色的表示参考答案。(红色依次为 1 到 25 个填空) 3. C 语言 (1)以下程序片段运行后,输出的结果是:-1 int x = 3, y = 4, z = 5; printf("%d",~((x ^ y) && !z)); (2)以下程序片段运行后,输出的结果是:6,5 char str[] = "abcde"; printf("%d,%d",sizeof(str),strlen(str)); (3)以下程序片段运行后,输出的结果是:3 char str2[] = "912\0912"; printf("%d",strlen(str2)); (4)以下程序片段运行后,输出的结果是:7442 int a[100][200]; printf("%d",&a[37][45]-&a[0][3]); (5)以下程序片段运行后,输出的结果是:2 enum Months{JAN=1,FEB,MAR,APR,MAY=3,JUN,JUL,AUG,SEP,OCT,NOV,DEC}; printf("%d",(MAR & AUG) ^ !JUN); (6)完成下列语句:十进制方式打印 int 型变量 n 的值,且根据值的正负,在前面显示+ 或—。如 n=1 时,打印结果是+1;n=-1 时,打印结果是-1.
printf("%+d\n",n); (7)以下程序片段运行后,输出的结果是:2 6 42 1806 #include int x = 4; void func() { static int x = 1; x *= x + 1; printf("%d",x); } int i; for(i=0; i
int i; for(i=0; i<60; i++) { q[i]=i; } printf("%d\n,p[1][7][1]*(*(s+1))[3]"); (13)将字符转换成大写字母(非字母字符不做处理)的库函数名是:toupper (14 ~ 15) 补齐以下代码: /* * Insert a new entry between two know consecutive entries. * * This is only for internal list manipulation where we know * the prev/next entries already! */ static __inline__ void __list__add(struct list_head * new, struct list_head * prev, struct list_head * next) { next->prev = new; new->next = next; prev->next = new; new->prev = prev; } (16 ~ 20)根据函数说明完成以下函数: The strcmp() functions return 1、0、-1. int strcmp(const char *cs,const char *ct) { unsigned char c1,c2; while(1) {
c1 = *cs++; c2 = *ct++; if(c1 != c2) { return (c1-c2)<0 ? -1 : 1; } if(!c1) break; } return 0; } /** * strstrip - Removes leading and trailing whitespace from @s. * @s:The string to be stripped. * *Note that the first trailing whitespace is replaced with a null-terminator strings cs and *in the given string @s.Returns a pointer to the first non-whitespace *character in @s. */ 要求:使用库函数 isspace 判断是否是 whitespace。 char *strstrip(char *s) { size_t size; char *end; size = strlen(s); if(!size)
{ return s; } end = s + size -1; while(end >= s && isspace(*end)) { end--; } *(end + 1) = '\0'; while(*s && isspace(*s)) { s++; } return s; } 4. 综合测试 (21)推理:填入空缺的数字 -1 9 8 17 25 42 (22)推理:填入空缺的数字 2/13 4/11 2/3 8/7 2 4 (23)容斥问题:某学校有 23 人参加篮球协会,45 人参加足球协会,100 人参加登山协会, 既踢足球又打篮球的有 10 人,既踢足球又登山的有 18 人,既登山又打篮球的有 13 人,有 132 人至少参加这 3 个项目中的 1 项,请问,有多少人 3 个协会都参加? 参考答案:设篮球集合为 A,足球集合为 B,登山集合为 C 由集合理论可得: 所以 即 3 个协会都参加的人数为 5 (24)从 4 个苹果和 6 个橘子中选出三个,要求至少有 1 个苹果,共有几种选取方式? ABCACACACABC101813132(2345100)5ABC
参考答案:有组合理论可得结果为: 即有 100 种选取方式。 (25)有八只铜球,其中有一只是重量不合格的次品,已知次品比正品轻。如果只给你一台 无码天平,那么,至少称几次就能保证把这只次品找出来? 参考答案:先分成三组,两组 3 个,一组 2 个,先称两组三个的,如果等重就称剩下的 2 个, 此情况称 2 次即可。如果不等重,再将两组 3 个中轻的那组分成 3 组,每组一个,称其中任 意两个,等重则没称的为次品,不等重轻的为次品。综上所述,至少称 2 次就能保证把这只 次品找出来。 。 3310612020100CC
分享到:
收藏