20091206微软笔试题目
来源:互联网 发布:淘宝全球购入口 编辑:程序博客网 时间:2024/04/20 10:49
1) MS笔试题目之一:C++类继承直接的重载问题virtual
判断下面程序的输出结果
class A
{
public:
virtual void P(){cout<<"A"<<endl;}
};
class B:public A
{
public:
void P(){cout<<"B"<<endl;}
};
class C:public B
{
public:
void P(){cout<<"C"<<endl;}
};
void main(){
C* pC = new C();
((A*)pC)->P();
((B*)pC)->P();
((C*)pC)->P();
}
输出结果为:
C
C
C/
注意:如果class A中的P函数不是vtrual的,那么输出结果就是:
A
B
C
可见,virtural的作用是当用基类的指针指向子类的函数时,调用子类的函数。
2) MS笔试题目之二:
编写一个简单的语言语法检查器:
a) 变量名称以字母开头的任意字符组成;但是关键字Loop和End不能作为变量名称;
b) 只有int数据类型,并且无限大,没有溢出的可能;
c) 有四种操作类型:
i. ZeroSet:V1=0;
ii. ValueAssignment:V1=V2;
iii. AddOne ;V1++;
iv. Loop:
Loop(v)
A++;
B=A;
End
可以嵌套,并且嵌套中的v变化并不影响loop参数中的v变化,比如:
Loop(v1)
Loop(v2)
v2++;
End;
End;
其中v1=2,v2=2,那么此里外两个循环均运行两次,里面的v2++并没有影响外面的循环次数。
d) 无非零的常量;
e) 无比较和if语句。
Q1:编写一个语法检查函数
Bool TaoGrammarChecker(int statementCount, char* codes[])
此函数参数分别是:statementCount记录的是codes数组的大小;codes数组中记录的是每条语句。
其中有已存在的函数,来检查四个操作
Bool IsValidZeroSetStatement(char* codes);
Bool IsValidValueAssignmentStatement(char* codes);
Bool IsValidAddOneStatement(char* codes);
Bool IsValidLoopStartStatement(char* codes);
Bool IsValidLoopEndStatement(char* codes);
比如IsValidZeroSetStatement函数,作用是如果codes语句是ZeroSet操作,则返回true;否则返回false。
Q2:编写test cases来对上面的程序进行测试,注意case的分类
Q3:利用Tao语言来编写自减函数,比如输入是a,则返回a-1的值。如果a为0,则返回0;
Q4:假设已经存在“--”,类似c语言中的功能。利用Tao语言来编写“-=”函数,类似c语言中的-=,比如“a-=b”。如果a小于b则返回0。
Q5:假设“-=”存在,利用Tao语言编写a被b整除的功能。不用考虑b为零的情况。
- 20091206微软笔试题目
- 微软it笔试题目
- 微软笔试面试题目
- 微软一道笔试题目
- 微软实习生招聘笔试题目
- 微软笔试题目(一)
- 微软2013实习生笔试题目
- 微软2007春季实习笔试题目
- 微软2013暑期实习笔试题目
- 2013年微软实习生招聘笔试题目
- 微软2013.4.5暑期实习笔试题目
- 2013年微软实习生招聘笔试题目
- 2015_12_27微软校园招聘笔试题目
- 软件业巨无霸——微软笔试面试题目
- 赴微软测试工程师必考一道笔试题目
- 2011微软暑期实习笔试海选题目(欢迎讨论)
- 淘宝,微软,IBM等公司笔试,面试题目
- 淘宝,微软,IBM等公司笔试,面试题目
- SQL Server 安装问题
- 点击按钮时弹出另一个能控制大小的页面,并将某些值通过POST方式传给这个弹出的窗口
- C语言难点专题——数组和指针
- 本博客已搬家
- 无upload组件上传文件
- 20091206微软笔试题目
- c#抓取页面,设置POST数组
- asp.net中一个页面的开启需要启动多少事件?
- Tibco
- 面向对象认识
- asp.net生成静态页 分页显示
- 编程题目003
- ASP.net(c#) 在ACCESS数据库中利用参数使用存储过程例子(防SQL注入)
- dropdownlist绑定的二种方法