1-1 1-1 写出下列程序运行后的输出结果。
(1)局部变量与全局变量同名。
#include <iostream.h>
int x=1, y=2;
max (int x , int y)
{
return x>y ? x : y;
}
void main()
{
int x=3;
cout<<"max="<<max(x, y)<<'\n';
}
(2)外部变量的使用。
#include <iostream.h>
extern int a;
void decrement(void)
{
a+=10;
}
int a=100;
int main()
{
for ( ; a<=150 ; )
{
decrement();
cout<<a<<endl;
}
return 0;
}
(3)在局部变量作用域内访问同名的全局变量。
#include <iostream.h>
int a=100;
void main()
{
int a=200;
cout<<a<<','<<::a<<'\n';
}
1-2 1-2 如下的宏用于求圆的面积,请举例说明在什么情况下将得不到正确结果:
#define PI 3.1415926
#define AREA(R) PI*R*R
1-3 1-3 下面定义了一个宏,并在程序中使用它。请写出编译预处理后所得到的源代码,并分析程序有什么副作用?
#define CUBE(X) ((X)*(X)*(X))
. . . . . .
int height=100;
int volume=CUBE(height++);
1-4 1-4 下面的程序使用了条件编译指令,请写出编译预处理后所得到的源代码,并给出程序的运行结果。
#include <iostream.h>
#define MAX 100
main()
{
#if MAX>99
cout<<" This part is compiled . ";
#endif
}
1-5 1-5 采用指针方法将一个数组中的所有元素颠倒顺序,结果仍然存放在原来的数组中,要求使用最少的辅助存储单元。
1-6 1-6 使用结构变量表示每个学生的信息:姓名、学号和三门课的成绩。从键盘上输入10个学生的数据,然后输出每个学生的姓名和三门课的平均成绩。
1-7 1-7 用枚举值MON、TUE、WED、THU、FRI、SAT和SUN表示一个星期中的7天。键盘输入一个0~6之间的整数,根据输入的整数输出对应的英文缩写。
1-8 1-8 编写一个程序,在主函数main()的外部和内部分别声明两个同名的整型变量并赋值,然后在主函数main()中分别访问两个变量。
1-9 1-9 采用动态内存分配方法设计一个学生成绩处理程序,要求输入任意数量学生的学
号、姓名和四门课的成绩,并按平均成绩高低输出每个学生的姓名和成绩。
1-10 1-10 一个程序由两个C++源文件组成,在一个源文件中定义主函数main()并声明一个外部整型变量n,在另一个源文件中定义一个不带参数的函数factorial(void),该函数用于计算变量n的阶乘。编程在主函数main()中输入一个整数并求它的阶乘。
1-11 1-11 编写一个函数maxmin(),该函数有两个实型参数,执行函数后,第一个参数为两个参数中值较大者,第二个参数为较小者。要求使用引用作为函数参数,并编写主函数验证你的函数功能。
1-12 1-12 编写一个函数s(),实现交换两个结构变量的功能。编写主函数验证函数s()的功能,要求使用引用传递参数。
1-13 1-13 定义一个带参数的宏,求出三个数中最大的一个数,并进行验证。
1-14 1-14 输入一个字符串,根据需要设置条件编译,使之能将输入的字符串以大写字母的形式或小写字母的形式输出。
1-15 1-15 假设有三个文件:test1.h、test2.h和test.cpp,在test1.h中定义了一个宏PI,test2.件包含了test1.件,而test.cpp又文件包含了test1.件和test2.件。请问编译时会出现什么错误?如何解决?提示:宏的重复定义。
2-1 2-1 以下程序有什么错误?如有请改正它。
#include <iostream.h>
class Point
{
int x, y;
public:
void Display() { cout<<"x="<<x<<", y="<<y<<endl; };
};
main()
{
Point point1;
point1.x=100;
point1.y=200;
point1.Display();
}指向类成员函数的指针
2-2 2-2 写出下列程序运行后的输出结果。
#include <iostream.h>
class Time{
private:
int hour, minute, second;
public:
void setTime(int h, int m, int s)
{
hour=(h>=0 && h<24) ? h:0;
minute=(m>=0 && m<60) ? m:0;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论