1一个十六进制数 OXABCD高两位和低两位交换。

2十六进制的字符串转换成十进制整数

[cpp] view plaincopy
  1. #include "stdio.h"
  2. #include "string.h"
  3. #define MAXLEN 80
  4. int main(void)
  5. {
  6. char ch;
  7. char str[MAXLEN], num[MAXLEN];
  8. int i, k;
  9. int repeat, ri;
  10. long number;
  11. scanf("%d", &repeat);
  12. getchar();
  13. for(ri = 1; ri <= repeat; ri++){
  14. i = 0;
  15. while((ch = getchar()) != '\n'){
  16. str[i]=ch;
  17. i++;
  18. }
  19. str[i] = 0;//应该为’\0’
  20. number=0;
  21. //如果是数字进行下面的转换
  22. for(k=0;k<i;k++){
  23. if(str[k]>='0'&&str[k]<='9'){
  24. num[k]=str[k]-'0';
  25. number=number*16+num[k];
  26. }
  27. //如果是字母进行下面的转换,因为16进制的数,包含数字和字母
  28. else if(str[k]>='a'&&str[k]<='f'){
  29. num[k]=str[k]-'a'+10;
  30. number=number*16+num[k];
  31. }
  32. else if(str[k]>='A'&&str[k]<='F'){
  33. num[k]=str[k]-'A'+10;
  34. number=number*16+num[k];
  35. }
  36. }
  37. printf("Dec = %ld\n",number);
  38. }
  39. }

3汉译英

科技有可能带不来大的改变

technology may bring  little change.

4内存分配方式

内存分配方式有三种:
  [1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
  [2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
  [3]从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定,使用非常灵活,但如果在堆上分配了空间,就有责任回收它,否则运行的程序会出现内存泄漏,频繁地分配和释放不同大小的堆空间将会产生堆内碎块。

5数字通信的优点

1抗干扰能力强

2差错可控。可以采用信道编码技术使误码率降低,提高传输的可靠性。

3易于与各种数字终端接口,用现代计算技术对信号进行处理、加工、变换、存储,从而形成智能网。

4易于集成化,从而使通信设备微型化

5易于加密处理,且保密强度高

(1)抗干扰能力强。模拟信号在传输过程中与噪声叠加在一起,很难分离,噪声会随着信号被传输、被放大,噪声严重时将影响通信质量。而数字通信中的信息是包含在脉冲的有或无之中的,只要噪声绝对值不超过某一门限值,接收机便可依据脉冲的有无来判别数字序列,从而获得信息。通信的可靠性较高。

(2)远距离传输仍能保证通信质量。在远距离传输中,数字通信可采用再生中继方式,就能够消除噪声,再生的数字信号和原来的数字信号一样,可继续传输下去,这样通信质量便不受距离的影响,可高质量地进行远距离通信。

(3)能够适应各种通信业务的要求(如电话、电报、图像、数据等)。具有便于实现统一的综合业务数字网,便于采用大规模集成电路,便于实现加密处理,便于实现通信网的计算机管理等优点。

6进程与线程的区别

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动(进程是程序一次性执行的过程),进程是系统进行资源分配和调度的一个独立单位.

线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.

一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行

CDMA厂商已经努力提供CDMA漫游能力

1、  一个指向整型数组的指针的定义为: int (*a)[10];

2、  用#include”filename.h”格式,编译器得从用户的工作路径开始搜索filename.h。

用#include<filename.h>格式,编译器得从标准库路径开始搜索filename.h。

3、  指出下面代码的输出 2   、  5

[cpp] view plaincopy
  1. main()
  2. {
  3. Int a [5]={1,2,3,4,5};
  4. int *ptr=(int *)(&a+1); //区别于a和a[0]以及&a !
  5. printf(“%d,%d”,*(a+1),*(ptr-1));
  6. }

4、  结构化程序的三种基本结构是:顺序结构分支结构、 循环结构

5、  用二分法查找一个长度为30的有序线性表,在查找不成功的情况下,最多需要比较log2n

6、  不能做switch( )的参数类型是实  型 。

二翻译题

CDMA venders have hard to give CDMA roaming capabilities via thedevelopment of RUIM-essentially, a  SIMcard for CDMA handsets currently being deploved in China for new CDMA operatorChina Unicom.  Korean cellco NIFdemonstrated earlier this year the ability to roam between GSM and CDMA usingsuch cards. However,only the card containing the user’s  service data can roam not the CDMA handset orthe user’s

三选择

2 char(*str)[20];与char*str[20]有什么不同?AC

A char*str[20]; /*str是一个指针数组,其元素为指针型数据*/

B char*str[20];/*str是一个数组指针,即指向数组的指针*/

C char(*str)[20];/*str是一个数组指针,即指向数组的指针*/

D char(*str)[20];/*str是一个指针数组,其元素为指针型数据*/

3 下面说话正确的是:CD

A 函数的出口应该尽可能少,最好只有一个出口

B 为了防止程序中内存漏,应该不使用动态分配内存

C 在函数实现中应该少使用全局变量

D 函数的功能应该单一

4  关于函数的参数调用和返回过程中的值,下列哪个说话是正确的  B

A 实参不会改变

B实参可能会改变     //如何将指针传入,并且形参是指向指针的指针

C 如果是指针,肯定不会改变

D 如果不是指针,可能会改变//肯定是没有机会的

5 int a[9];

Int *p;

P=a;

请问如下哪些能够表示&a[1]?AD    //注意和前面的区别

A P+1  B p++  C a++ D a+1

四问答题:

1请定义一个宠MAX,比较两个数a、b的大小,不能使用大于,小于,if语句

#define MAX(a,b) (fabs((a)-(b))==((a)-(b))?(a):(b))

#define max(a,b) (((a)-(b))&(1<<31))?(b):(a)

#define MAX4(a,b) (((a)-(b)) & 0x80000000 ) ? (b) : (a)

及#define MAX(a, b) (((b) - (a) & (0x1<< 31)) >> 31)  //很有意思

2请用c或c++语言写出对分查找的算法程序

折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果x<a[n/2],则我们只要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列)。如果x>a[n/2],则我们只要在数组a的右半部继续搜索x。二分搜索法的应用极其广泛,而且它的思想易于理解,但是要写一个正确的二分搜索算法也不是一件简单的事。第一个二分搜索算法早在1946年就出现了,但是第一个完全正确的二分搜索算法直到1962年才出现。Bentley在他的著作《Writing Correct Programs》中写道,90%的计算机专家不能在2小时内写出完全正确的二分搜索算法。问题的关键在于准确地制定各次查找范围的边界以及终止条件的确定,正确地归纳奇偶数的各种情况,其实整理后可以发现它的具体算法是很直观的,我们可用C++描述如下:
 
[cpp] view plaincopy
  1. template<class Type>
  2. int BinarySearch(Type a[],const Type& x,int n)
  3. {
  4. int left=0;
  5. int right=n-1;
  6. while(left<=right){
  7. int middle=(left+right)/2;
  8. if (x==a[middle]) return middle;
  9. if (x>a[middle]) left=middle+1;
  10. else right=middle-1;
  11. }
  12. return -1;
  13. }

模板函数BinarySearch在a[0]<=a[1]<=...<=a[n-1]共n个升序排列的元素中搜索x,找到x时返回其在数组中的位置,否则返回-1。容易看出,每执行一次while循环,待搜索数组的大小减少一半,因此整个算法在最坏情况下的时间复杂度为O(log n)。在数据量很大的时候,它的线性查找在时间复杂度上的优劣一目了然。

五阅读题

1 请写出下面代码在32位平台上运行结果是30,4,1,4,1

[cpp] view plaincopy
  1. #include<stdio.h>
  2. Int main(void)
  3. {
  4. Char a[30];
  5. Char *b=(char*)malloc(20 *sizeof (char));
  6. printf(“%d/n”,sizeof(a));
  7. printf(“%d/n”,sizeof(b));
  8. printf(“%d/n”,sizeof(a[3]));
  9. printf(“%d/n”,sizeof(b+3));
  10. printf(“%d/n”,sizeof(*(b+4)));
  11. return0;
  12. }

六程序代码  //这个例子很有意思

1编一段代码,求两个int的最大公约数

[cpp] view plaincopy
  1. #include <stdio.h>
  2. int gcd(int a,int b)//求最大公约数  greatest common divisor
  3. {
  4. if(a<b)
  5. return gcd(b,a);
  6. if(a%b==0)
  7. return b;
  8. return gcd(b,a%b);
  9. }
  10. int main()
  11. {
  12. int a,b;
  13. scanf("%d%d",&a,&b);
  14. printf("最大公约数:%d\n",gcd(a,b));
  15. printf("最小公倍数:%d\n",a*b/gcd(a,b)); // 两者相乘除以最大公约数
  16. return 0;
  17. }
  18. int gcd(int I,int j)  //这个写的不太完整,不需要看这个!
  19. {
  20. if(i%j==0)
  21. {
  22. return  j;
  23. }else
  24. { return  gcd(j,i%j); }
  25. }

2 设计一个字符串连接的函数,原型为:

Char *strcat(char* strsrc,const char*strext);

要求:不允许使用C库函数,函数完成将strext字条串附加在strsre字条串后,字符串strsrc的起始地址。//运行过,代码完全正确

[cpp] view plaincopy
  1. # include <stdio.h>
  2. Char * strcat(char* strsrc, const char* strext){
  3. Assert(strsrc);
  4. If(strext==NULL)
  5. Return strsrc;
  6. Char* str_tmp=strsrc;
  7. While(*str_tmp++!=’\0’);
  8. --str_tmp;
  9. While((*str_tmp++=*strext++)!=’\0’);
  10. Returnstrsrc;
  11. }

3 图形变换的基本原理是什么?几种主要2D图形的齐次基本矩阵是什么?

图形变换的基本原理是:

(1)图形的拓扑关系不变;

(2)图形的几何关系可以改变。

所谓图形拓扑关系不变是指图形的连边规则不变,即原来是相邻的点变换后依然相邻,原来不相交的线变换后依然不相交。

所谓图形的几何关系可以改变是指图形的点与点之间的位置和距离可以改变。

4“死锁”指什么?如何预防?

进程死锁的原因: 资源竞争及进程推进顺序非法

可以分为两点来说,一是,临界资源有限,二是,进程执行的顺序非法
  死锁的4个必要条件:互斥、请求保持、不可剥夺、环路
死锁的处理:鸵鸟策略、预防策略、避免策略、检测与解除死锁

所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。

死锁的发生必须具备以下四个必要条件。

  1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。

  2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。

  3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。

4)环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。

2012宇龙通信天津招聘笔试题

一、填空1、float X与零值比较的if语句?

2、**a[3][4]的所占内存的大小?

3、第三代通信网络无线传输的三个标准?

4、x=1;y=3 if(x==3||y )后y的值?(记不太清了)

二、选择选择题不定项

这个没记住

三、查错题是一个关于malloc和strcay的问题

四、简答1、TCP和UDP的区别

2、数组与链表的区别

1.  基于空间的考虑        
数组的存储空间是静态,连续分布的,估计过大造成空间浪费,估计太小又将使空间溢出机会增多。而链表的存储空间是动态分布的,只要内存空间尚有空闲,就不会产生溢出; 链表中每个节点除了数据域外,还有指针域,存储密度小于1(数组为1),存储空间利用率就越高。

2. 基于时间的考虑

数组中任意节点都可以在O(1)内直接存储访问,而链表中的节点,需从头指针顺着链表扫描才能取得;在链表任何位置进行插入和删除,都只需要修改指针,而在数组中插入删除节点,平均要移动一半的节点.

C++语言中可以用数组处理一组数据类型相同的数据,但不允许动态定义数组的大小,即在使用数组之前必须确定数组的大小。而在实际应用中,用户使用数组之前有时无法准确确定数组的大小,只能将数组定义成足够大小,这样数组中有些空间可能不被使用,从而造成内存空间的浪费。

链表是一种常见的数据组织形式,它采用动态分配内存的形式实现。需要时可以用new分配内存空间,不需要时用delete将已分配的空间释放,不会造成内存空间的浪费。

A 从逻辑结构来看

A-1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费。

A-2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项)

B 从内存存储来看

B-1. (静态)数组从栈中分配空间,对于程序员方便快速,但是自由度小

B-2. 链表从堆中分配空间,自由度大但是申请管理比较麻烦.

数组中的数据在内存中的按顺序存储的,而链表是随机存储的!

要访问数组中的元素可以按下标索引来访问,速度比较快,如果对他进行插入操作的话,就得移动很多元素,所以对数组进行插入操作效率很低!

由于链表是随机存储的,链表在插入,删除操作上有很高的效率(相对数组),如果要访问链表中的某个元素的话,那就得从链表的头逐个遍历,直到找到所需要的元素为止,所以链表的随机访问的效率就比数组要低

数组在内存中开辟连续的一块区域,如果一个数据要两个内存单元,一组5个数据10个单元就够了,无需标记其地址,因为数组定义时候标顶了第一个原许的地址,其他四个都知道了。  链表可可以是连续的,也可以是不连续的,但一般都是不连续的,尽管在内存中是连续的,我们也不把他当作是连续的,而是把他当作是不连续的,因为如果把他当作是连续的,不如当作是数组了,在某些情况下。一链5个数据,如果每个数据本身用2个内存单元,那么10个单元是不够的,因为每个数据都要表示出下个数据在哪里,所以一个数据本身用2个单元,再用1个单元表示此链下一个数据在什么地址。  各有用处。

五程序设计

1、删除一个单项链表的最中间的元素,要求时间尽可能短(不能使用两次循环)

[cpp] view plaincopy
  1. struct link
  2. {
  3. int data;
  4. struct link *next;
  5. };
  6. void delMiddle(link *head)
  7. {
  8. if(head == NULL)
  9. return;
  10. else if(head->next == NULL)
  11. {
  12. delete head;
  13. return;
  14. }
  15. else
  16. {
  17. link *low = head;
  18. link *fast = head->next;
  19. while(fast != NULL && fast->next != NULL)
  20. {
  21. fast = fast->next->next;
  22. if(fast == NULL)
  23. break;
  24. low = low->next;
  25. }
  26. link *temp = low->next;
  27. low->next = low->next->next;
  28. delete temp;
  29. }
  30. }
  31. int main()
  32. {
  33. struct link *head,*l;
  34. struct link *s;
  35. head = (link*)malloc(sizeof(link));
  36. head->data=0;
  37. head->next = NULL;
  38. l = head;
  39. for(int i=1; i<9; i++)
  40. {
  41. s = (link*)malloc(sizeof(link));
  42. s->data = i;
  43. s->next = NULL;
  44. l->next= s;
  45. l = l->next;
  46. }
  47. print(head);
  48. delMiddle(head);
  49. print(head);
  50. return 0;
  51. }

宇龙酷派202笔试题相关推荐

  1. 2014宇龙酷派校招西安java类笔试题(热乎的,还冒烟呢)

    2014宇龙酷派校招西安java类笔试题(热乎的,还冒烟呢) 分类: 校招笔经 or 面经2013-09-18 16:19 674人阅读 经过了 叫人伤感的 阿里,我决定去 这些小公司找找 信心,今天 ...

  2. 宇龙酷派笔试题 2014 武汉

    宇龙酷派笔试题 2014 武汉 1.9*9乘法口诀 2.static作用 3.字符串反转 4.两个线程通信,不使用queue和list等 5.分支限界求旅行商问题

  3. 宇龙酷派面试 2014 武汉

    地点:纽宾凯鲁广国际酒店 一面: 项目 linux查看cpu.内存命令 谈谈你的长处和短处 项目中学到了什么 性格优点.缺点 二面: 你了解宇龙酷派这个公司吗?(面试前一定要了解公司的动态) 自我介绍 ...

  4. 宇龙酷派2014夏令营软件类笔试题(JAVA)

    转载于:https://www.cnblogs.com/gdyang/p/3723207.html

  5. 宇信易诚java面试_宇信易诚笔试题

    我知道笔试B是英文水平测试,包括三部分,单词.英译汉.作文,难度都不大 但是他们的要求非常之高,总共6个题,共11个空,我们必须对9个才算及格,也就是说最多错一道题吧,因为有些题是3个空,有些是2个空 ...

  6. 艺龙java面试题_艺龙2018秋招Java笔试题

    在牛客做了那么多题,终于轮到我分享了~~这是我做过的艺龙的Java笔试题哦~~ 单选题 1.设有以下递归函数: int f(int m,int n) { if(m==0) { return n+1; ...

  7. 宇龙通信与WinCE

    基于WinCE构建智能手机优势--宇龙通信通过采用WinCE系统加快了产品上市速度Author: winbile 转载时间: 2006-05-12. [文章来源:Microsoft]     宇龙计算 ...

  8. 同洲、宇龙手机源代码之争

    同洲电子涉嫌窃取宇龙酷派源代码的案件进展到源代码鉴定阶段,是由国家科技部产权事务中心鉴定,在北京. 从这个案件的报道中,可以增加对同洲电子的一些了解. 宇龙酷派的一位内部人士说他们掌握到情况,同洲电子 ...

  9. java单词接龙,百度2016年暑期实习生笔试题 —— 单词接龙

    拉姆刚开始学习英文单词,对单词排序很感兴趣.如果给拉姆一组单词,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的首字母与前一单词的尾字母相同.你能编写一个程序来帮助拉姆进行判断 ...

最新文章

  1. 实验吧-catalyst-system
  2. java 显示日历_JAVA显示日历(已知年和该年第一天为星期几)
  3. 【ECSHOP】格式化商品价格
  4. 安装OpenLDAP
  5. SVG 基础知识 回顾
  6. Java多线程之CAS缺点
  7. 拉格朗日乘子法几何意义
  8. [Objective-C语言教程]数组(14)
  9. C# partial 说明
  10. 使用VMProtect给软件加壳
  11. 实验四 JSP内置对象的应用
  12. html5 廖雪峰,廖雪峰 JavaScript Python Git 教程.pdf-原创力文档
  13. java收octet-stream后转multipart方案
  14. 【Unity2D】关卡编辑好帮手——TileMap
  15. 【IoT】 产品设计之α、β、λ测试
  16. 豆瓣评论数据词云画像()
  17. 防刷新网站访问量计数器
  18. JS中children与childNodes的区别
  19. 5V降压3.3V电路设计PW2058
  20. 用Windows电脑看txt小说,阅读器软件怎么选

热门文章

  1. LL-DASH CMAF 低延迟直播
  2. pyhon3模拟鼠标点击滚动下拉,键盘复制粘贴输入中文
  3. 大学生个人简历(有备无患,后悔没有早看到系列,个人整合版本)
  4. JAVA 大数的乘法运算和取余运算
  5. qt代码实现添加按钮功能
  6. Altium designer 如何快速生成贴片图 装配图
  7. 2021.03 编程题 36【Python二级题目解析】
  8. python两种方法解决线程冲突问题
  9. 机器学习系列4---RVM(相关向量机)MATLAB实现
  10. 如何看待数字化及楼宇数字化