cpp练习题

萌到你眼炸
764次浏览
2020年07月29日 07:27
最佳经验
本文由作者推荐

that的意思-悲哀的意思

1 #include “filename.h”和#include 的区别?

2 头文件的作用是什么?

3 C++函数中值的传递方式有哪几种?

4 内存的分配方式的分配方式有几种?

5 实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数;

6 写一个函数,将其中的t都转换成4个空格。

7 Windows程序的入口是哪里?写出Windows消息机制的流程.

8 如何定义和实现一个类的成员函数为回调函数?

9 C++里面是不是所有的动作都是main()引起的?如果不是,请举例.

10 C++里面如何声明const void f(void)函数为C程序中的库函数?



11 下列哪两个是等同的

int b;

A const int* a = &b;

B const* int a = &b;

C const int* const a = &b;

D int const* const a = &b;



12 内联函数在编译时是否做参数类型检查


13 三个float:a,b,c
问值
(a+b)+c==(b+a)+c
(a+b)+c==(a+c)+b
14 把一个链表反向填空

15 设计一个重采样系统,说明如何anti-alias

16 某个程序在一个嵌入式系统(200M的CPU,50M的SDRAM)中已经最化了,换到另一个系统(300M的CPU,50M的SDRAM)中运行,还需要优化吗?

17. 下面哪种排序法对12354最快
a quick sort
sort
sort

18. 哪种结构,平均来讲,获取一个值最快
a. binary tree
b. hash table
c. stack


19 请问C++的类和C里面的struct有什么区别?

20 请讲一讲析构函数和虚函数的用法和作用?

21 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

22 一些寄存器的题目,主要是寻址和内存管理等一些知识。

23 8086是多少尉的系统?在数据总线上是怎么实现的?

24 多态。overload 和 override的区别。


<>
25.完成下列程序

*

*.*.

*..*..*..

*...*...*...*...

*....*....*....*....*....

*.....*.....*.....*.....*.....*.....

*......*......*......*......*......*......*......

*.......*.......*.......*.......*.......*.......*.......*.......

#include

#define N 8

int main()

{

int i;

int j;

int k;

---------------------------------------------------------

| |

| |

| |

---------------------------------------------------------

return 0;

}

26 完成程序,实现对数组的降序排序

#include



void sort( );



int main()

{

int array[]={45,56,76,234,1,34,23,2,3}; //数字任//意给出

sort( );

return 0;

}



void sort( )

{

____________________________________

| |

| |


|-----------------------------------------------------|

}

27 费波那其数列,1,1,2,3,5……编写程序求第十项。可以用递归,也可以用其他方法,但要说明你选择的理由。

#include

int Pheponatch(int);



int main()

{

printf("The 10th is %d",Pheponatch(10));

return 0;

}



int Pheponatch(int N)

{

--------------------------------

| |

| |

--------------------------------

}

28 下列程序运行时会崩溃,请找出错误并改正,并且说明原因。

#include

#include



typedef struct{

TNode* left;

TNode* right;

int value;

} TNode;



TNode* root=NULL;



void append(int N);



int main()

{

append(63);

append(45);

append(32);

append(77);

append(96);

append(21);

append(17); // Again, 数字任意给出

}



void append(int N)

{

TNode* NewNode=(TNode *)malloc(sizeof(TNode));

NewNode->value=N;



if(root==NULL)

{

root=NewNode;

return;

}

else

{

TNode* temp;

temp=root;

while((N>= && !=NULL) || (N
))

{

while(N>= && !=NULL)

temp=;

while(N< && !=NULL)

temp=;

}

if(N>=)

=NewNode;

else

=NewNode;

return;

}

}


29. A class B network on the internet has a subnet mask of 255.255.240.0, what is the maximum number of hosts per subnet .

a. 240 b. 255 c. 4094 d. 65534

30. What is the difference: between o(log n) and o(log n^2), where both logarithems have base 2 .

a. o(log n^2) is bigger b. o(log n) is bigger

c. no difference

31. For a class what would happen if we call a class’s constructor from with the same class’s constructor .

a. compilation error b. linking error

c. stack overflow d. none of the above

32. “new” in c++ is a: .

a. library function like malloc in c

b. key word c. operator

d. none of the above

33. Which of the following information is not contained in an inode .

a. file owner b. file size

c. file name d. disk address

34. What’s the number of comparisons in the worst case to merge two sorted lists containing n elements each .

a. 2n b.2n-1 c.2n+1 d.2n-2

35. Time complexity of n algorithm T(n), where n is the input size ,is T(n)=T(n-1)+1/n if n>1 otherwise 1 the order of this algorithm is .

a. log (
n) b. n c. n^2 d. n^n

36. The number of 1’s in the binary representation of 3*4096+ 15*256+5*16+3 are .

a. 8 b. 9 c. 10 d. 12

37.设计函数 int atoi(char *s)。

38.int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?

39.解释局部变量、全局变量和静态变量的含义。

40.解释堆和栈的区别。

41.论述含参数的宏与函数的优缺点。


42. 以下三条输出语句分别输出什么?[C易]
char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha << ( str1==str2 ) << endl; // 输出什么?
cout << boolalpha << ( str3==str4 ) << endl; // 输出什么?
cout << boolalpha << ( str5==str6 ) << endl; // 输出什么?

43. 非C++内建型别 A 和 B,在哪几种情况下B能隐式转化为A?[C++中等]
答:
a. class B : public A { ……} // B公有继承自A,可以是间接继承的
b. class B { operator A( ); } // B实现了隐式转化为A的转化
c. class A { A( const B& ); } // A实现了non-explicit的参数为B(可以有其他带默认值的参数)构造函数
d. A& operator= ( const A& ); // 赋值操作,虽不是正宗的隐式类型转换,但也可以勉强算一个

44. 以下代码中的两个sizeof用法有问题吗?[C易]
void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母
{
for( size_t i=0; iif( 'a'<=str[i] && str[i]<='z' )
str[i] -= ('a'-'A' );
}
char str[] = "aBcDe";
cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl;
UpperCase( str );
cout << str << endl;

45. 以下代码有什么问题?[C难]
void char2Hex( char c ) // 将字符以16进制表示
{
char ch = c/0x10 + '0'; if( ch > '9' ) ch += ('A'-'9'-1);
char cl = c%0x10 + '0'; if( cl > '9' ) cl += ('A'-'9'-1);
cout << ch << cl << ' ';
}
char str[] = "I love 中国";
for( size_t i=0; ichar2Hex( str[i] );
cout << endl;

46. 以下代码有什么问题?[C++易]
struct Test
{
Test( int ) {}
Test() {}
void fun() {}
};
void main( void )
{
Test a(1);
();
Test b();
();
}

47. 以下代码有什么问题?[C++易]
cout << (true?1:"1") << endl;

8. 以下代码能够编译通过吗,为什么?[C++易]
unsigned int const size1 = 2;
char str1[ size1 ];
unsigned int temp = 0;
cin >> temp;
unsigned int const size2 = temp;
char str2[ size2 ];

48. 以下代码中的输出语句输出0吗,为什么?[C++易]
struct CLS
{
int m_i;
CLS( int i ) : m_i(i) {}
CLS()
{
CLS(0);
}
};
CLS obj;
cout << obj.m_i << endl;

49. C++中的空类,默认产生哪些类成员函数?[C++易]
答:

class Empty
{
public:
Empty(); // 缺省构造函数
Empty( const Empty& ); // 拷贝构造函数
~Empty(); // 析构函数
Empty& operator=( const Empty& ); // 赋值运算符
Empty* operator&(); // 取址运算符
const Empty* operator&() const; // 取址运算符 const
};

50. 以下两条输出语句分别输出什么?[C++难]
float a = 1.0f;
cout << (int)a << endl;
cout << (int&)a << endl;
cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么?
float b = 0.0f;
cout << (int)b << endl;
cout << (int&)b << endl;
cout << boolalpha << ( (int)b == (int&)b ) << endl; // 输出什么?





51. 以下反向遍历array数组的方法有什么错误?[STL易]
vector array;
_back( 1 );
_back( 2 );
_back( 3 );
for( vector::size_type i=()-1; i>=0; --i ) // 反向遍历array数组
{
cout << array[i] << endl;
}

52. 以下代码有什么问题?[STL易]
typedef vector IntArray;
IntArray array;
_back( 1 );
_back( 2 );
_back( 2 );
_back( 3 );
// 删除array数组中所有的2
for( IntArray::iterator itor=(); itor!=(); ++itor )
{
if( 2 == *itor ) ( itor );
}

53. 写一个函数,完成内存之间的拷贝。[考虑问题是否全面]
答:
void* mymemcpy( void *dest, const void *src, size_t count )
{
char* pdest = static_cast( dest );
const char* psrc = static_cast( src );
if( pdest>psrc && pdest{
for( size_t i=count-1; i!=-1; --i )
pdest[i] = psrc[i];
}
else
{
for( size_t i=0; ipdest[i] = psrc[i];
}
return dest;
}
int main( void )
{
char str[] = "";
mymemcpy( str+1, str+0, 9 );
cout << str << endl;

system( "Pause" );
return 0;
}


54 线程与进程的区别

55:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

56:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?

57:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

58:请问C++的类和C里面的struct有什么区别?

59:请讲一讲析构函数和虚函数的用法和作用?

60:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

61:一些寄存器的题目,主要是寻址和内存管理等一些知识。

62:8086是多少位的系统?在数据总线上是怎么实现的?

<>
63.怎样用最快的方法判断链表是否有环?

64.c++中引用和指针有什么不同?指针加上什么限制等于引用?

65.做的项目,遇到的困难,怎样解决?


66.在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯.

67.有两根不均匀分布的香,每根香烧完的时间是一个小时,你能用什么方法来确定一段15分钟的时间.

68.一个经理有三个女儿,三个女儿的年龄加起来等于13,三个女儿的年龄乘起来等于经理自己的年龄,有一个下属已知道经理的年龄,但仍不能确定经理三个女儿的年龄,这时经理说只有一个女儿的头发是黑的,然后这个下属就知道了经理三个女儿的年龄.请问三个女儿的年龄分别是多少?为什么?

69.操作符重载
class CMyObject:pulic CObject
{
Public:
CMyObject();
CMyObject &operator=(const CMyObject &my);
private:
CString strName;
int nId:
};
请重载赋值操作符


70.链表
Struct structList
{
int value;
structList *pHead;
}
Struct LinkedList *pMyList;
请编写删除链表的头、尾和第n个节点的程序


71.用Socket API制作一个聊天程序,通讯协议使用tcp/ip。要求有简单界面即可,支持多人聊天。



72.如果有过工作经验,请说明在先前公司的工作以及离职原因(如无,请说明毕业后的个人展望)


***************************************************************************
73 对于C++中类(class) 与结构(struct)的描述正确的为:
A,类中的成员默认是private的,当是可以声明为public,private 和protected,结构中定义的成员默认的都是public;
B,结构中不允许定义成员函数,当是类中可以定义成员函数;
C,结构实例使用malloc() 动态创建,类对象使用new 操作符动态分配内存;
D,结构和类对象都必须使用new 创建;
E,结构中不可以定义虚函数,当是类中可以定义虚函数.
F,结构不可以存在继承关系,当是类可以存在继承关系.
答:A,D,F
***************************************************************************


***************************************************************************
74,两个互相独立的类:ClassA 和 ClassB,都各自定义了非景泰的公有成员函数 PublicFunc() 和非静态的私有成员函数 PrivateFunc();
现在要在ClassA 中增加定义一个成员函数ClassA::AdditionalPunction(ClassA a,ClassB b);则可以在AdditionalPunction(ClassA x,ClassB y)的实现部分(函数功能体内部)
出现的合法的表达是最全的是:
A,eFunc();Func();eFunc();Func();
B,eFunc();Func();Func();
C,eFunc();eFunc();Func();
D,Func();Func();
答:B
***************************************************************************

***************************************************************************
75,C++程序下列说法正确的有:
A,对调用的虚函数和模板类都进行迟后编译.

B,基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual 声名,而且必须名字相同且参数类型相同返回类型相同
C,重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同.
D,静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数.
答:A
***************************************************************************


76,C++中的类与结构的区别?

77,构造函数和析构函数是否可以被重载,为什么?

78,一个类的构造函数和析构函数什么时候被调用,是否需要手工调用?



********************************************************************************************

1链接表和数组之间的区别是什么?

2做一个链接表,你为什么要选择这样的方法?

3选择一种算法来整理出一个链接表。你为什么要选择这种方法?现在用O(n)时间来做。

4说说各种股票分类算法的优点和缺点。

5用一种算法来颠倒一个链接表的顺序。现在在不用递归式的情况下做一遍。

6用一种算法在一个循环的链接表里插入一个节点,但不得穿越链接表。

7用一种算法整理一个数组。你为什么选择这种方法?

8用一种算法使通用字符串相匹配。

9颠倒一个字符串。优化速度。优化空间。

10颠倒一个句子中的词的顺序,比如将“我叫克丽丝”转换为“克丽丝叫我”,实现速度最快,移动最少。

11找到一个子字符串。优化速度。优化空间。

12比较两个字符串,用O(n)时间和恒量空间。

13假设你有一个用1001个整数组成的数组,这些整数是任意排列的,但是你知道所有的整数都在1到1000(包括1000)之间。此外,除一个数字出现两次外,其他所有数字只出现一次。假设你只能对这个数组做一次处理,用一种算法找出重复的那个数字。如果你在运算中使用了辅助的存储方式,那么你能找到不用这种方式的算法吗?

14不用乘法或加法增加8倍。现在用同样的方法增加7倍。

15编写实现链表排序的一种算法。说明为什么你会选择用这样的方法?

16编写实现数组排序的一种算法。说明为什么你会选择用这样的方法?

17请编写能直接实现strstr()函数功能的代码。

18编写反转字符串的程序,要求优化速度、优化空间。

19在链表里如何发现循环链接?

20给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。

21写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4
行代码编写出一个从字符串到长整形的函数?)

22给出一个函数来输出一个字符串的所有排列。

23请编写实现malloc()内存分配函数功能一样的代码。

24给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。

25怎样编写一个程序,把一个有序整数数组放到二叉树中?

26怎样从顶部开始逐层打印二叉树结点数据?请编程。

27怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?

28链表和数组的区别在哪里?x00

虽千万人-稠密的意思


酸根离子-顺遂


福建属于华南还是华东-冗余怎么读


行是知之始-摩挲的意思


dmc材料-儿皇帝


密字组词-撮的读音


丙组词-罗曼蒂克是什么意思


桦字怎么读-烹饪方法有哪些