C++-外企笔试题.doc_第1页
C++-外企笔试题.doc_第2页
C++-外企笔试题.doc_第3页
C++-外企笔试题.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VC+开发工程师笔试题(时间:1小时 满分:100分)备注:答案请写在答题纸上,请勿在试卷上涂写一、 选择题(每题1分,共15分)1、C+语言的跳转语句中,对于break和continue说法正确的是( ) A)break语句只应用与循环体中 B)continue语句只应用于循环体中 C)break是无条件跳转语句,continue不是 D)break和continue的跳转范围不够明确,容易产生问题 2、for(int x=,y=o;!x&y 20; 8 9 if(copy) 10 len = flag & 0xF; 11 errstr = malloc(len); 12 if(errstr = NULL) 13 return -1; 14 strncpy(errstr, _errindex, sizeof(errstr); 15 else 16 errstr = _err + index; 17 18 19 void f2(int c) 20 char *err; 21 22 swtch(c) 23 case 1: 24 if(f1(err, 0x110004) != -1) 25 printf(err); 26 case 2: 27 if(f1(err, 0x30000D) != -1) 28 printf(err); 29 30 四、 程序输出结果(每题5分,共20分)1、第一题#includeusing namespace std;int f(int); int main() int i; for(i=0;i5;i+) coutf(I)0;i-) k + = i; return k; 程序输出结果为:2、第二题#include #include using namespace std;class Studentpublic: Student(char* pName=no name,int ssId=0) strncpy(name,pName,40); name39=0; id = ssId; cout Constructing new student pName endl; Student(Student& s) cout Constructing copy of endl; strcpy(name,copy of ); strcat(name,); id=s.id; Student() cout Destructing name endl; protected: char name40; int id;void fn(Student s) cout In function fn()n;void main() Student randy(Randy,1234); cout Calling fn()n; fn(randy); cout Returned from fn()n;程序输出结果为:3、第三题#includeusing namespace std;struct sachar a2; short int d; int b; char c13;struct sbchar e; int b; char a7; int *p;void main()char *p_char = NULL;int *p_int = NULL;cout sizeof(p_char) ;cout sizeof(p_int) ;cout sizeof(short int) ;cout sizeof(sa) ;cout sizeof(sb) ;程序输出结果为:4、第四题#include void main()char *p = NULL;int a = -10;unsigned int b = 7;if(p=malloc(0) = = NULL)printf(successed);else printf(failed);(a+b)0 ? printf(n):printf(Badn);程序输出结果为:五、 简答题(每题3分,共15分)1. 简述VC中Debug和Release的区别?Assert和Verify的区别?2. 简述char、wchar_t及TCHAR的区别和联系?3. 简述COM和DLL的区别和联系?4. 简述new和malloc, delete和free的区别和联系?C+中为什么要引入new和delete ?5. 试从性能上讨论STL中Vector和List的区别?六、 编程题(每题10分,共20分)1. 合并两个有序单链表。要求:(1)写出合并算法的思路 (2)尽量少占用存储空间(3)合并函数原型为Node * Merge(Node*head1,Node*head2),其中Node链表中的节点:定义为:typedef struct NODE int value; struct NODE * next;Node;head1为单链表1的头节点指针,head2为单链表2的头结点指针。2. 设计一个洗牌算法。描述:现有一副扑克牌共54张,每次玩完牌局后,需要

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论