24小时热门版块排行榜    

查看: 388  |  回复: 2

recen

木虫 (文坛精英)

宅!宅!宅!宅出韭菜来

优秀版主

[交流] 【讨论】一份C/C++实习生笔试试卷(基础部分),大家讨论一下答案吧! 已有2人参与

一、基础知识
1、 下面几个是在编程领域里经常使用的缩写,请写出他们的英文全写,并翻译成中文。注意是编程领域.
(1) OS   
(2) VS
(3) MS
(4) CS
(5) RTOS
(6) SDK
(7) IDE
2、 下列几个C语言表达式是否正确?如果正确,写出它们表达的意思:
(1) a&b
(2) a&(&b)
(3) a&&b
(4) a**b
3、 在编程风格中,一般都要强调使用匈牙利命名法,下面是匈牙利命名法中一些公认的前缀,并给出变量名的例子,请写出它们所代表的变量类型:
前缀 变量名 描述前缀的意义
g_ g_Lock   
m_ m_Num   
p pTrack   
h hModule   
sz szText   
dw dwMsg   

4、头文件中ifndef / define / endif 是做什么用的?
5、代码里有时可以看到extern “C”, 这语句是做什么用的?  
6、软件开发中说的check out, check in是什么意思?
7、C语言函数前面加static,和C++类的成员函数前面加static,两者的意义有何区别?
8、简单描述一下WIN32上 .c / .cpp / .rc / .obj / .res / .lib / .dll / .exe这几个后缀所表示的文件类型,以及他们之间的相互生成关系。如果你是LINUX程序员,前面这个问题答不上,那么请描述一下GCC编译的几个步骤和中间生成文件。

二、简单代码
1、
char* GetMemory(void)
{
  char p[] = “Welcome to AMOI”;
  return p;
}
void main(void)
{
  char* str = NULL;
  str = GetMemory();
  printf(str);
}
运行main函数的结果如何?你觉得该段代码是否存在什么问题?

2、
void GetMemory(char** p, int len)
{
  *p = (char*)malloc(len);
}
void main(void)
{
  char* str;
  GetMemory(&str, 100);
  strcpy(str, “Hello World”);
  printf(str);
}
运行main函数的结果如何?你觉得该段代码是否存在什么问题?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

josephZhao

金虫 (小有名气)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ajian04(金币+1):谢谢参与交流~ 2010-10-26 19:58:52
(1) a&b  a和b按位与运算
(2) a&(&b) a和b的地址按位与运算
(3) a&&b   a和b逻辑与运算
(4) a**b    a乘以b指向的变量
2楼2010-10-26 18:44:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lhfx_313

至尊木虫 (文坛精英)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
ajian04(金币+1):谢谢参与交流~ 2010-10-26 19:59:02
4. 防止该头文件被重复引用
5. 告诉编译器声明后面的内容是引用的是C程序版本
7. c中static 作用是限定函数只在本文件中可见,为链接用的
     c++ 中static
   在文件作用域:
       作用是限定函数只在本文件中可见,为链接用的
   在类作用域:
       1) 表示该成员的静态性,不依赖于具体实例,可
            以直接通过类类型访问该static 成员函数
       2)限制访问普通数据成员,只能访问静态数据成员和函数
二  1:
可能是乱码。因为 GetMemory 返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原现的内容已经被清除,新内容不可知。
二 2:
(1)能够输出hello(2)内存泄漏

[ Last edited by lhfx_313 on 2010-10-26 at 19:28 ]
3楼2010-10-26 19:26:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 recen 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见