CC及数据结构笔试题集锦_第1页
CC及数据结构笔试题集锦_第2页
CC及数据结构笔试题集锦_第3页
CC及数据结构笔试题集锦_第4页
CC及数据结构笔试题集锦_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二:改错题,只能在原来的基础上增加代码,不能删除代码 #include#includevoid foo(int age,char *bb = (char *malloc(64;sprintf(b,"Your Age is %d",age;int main(char *f;foo(23,f;printf("%sn",f;答案版本 1#include#includevoid foo(int age,char *b*b = (char *malloc(64;sprintf(*b,"Your Age is %d",age;int main(c

2、har *f;foo(23,f;printf("%sn",*f;return 0;版本 2#include#includevoid foo(int age,char *&bb = (char *malloc(64;sprintf(b,"Your Age is %d",age; int main(char *f;foo(23,f;printf("%sn",f;free(f;/不要忘了 free;三:有程序片断如下int main(int I = 20;pid_t pid = 5;if(pid = fork( > 0I =

3、50;printf("%dn",I; (1else if(pid = 0printf("%dn",I; (2请问该程序用的是进程方式还是线程方式,并说明进程与线程的区别:请问该程序输出什么结果?无参考答案 L四、 constant pointer points for Stringpointer points for constant string五、下面等价的是:A int i=0if(iprintf("hello,world" B int i=1;int j=2;if(i=1 | j=2 printf("hello,wo

4、rld" C Boolean b1=true; Boolean b2=true; if(b1=b2printf("hello,world" D int i=1;int j=2;if(i=1 &| j=2 printf("hello,world"六、排序二叉树插入一个节点或双向链表的实现四六为 IBM 面试题。七、指针 +的含义和用法八、 stack 和 heap 的分配, rt -os 的特点、同步的方式九、怎样避免内存泄漏的问题十、编程实现十进制数转化为十六进制输出,不准用任何已经定义的库函数,比方说 String , Math 。

5、int toHex(int 嗯,一页写不下,再来一页。十一、 编程实现大于 100的两个数值相乘的结果输出, 同样不准使用任何已定义函数, Math,st ring,convert 等。比方说 12345*32534677输入为两个 string int toPlus('12345','32434677'输出为一个长型的十二、 int delete(node * headfree(head;head=head->link;return(0;指出程序的错误,并且写出正确的程序十三、写一个程序可以算出字节在计算机中的存储是由大到小还是有小到大。十四、一段程序,

6、写出输出结果大概是class Astatic void virtual print(cout<<"A:print("< class Bstatic void virtual print(cout<<"B:print("< class Cstatic void print(cout<<"C:print("< print (A aa.print(;main(A a,*aa,*ab,*ac;B b;C c;aa=&a;ab=&b;ac=&c;a.print(;b.

7、print(;c.print(;aa.print(;ab.print(;ac.print(;print(a;print(b;print(c;十五、给两个变量 , 如何找出一个带环单链表中是什么地方出现环的。 (答案参考 expert C programming 。十十五为 MS 笔试题。十六、写一个带参数宏 get_struct_addr_from_member_addr(p, stru, m,能够根据任意结构实体的某一个成员的地址, 算出该结构实体的地址, 其中参数 p 是指向该 成员的指针, stru 是该结构体, m 是该成员。 (SUN 试题十七、给一个函数int main(int i

8、, n=20;for(i=0;iprintf("-"return 0;要求替换、增加或者减少一个字符,使该程序可以打出 20个“ -”号,并要求写出三种解法 。 (sun 试题参考:1。 i- 换成 n-2。 i 换成 -i十八、解释 typedef char (*FUNC(int, char*的含义十九、问 #include 和 #include "abc.h"的区别, #define MAX_NUM 10 和 const intMAX_NUM=10区别二十、问用什么方法可以避免一些潜在错误,比如 if( myvar = 3这一类编程规范的问题,用 i

9、f( 3 = myvar就可以在编译时报错十六二十为 SUN 笔试题。嗯,最后一页了!二十一、用状态机实现 10010码的探测,如 x=1001001000 z=0000100100(输出二十二、给一个数组 src10排序,用两种方法,并比较二十三、 c / c+ 的不同新的注释风格,变量作用域,函数重载,操作符重载,缺省参数,按引用传送,内 联函数、模版等。二十四、 run time environemnt 的应用领域,并给予解释二十五、使用代码或者宏将十进制转化为十六进制格式二十六、实时嵌入系统中,两个任务同时访问 RS232c port,设计一个共有的子窜转发 二十七、多任务实施系统中,

10、一个任务有多少种状态?描述一个系统怎么工作二十八、选择题:char *p,*q="i am",*g="Chanese!"strcpy(p,q;strcat(p,g;printf("%s",p;a.i am b.i amChanese! c.i am Chanese! d都不是二十九、对优先级抢占调度法和时间片轮转调度法的理解三十、哈息表查找的优缺点,并列出你所知道的哈希函数构造法三十一、有两个无序链表 A1和 A2,写出程序把 A1和 A2合并成一个递增的链表。 三十二、 a+, +a中 a 的值是先加还是后加的三十三、函数栈中分配空

11、间与全局堆中分配空间的区别和联系三十四、函数体内 static 声明的变量的特殊意义三十五、 Struct xxx xx20 这个是预先申请了内存么?参考答案:是的, struct xxx xx20确实已经申请了内存,而 struct xxx *xx20则不是事先申请内存,仅表示申明一下,后者需要 malloc 申请内存。三十六、 char * p;p = “ss”;for (; *p != 0 ; p+*p = 0问此时 p 的值是多少?参考答案:char * 的分配是在静态区,当作常量对待,赋值后就不可以修改,这是字符串的用法,如果指向数组就另当别论。这个程序的错误 , 首先字符串结束要比

12、较 '0'而不是 0,另外 p 指向 const string不能 赋值。三十七、 char *string;string = “I am ok”这个语句有问题么? 没有?三十八、关于实现 swap 的方法:int p=1, q=2;swap(&p , &q;下面三个函数 ,哪个是正确的?(参考答案:11、 void swap (int *p, *q int temp;temp = *p;*p = *q;*q = temp2、 void swap(int *p, *q int *temp;*temp = *p;*p = *q;*q = *temp;3、 void

13、 swap(int*p, *q int *temp;temp = p;p = q;p = temp;4、 main( swap(a, b;swap (int p, int q int temp;temp = p;p = q;q = temp;三十九、全局变量被 static 变量重载,进行分析。 有如下 C 程序:#include#includeint i = 0;int func(;void main(int rst = 0;rst = func( + i ;rst += func( + i ;printf("%d", rst;int func( static i ;i+

14、;return i;参考:其实并不是全局变量被 static 重载,在函数内如果定义了 i ,那么,全局变量 i 就不起作用了,什么意思,就是说如果 i 在函数内部定义了,那么函数内部使用的 i 是函数自己定义的,而不是全局变量的 i 。这里 static 是一个迷惑,其实不用 static ,含意也是一样的,只是每次函数里的 i 的值不能保 存了。全局变量不初始化,那么 int 的值为 0,局部变量不初始化,那么其值不知。四十、关于 typedef 和 *相组合定义东西四十一、关于 union 的使用,比如:#include#includevoid main( union xxx struc

15、t xx long int x;int y; p;int z; a;a.z = 7;打印出来的结果是什么?参考:结果为 13,解释为:由于 union 是联合,那么只能存在一个值,所以 z 的值始终和 p.x 的值相等union 的存储空间有最大那个单元决定,所以当对 p.z 赋值时, p.y 的值并没有丢失。 四十二、 long int i = -2;那么 (inti的值是多少?参考:仍然时-2,因为 i 用补码表示为 fffe 去掉高位,符号位不变,那么应该是 fe 所以 依然是 -2。三十四十二为华为 /华 3的笔试题。 _ !四十三、类定义的构造函数提供缺省值与不提供缺省值,有何区别?

16、四十四、 C+主要特性包含哪些?什么是虚函数,主要用处是什么?四十五、 5分钟之内写一个排序算法。四十六、 new/delete对象时,使用堆还是堆栈?四十三四十六为朗讯笔试题。四十七、程序执行的时候怎么分配内存空间,每个部分的作用?四十八、实时操作系统,在 RS-232上面,如何设计才可以保证两个任务送出的命令字符串 严格同步?四十九、实时操作系统中运行多个任务, 写出任务可能存在的状态,状态之间的转化, 以及 转化条件?四十七四十九为威盛考题。五十、最为完整的 MS -A TC 笔试题一多项选择 18题(60分钟1. 为什么有些文件里使用了不可打印的字符a. 这些文件不需要输出b. 这些文

17、件里的数字在不同机器上的意义不同,所以另外用一个二进制数来表示C.word 里用来产生格式的D. 多一点也没坏处2. 类的不同 instance 有什么不同的a.method 不同B.C.attribute valueD. 以上都不对3. 使用 function 的好处若干道看程序输出结果题14. 数字规律题10 1 9 3 8 5 7 7 6 问后面两个是什么15.ABCDEF 是 1-9的不重复数字, ABCDEF*2=CDEFAB*2=EFABCD问 ABCDEF=? 16.S 给 M 和 N 看了一张扑克牌,牌只在下面的集合中黑桃 A 4 3红桃 Q 3 1 4梅花 Q k j 4 5 2方片 A 5M 看完说 我不知道是哪个N 看完说 我知道你不知道是哪个M 于是又说 我知道了N 于是又说 我也知道了问到底是哪个?17. 三个盒子里,只有一个有钻石,你已经选了一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论