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小时内删除。