以下笔试题为个人整理,但解释多来自各个博客,版权还是他们的,我只是大网络的搬运工。
Q1.
struct X
{
char a;
int b;
double c;
}S1;
sizeof(S1)的值是多少?
A:16
详解:这是内存对齐的问题,解释链接:http://blog.csdn.net/grantxx/article/details/7577730 (未找到原作者,第一次转载者为 grantxx )
Q2:
unsigned int x = 6;
x = x << 4 + 1;
printf("%d", x);
问输出结果是多少?
A:192 。 这里考到的其实是优先级(本题中加法的优先级要高于左移)。解释链接:http://blog.csdn.net/chenyiming_1990/article/details/9162067
C/C++语法:
Q1:重载(overload),覆盖(override),隐藏(hide)的区别 http://www.cppblog.com/zgysx/archive/2007/03/12/19662.html http://blog.csdn.net/yanjun_1982/article/details/470405
链表:
题目:已知有两个链表head1,head2 ,请实现:
1)写一个函数,实现对两个链表的排序
2)在(1)的基础上,写一个函数,实现对已排序号的链表A、B进行合并的功能,产生一个依然有序的链表。(保留所有结点,即便大小相同)
http://www.tuicool.com/articles/Nzee6z http://www.cnblogs.com/tenosdoit/p/3666585.html
字符串:
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。
例如输入“I am a student.”,则输出“student. a am I”。
http://zhedahht.blog.163.com/blog/static/254111742007289205219/ (整句翻转,单词内部再翻转即可。)
http://blog.csdn.net/hzy38324/article/details/45390531 用栈也可以