C/C++_lesson9~14测试
2014-07-27 19:30
169 查看
第一大题、描述题,实现题目要求的代码或写出题目要求的解释(共70分)
1. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。
2. 用变量a给出下面的定义
a) 一个整型数
b) 一个指向整型数的指针
c) 一个指向指针的的指针,它指向的指针是指向一个整型数
d) 一个有10个整型数的数组
e) 一个有10个指针的数组,该指针是指向一个整型数的
f) 一个指向有10个整型数数组的指针
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
3.写出下面const写法的作用
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
4.下面的写法是否合法,结果是什么?
int a = 5, b = 7, c;
c = a+++b;
5. 引用与指针有什么区别?
6. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
7. 写出float x 与“零值”比较的if语句。
8.不能当做switch()的参数类型有哪些?
9.语句for(;1;)有什么问题?它是什么意思?
10.对于一个频繁使用的短小函数,在C语言中应该用什么实现,在C++中应用什么实现?
11.面向对象的三个基本特征,并简单叙述之?
12.当一个类A 中没有声明任何成员变量与成员函数,这时sizeof(A)的值是多少,如果不是零,请解释一下编译器为什么没有让它为零。
13.比较C++中的4种类型转换方式的主要用处?
14.main 主函数执行完毕后,是否可能会再执行一段代码,给出说明或实现?
第二大题、看代码写出结果(共20分)
1: 请写出输出结果【5分】
class A{
public:
A(){
printf("A::A()\n");
fun();
}
void fun(){
printf("A::fun()\n");
}
};
class B:public A{
public:
B(){
printf("B::B()\n");
fun();
}
void fun(){
printf("B::fun()\n");
}
};
int main(intargc,char* argv[])
{
A b;
B* pb=&b;
pb->fun();
return 0;
}
2:写出下列程序运行结果【5分】
class A
{
Public:
virtual void fun()
{
cout<<"A::fun"<<endl;
}
};
class B:public A
{
Public:
virtual void fun()
{
cout<<"B::fun"<<endl;
}
};
void test( A* a )
{
a->fun();
}
class C : public A
{
virtual void fun()
{
cout<<"C::fun"<<endl;
}
};
int main(intargc,char* argv[])
{
B* b = new B;
C* c = new C;
test(b);
test(c);
}
3写出运行结果【5分】
class A
{
Public:
virtual void fun()
{
cout<<"A::fun"<<endl;
}
};
class B:public A
{
Public:
void fun()
{
cout<<"B::fun"<<endl;
}
void fun0()
{
cout<<"B::fun0()"<<endl;
}
};
int main(intargc,char* argv[])
{
A* a = new A;
B* b = new B;
A* a;
B* Pb;
Pb = static_cast<B>(a);
Pb-> fun0();
Pb-> fun();
}
4.写出下列程序运行结果【5分】
class A
{ public:
virtual void fun()
{
cout<<"A::fun()"<<endl;
}
void Show()
{
fun();
}
};
class B:public A
{ public:
virtual void fun()
{
cout<<"B::fun()"<<endl;
}
voidShow()
{ fun();}
};
int main(int argc,char* argv[])
{
A* pa = new A;
B* pb = new B;
pa->Show();
((A*)pb)->Show();
}
第三大题、代码实现(共30分)
1.给定一个整型变量a,写两个函数,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。(10分)
2.写程序,要求实现字符串类MyString,至少可以实现以下应用(10分)
MyString str ="hello";
str = "tom";
printf( str );
3.写程序实现栈结构(10分)
1. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。
2. 用变量a给出下面的定义
a) 一个整型数
b) 一个指向整型数的指针
c) 一个指向指针的的指针,它指向的指针是指向一个整型数
d) 一个有10个整型数的数组
e) 一个有10个指针的数组,该指针是指向一个整型数的
f) 一个指向有10个整型数数组的指针
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数
3.写出下面const写法的作用
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
4.下面的写法是否合法,结果是什么?
int a = 5, b = 7, c;
c = a+++b;
5. 引用与指针有什么区别?
6. 全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
7. 写出float x 与“零值”比较的if语句。
8.不能当做switch()的参数类型有哪些?
9.语句for(;1;)有什么问题?它是什么意思?
10.对于一个频繁使用的短小函数,在C语言中应该用什么实现,在C++中应用什么实现?
11.面向对象的三个基本特征,并简单叙述之?
12.当一个类A 中没有声明任何成员变量与成员函数,这时sizeof(A)的值是多少,如果不是零,请解释一下编译器为什么没有让它为零。
13.比较C++中的4种类型转换方式的主要用处?
14.main 主函数执行完毕后,是否可能会再执行一段代码,给出说明或实现?
第二大题、看代码写出结果(共20分)
1: 请写出输出结果【5分】
class A{
public:
A(){
printf("A::A()\n");
fun();
}
void fun(){
printf("A::fun()\n");
}
};
class B:public A{
public:
B(){
printf("B::B()\n");
fun();
}
void fun(){
printf("B::fun()\n");
}
};
int main(intargc,char* argv[])
{
A b;
B* pb=&b;
pb->fun();
return 0;
}
2:写出下列程序运行结果【5分】
class A
{
Public:
virtual void fun()
{
cout<<"A::fun"<<endl;
}
};
class B:public A
{
Public:
virtual void fun()
{
cout<<"B::fun"<<endl;
}
};
void test( A* a )
{
a->fun();
}
class C : public A
{
virtual void fun()
{
cout<<"C::fun"<<endl;
}
};
int main(intargc,char* argv[])
{
B* b = new B;
C* c = new C;
test(b);
test(c);
}
3写出运行结果【5分】
class A
{
Public:
virtual void fun()
{
cout<<"A::fun"<<endl;
}
};
class B:public A
{
Public:
void fun()
{
cout<<"B::fun"<<endl;
}
void fun0()
{
cout<<"B::fun0()"<<endl;
}
};
int main(intargc,char* argv[])
{
A* a = new A;
B* b = new B;
A* a;
B* Pb;
Pb = static_cast<B>(a);
Pb-> fun0();
Pb-> fun();
}
4.写出下列程序运行结果【5分】
class A
{ public:
virtual void fun()
{
cout<<"A::fun()"<<endl;
}
void Show()
{
fun();
}
};
class B:public A
{ public:
virtual void fun()
{
cout<<"B::fun()"<<endl;
}
voidShow()
{ fun();}
};
int main(int argc,char* argv[])
{
A* pa = new A;
B* pb = new B;
pa->Show();
((A*)pb)->Show();
}
第三大题、代码实现(共30分)
1.给定一个整型变量a,写两个函数,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。(10分)
2.写程序,要求实现字符串类MyString,至少可以实现以下应用(10分)
MyString str ="hello";
str = "tom";
printf( str );
3.写程序实现栈结构(10分)
相关文章推荐
- C/C++_lesson1~8测试
- static 在C++中的不完全测试
- OPENGL(14) c++曲面构造 网格线
- c++指针测试
- 章14 网站测试
- ANSI/ISO C++ Professional Programmer's Handbook 14
- [初]对于C++内存模型的一个测试小程序
- 我在外包公司做软件测试的日子14
- 练习C/C++基本功(列表和迭代器的实现和测试)
- 章14 网站测试
- More effective C++ 条款14
- c++代码测试-vector赋值, 证明是深度赋值
- Lesson2 掌握C++ ------孙鑫VC++教程
- Exceptional C++ Style之14
- c++代码测试-std::string元素
- 用于测试C++/C程序员的基本编程技能、编程质量以及对C++/C的理解程度的一份考卷试题
- Rational Robot如何测试帮助c++程序员识别自定义或第三方控件
- C++代码测试-指针常量和常量指针
- More Effective C++之14
- 软件自动化测试实例分析 http://www.kupage.com/wpm/14/20030729/1653480000027ziwt6rj.htm