最新CC++及数据结构笔试题集锦 下载本文

精品文档

大概是

class A

{

static void virtual print(){cout<<\;

}

class B

{

static void virtual print(){cout<<\;

}

class C

{

static void print(){cout<<\;

}

print (A a)

{

a.print();

}

main()

{

A a,*aa,*ab,*ac;

B b;

C c; 精品文档

精品文档

aa=&a;

ab=&b;

ac=&c;

a.print();

b.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, n=20; 精品文档

精品文档

for(i=0;i

printf(\

return 0; }

要求替换、增加或者减少一个字符,使该程序可以打出20个“-”号,并要求写出三种解法 。(sun试题)

参考:1。i-- 换成 n--

2。i换成 -i

十八、解释 typedef char (*FUNC)(int, char*)的含义

十九、问#include 和#include \的区别,#define MAX_NUM 10 和 const int

MAX_NUM=10区别

二十、问用什么方法可以避免一些潜在错误,比如if( myvar = 3)这一类

编程规范的问题,用 if( 3 = myvar)就可以在编译时报错

十六~二十为SUN笔试题。 嗯,最后一页了!

二十一、用状态机实现10010码的探测,如x=1001001000 z=0000100100(输出)

二十二、给一个数组src[10]排序,用两种方法,并比较

二十三、c / c++ 的不同

新的注释风格,变量作用域,函数重载,操作符重载,缺省参数,按引用传送,内

联函数、模版等。

二十四、run time environemnt 的应用领域,并给予解释

二十五、使用代码或者宏将十进制转化为十六进制格式 精品文档

精品文档

二十六、实时嵌入系统中,两个任务同时访问RS232c port,设计一个共有的子窜转发……

二十七、多任务实施系统中,一个任务有多少种状态?描述一个系统怎么工作

二十八、选择题:char *p,*q=\

strcpy(p,q);

strcat(p,g);

printf(\

a.i am b.i amChanese! c.i am Chanese! d都不是

二十九、对优先级抢占调度法和时间片轮转调度法的理解

三十、哈息表查找的优缺点,并列出你所知道的哈希函数构造法

三十一、有两个无序链表A1和A2,写出程序把A1和A2合并成一个递增的链表。

三十二、a++, ++a中a的值是先加还是后加的

三十三、函数栈中分配空间与全局堆中分配空间的区别和联系

三十四、函数体内 static声明的变量的特殊意义

三十五、Struct xxx xx[20] 这个是预先申请了内存么?

参考答案:是的,struct xxx xx[20]确实已经申请了内存,而struct xxx *xx[20]则不

是事先申请内存,仅表示申明一下,后者需要malloc申请内存。

三十六、char * p;

p = “ss”;

for (; *p != 0 ; p++)

*p = 0

问此时p的值是多少?

参考答案:char * 的分配是在静态区,当作常量对待,赋值后就不可以修改,这是字符 精品文档

精品文档

串的用法,如果指向数组就另当别论。

这个程序的错误,首先字符串结束要比较'\\0'而不是0,另外p指向const string不能

赋值。

三十七、char *string;

string = “I am ok”

这个语句有问题么? 没有?

三十八、关于实现swap的方法:

int p=1, q=2;

swap(&p , &q);

下面三个函数 ,哪个是正确的?(参考答案:

1、void swap (int *p, *q) {

int temp;

temp = *p;

*p = *q;

*q = temp }

2、void swap(int *p, *q) {

int *temp;

*temp = *p;

*p = *q;

*q = *temp; } 精品文档

1)