高分求教外企C/C++笔试答案

bjandroidhal10 2011-10-20 09:55:10
1、局部变量、静态变量、全局变量区别
2、下列结果:
#include<iostream>
using namespace std;
int main()
{
unsigned short int i=0;
int j=8;
int p;
p=j<<1;
i=i-1;
cout<<"\r<\n i=" <<i;
cout<<"\r\n p="<<p;
return(0)

}
3、给定一个整形变量x,分别实现X的bit5位置位和清零;
4、ISR和IST的区别?
5、strut A
{
int x;
char y;
char m;
int n;
}
求sizeof(A);

6、实现对链表Node *Head中P节点删除
Strut Node
{
int nData;
Node *Nest;

};
7\、Bool,Float,指针变量与"零值"比较的if语句。
8、以下为NT的32位C++, sizeof的值?
char str[]="Hello";
char *p=str;
int n=10;
请计算
sizeof(str)=
sizeof(p)=
sizeof(n)=
9、C++实现一个revert函数,功能将输入字符串的原串上倒序后返回!

10、用C++实现函数void *memmove(void *dest,const void*src,size_tn) memmove函数功能是拷贝SRC所指的内存内容前N个字节到dest所指的地址上!

11、char *GetMemory(void)
{
char p[]="hello world";
return p;
}
void Test(void)
{
char *str=Null;
str=GetMemory();
printf(str);
}
请问:Test运行结果?


...全文
435 38 打赏 收藏 转发到动态 举报
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qoo_wzp 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 37 楼 herocxgood 的回复:]

第五题为啥不是10?求解
[/Quote]

这主要是字符对齐的问题,你可以看看这篇文章,讲得很清楚::
http://blog.csdn.net/qoo_wzp/article/details/6009580
herocxgood 2011-12-06
  • 打赏
  • 举报
回复
第五题为啥不是10?求解
bjandroidhal10 2011-12-06
  • 打赏
  • 举报
回复
第十题 希望详解! 顶上!。。。。。。。。
hhsyxxwl0601 2011-10-25
  • 打赏
  • 举报
回复

题3:
#include <iostream.h>

int setBit5Zero(int x)
{
int result;
int temp1 = x;
unsigned int temp2 = x;

temp1 = temp1>>5;
temp2 = temp2<<28;

result = (temp1<<5) | (temp2>>28);

return result;

}

int main()
{
int x = 1023;
int re = setBit5Zero(x);

cout<<re<<endl;
}

bjandroidhal11 2011-10-24
  • 打赏
  • 举报
回复
大家打注释加上最好了
phoeni_xin 2011-10-24
  • 打赏
  • 举报
回复
吗软考 。
hhsyxxwl0601 2011-10-24
  • 打赏
  • 举报
回复
lz能透露下这是哪个公司吗?这外企不错啊,呵呵
bjandroidhal11 2011-10-24
  • 打赏
  • 举报
回复
第五题 能详细解释么?
suanmeilizhi 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 bjandroidhal10 的回复:]

11.乱码,内存已释放?? WHY????
[/Quote]

p是数组,局部变量存放在栈中,当函数返回时,p指向非凡内存。。。。
bjandroidhal10 2011-10-21
  • 打赏
  • 举报
回复
11.乱码,内存已释放?? WHY????
周晓荣 2011-10-21
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 bjandroidhal10 的回复:]

第二题目希望细节! 拜谢!
[/Quote]
p = 16 ( j << 1 ,j = 8, 0000 1000,左移一位,变成 0001 0000 , 右边第一位是2的0次方,接下来是2的一次方,2的两次方,这样子数过去,2的3次方就是8(0000,1000), 后来左移了一位,就变成了2的4次方,16(0001,0000))

i是无符号短整型,范围是0~65535,那么0 - 1 的话,本来是-1,但是因为是无符号,所以就是65535了
你可以简单的想象为0~65535是围成一个圈的,那么0的后面就是65535了
bjandroidhal10 2011-10-21
  • 打赏
  • 举报
回复
第二题目希望细节! 拜谢!
一叶之舟 2011-10-20
  • 打赏
  • 举报
回复
3、给定一个整形变量x,分别实现X的bit5位置位和清零;

struct bit
{
char i1:1;
char i2:1;
char i3:1;
char i4:1;
char i5:1;
char i6:1;
char i7:1;
char i8:1;
char i9:1;
char i10:1;
char i11:1;
char i12:1;
char i13:1;
char i14:1;
char i15:1;
char i16:1;
char i17:1;
char i18:1;
char i19:1;
char i20:1;
char i21:1;
char i22:1;
char i23:1;
char i24:1;
char i25:1;
char i26:1;
char i27:1;
char i28:1;
char i29:1;
char i30:1;
char i31:1;
char i32:1;
};
int X=25;
bit *pb=(bit*)&X;
bit5位置位值pb->i5;
bit5位置位清零;pb->i5=0;
Sniper80KG 2011-10-20
  • 打赏
  • 举报
回复
用编译器跑一下 很直观
bjandroidhal10 2011-10-20
  • 打赏
  • 举报
回复
>...肯定给分的! 大家最好注释一二...拜谢了
vilnies 2011-10-20
  • 打赏
  • 举报
回复
可以告诉我是那间外企吗 -_-
quwei197874 2011-10-20
  • 打赏
  • 举报
回复
都是些基础题,自己google下
seacat_hello 2011-10-20
  • 打赏
  • 举报
回复
。。。直接运行下不就有结果了吗
luciferisnotsatan 2011-10-20
  • 打赏
  • 举报
回复
都是些基础题,自己google下吧
cattycat 2011-10-20
  • 打赏
  • 举报
回复
这些很基础,网上找找也有答案,跟你同学讨论下也能学到不少。
加载更多回复(16)

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧