就业数据资源平台
当前位置:首页 > 笔试题目
VC软件工程师笔试题


   VC笔试题:


  1、如何打开注册表?用什么命令注册ocx控件以及用什么命令查看IP设置情况?


  2、static在C++中的作用


  3、数据库表格stu中存在字段ID表示编号,写SQL语句查询编号前10的记录


  4、数据库在写存储过程通常使用set nocount on来实现什么功能?


  5、UpdateData(TRUE)和UpdateData(FALSE)的区别


  6、解释MFC的数据类型COLORREF


  7、采用哪些函数可启动其它应用程序


  8、解释GetClientRect()和GetWindowRect()的区别


  9、解释MFC中SendMessage与PostMessage的区别


  10、名词解释


  MFC SDK DDX DLL TCP


  11、解释下面VC调试宏的意义


  TRACE


  ASSERT


  VERIFY


  12、编一函数判断点CPoint ptx 是否在点CPoint pta 和 ptb的连线上


  13、请说明数组CArray


  14、编程实现将8进制字符串转换为2进制字符串的函数


  15、编程实现整数的阶乘


  16、解释语句virtual void X()=0;的作用


  17、解释C++中struct和class的区别


  答案:


  1 regedit regsvr32 ipconfig


  2 用来定义静态的变量或函数


  3 select ID top 10 from stu


  4 当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数


  5 UpdateData(TRUE)刷新控件的值到对应的变量 UpdateData(FALSE) 拷贝变量值到控件显示


  6 COLORREF类型用来描绘一个RGB颜色COLORREF类型用来描绘一个RGB颜色。其定义如下: typedef DWORD COLORREF; typedef DWORD *LPCOLORREF; COLORREF类型变量值描绘一个颜色时对应于下面16进制的格式: 0x00bbggrr 可以用这样一个结构体来描述。 RGB_value struct { byte unused ; byte blue ; byte green ; byte red; };


  7 WinExec CreateProcess ShellExecute


  8 GetWindowRect()取的是整个窗口的矩形;


  GetClientRect()取的仅是客户区的矩形,也就是说不包括标题栏,外框等;


  9 发送消息后返回的时间.前者直到窗口执行完消息后才返回,后者向线程发送


  消息后没有等消息执行完就立即返回;返回值的不同.前者返回的是消息的执行结果,因消息的不同而不同,后者返回值表示该函数执行的成功与否


  10 微软基础类库 软件开发工具包 设备开发包 动态链接库 传输控制协议


  11 TRACE宏对于VC下程序调试来说,有着类似printf的功能,Assert - 断言 就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式


  VERIFY一个判断的宏


  12 BOOL OnLine(CPoint pt, CPoint start, CPoint end)


  {


  long MAXDIF = 5;


  //if(long(m_edgeWidth/2+0.5)>MAXDIF)


  // MAXDIF = long(m_edgeWidth/2 + 0.5);


  //else


  // MAXDIF = 5;


  //如果点击不在区域中,则返回FALSE


  CRect rc(start,end);


  rc.NormalizeRect();


  rc.InflateRect(MAXDIF,MAXDIF);


  if(!PtInRect(rc,pt))


  return FALSE;


  //计算距离


  int x=pt.x,y=pt.y;


  int x1=start.x,y1=start.y;


  int x2=end.x,y2=end.y;


  //水平,垂直情况


  if((x1 == x2)&&(abs(x-x1)<=MAXDIF))


  return TRUE;


  if((y1 == y2)&&(abs(y-y1)<=MAXDIF))


  return TRUE;


  int A = y1-y2;


  int B = x2-x1;


  int C = -A*x1-B*y1;


  double d;


  double sq = sqrt((double)(A*A+B*B));


  if(sq==0)


  {


  return FALSE;


  }


  else


  d = fabs((double)(A*x+B*y+C)/sq);


  //误差容忍范围


  if(d<=MAXDIF)


  return TRUE;


  else


  return FALSE;


  return TRUE;


  }


其他笔试题目推荐:


广东发展银行笔试题目    南京顺丰笔试题目    申银万国校园招聘笔试题目


就业数据资源平台