嵌入式的笔试/面试经典题目
来源:互联网 发布:java 数组分割 编辑:程序博客网 时间:2024/05/18 01:19
转自:http://blog.163.com/softwaredep@126/blog/static/474112722007102593541438/
输出 char s1[]="2kgames"; char* s2[]={"2kgames" }; char s3[20]="2kgames"; sizeof(s1)==? sizeof(s2)==? sizeof(s3)==? strlen(s1)==? strlen(s3)==? <答案:8 4 20 7 7 2.输出 class A { public: A() { p(); } ~A(){ p(); } virtual void p() { q(); } virtual void q() { cout<<''A'' } }; class B:public A { public: B() { p(); } ~B() { p(); } void q() { cout<<''B'' } }; int main() { A* p=new B; delete p; } 答案:ABA 3. 用一个C语言表达式判断一个数是否位2的N次幂。 答案:x == (((x ^ (~0x0)) + 1) & x) 4. 写一个高性能的函数把一个int乘以9 答案: int Multiply_9(int a) { return ((a<<3)+a); } 5.请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1 解答: int checkCPU() { union w { int a; char b; } c; c.a = 1; return (c.b == 1); } 6.int (* (*f)(int, int))(int)这里的f是什么? 答案:f是指针,指向一个参数为(int,int),返回值为一个指针的函数 这个返回的指针指向一个参数为(int),返回值为int的函数 我的笔试之二:思科篇 1. typedef struct { char data[10]; }T1; typedef struct { T1* p; char data[0]; }T2; sizeof(T2)==? 答案:4 2.含N个元素的一个数组,数组的值的范围是1~N-1,找出重复的那个值。 答案: int array[N]; int FindRepeat(void) { int flag[N]={0}; int i; for(i=0;i小于N;i++)//由于此论坛系统问题直接有小于号出现显示不正常,故此用汉字描述 { if(flag[array[i]]==1) return array[i]; else flag[array[i]]=1; } } 3.下面哪些编译通不过? (A). void T() { const int N=100; int a[N]; a[2]=42; } (B). void T() { *((int* const)0x23567890)=5; } (C). char* fuc(void) { char a[4]; strcpy(a,"abcd"); return a; } 答案:ABC都可以通过编译。 我的笔试之三:趋势科技篇 1. 找错误 (1) void Test(const int v) { int* p; p=v; } 答案:不能把非const指针指向const变量。应该是:const int* p; (2) void Test(const int& v) { const int& p; p=v; } 答案:引用必须在定义的时候初始化。应该是:const int& p=v; 2. 编程题,翻转链表。 答案: typedef struct node { int value; struct node* next; }SLink; SLink* ReverseLink(SLink* h) { SLink* pre,*cur,*next; pre=NULL; cur=h; next=cur->next; while(next) { cur->next=pre; pre=cur; cur=next; next=next->next; } return cur; } 3.写出输出结果 class A { public: A() { f(0); } virtual void f(int n) { cout<<"A0:"<< } virtual void f(int n) const { cout<<"A1:"<< } virtual void f(char* s) { cout<<"A2:"<< } }; class B:public A { public: void f(int n) { cout<<"B0:"<< } void f(char* s) { cout<<"B1:<< } }; int main() { A* p; const A* cp; B b; p=&b; p->f(1); p->f("test"); A().f(2); cp=&b; cp->f(2); } 答案: A0:0 B0:1 B1:test A0:0 A0:2 A1:2 4. UTP(非屏蔽双绞线)的传输距离是? 答案:100m 5.176.68.160.0/22的子网掩码是: 答案:255.255.252.0 我的笔试之四:先锋商泰篇 1.下面表达式正确的是: A. char* const s="hello"; *s=''''''''w'''' B. char* const s="hello"; s="world"; C. const char* s="hello"; *s=''''''''w'''' D. const char* s="hello"; s="world"; 答案:D 2.下面表达式正确的是: A. char* const s="hello"; *s=''''''''w'''' B. char* const s="hello"; s="world"; C. char s[]="hello"; *s=''''''''w'''' D. char s[]="hello"; s="world"; 答案:C 3.写出程序输出结果: char t[]="abcdefghijklmno"; t[12]=''/0''//这里本该也没有这么多单引号 int i=0; while(t[++i]!=''/0'')//这里也是 { printf("%c",t[i++]); } 答案:bdfhjln 我的笔试之五--展讯篇 1. 编程求两个字符串的最大公共字符串。 答案: #include "stdio.h" #include "string.h" /* 函数功能:求两个字符串的最大公共字符串 */ void CommonStr(char* str1,char* str2) { char* s1,*s2; int i,j,k; // i--最大公共字符串的长度 int len1; // j--子串s2的开始位置 int len2; // k--子串s1的开始位置 int p; len1=strlen(str1); len2=strlen(str2); if(len1 s1=str2; s2=str1; len2=len1; } else { s1=str1; s2=str2; } for(i=len2;i>0;i--) // 从最大的开始找 { for(j=0;j+i<=len2;j++) { for(k=0;k+i<=len1;k++) { p=0; while(s1[k+p]==s2[j+p]) { p++; } if(p>=i) { for(p=0;p小于i;p++) printf("%c",s1[k+p]); printf("/n"); return; } } } } } int main(void) { char* s1="worlld"; char* s2="hello,cjw"; CommonStr(s1,s2); return 0; } 2.计算一个字节里1的个数。 方法一: int Num_1(char data) { int i,j; int sum=0; j=1; for(i=0;i<8;i++) { j=1< sum++; } return sum; } 方法二: unsigned int FindOneInNumber_02(unsigned char x) { unsigned int n; for(n=0; x; n++) x &= x-1; return n; }
{
if(data&j)
- 嵌入式的笔试/面试经典题目
- 嵌入式经典面试题目
- 经典嵌入式面试题目
- 嵌入式工程师的经典面试题目
- 指针的笔试面试经典题目
- 嵌入式工程师笔试面试题目
- 嵌入式程序员C语言笔试经典题目
- 嵌入式c语言经典笔试题目
- 各种各样的笔试面试题目
- 零零散散的笔试面试题目
- 民生银行的笔试面试题目
- 三道很经典的面试题目
- 总结:WHUACM 2007暑假招新笔试(附原题,有许多经典的面试题目)
- 面试珠玑 嵌入式C程序员经典笔试题一
- 面试珠玑 嵌入式开发C程序员经典笔试题二
- 嵌入式软件经典字符串面试、笔试题(基础)
- C/C++校招笔试面试经典题目总结一
- C/C++校招笔试面试经典题目总结二
- 备忘录:jsp重定向。使用out.print(); response.sendRedirect();
- 网络流模板:最大流ISAP算法和Dinic算法
- OGRE 1.7 鼠标非独占使用(鼠标移出当前窗口)
- scanf和printf函数处理不同进制
- scanf和printf函数处理不同进制
- 嵌入式的笔试/面试经典题目
- 排排坐,吃果果
- Accelerated C++ 7.4 生成句子
- QML之使用C++自定义QML类型(一)
- win32 asm Hello World Demo
- Intel Hex文件格式
- Tuscany C++组件平台组成
- 背包问题
- 找零钱