C++题库
使用VC6开发环境来调试以下两个C++源程序。
程序1
#include <iostream.h>
#include <math.h>
void main()
{  double a,b,c,s,area;
cout <<"a,b,c, =";
cin >>a>>b>>c;                    // 输入三角形的三条边
s=(a+b+c)/2.0;
area=sqrt(s*(s-a)*(s-b)*(s-c));        // 求三角形的面积
cout <<"area="<<area<<endl;}
思考并验证:
1给出两组输入/while循环语句的程序流程图输出数据
a=        b=        c=        area=
a=        b=        c=        area=
2)如果去掉第一行和第二行的包含命令,编译时出现什么信息?
程序2
#include <iostream.h>
double max (double x,double y);
void main()
{  double a,b,c;
  cout<<"input two numbers: ";
  cin >>a>>b;                  // 输入两个实数
  c=max(a,b);                  // 求两个实数最大值
  cout <<"maximum="<<c<<endl;}
double max(double x,double y)
{  if(x>y)
    return x;
  else
      return y;
}
思考并验证:
(1)如果输入a1.3  b=3.5,输出结果是什么?
(2)程序由哪几个函数组成,哪个函数是必须的?

实验2 数据类型、运算符和表达式
实验目的
(1) 掌握C++数据类型的概念。
(2) 掌握常量与变量的概念和定义方法。
(3) 掌握引用的概念和定义方法。
(4) 初步掌握各种运算符的功能,优先级和结合性。
5 掌握表达式的构成、表达式中运算符的运算顺序和如何求表达式的值。
实验内容
假设有变量说明:
char c1='a';,c2='B',c3='c';
int i1=10,i2=20,i3=30;
double d1=0.1,d2=0.2,d3=0.4;
先写出下列表达式的值,然后上机验证。
ac1 +i2 *i3/i2%i1;            (b)  il ++ + i2%i3;
(c)  i2-- * ++i3;                (d)  i1>i2>i3<d1<d2<d3;
(e)  (c1=i2*i3)!=(i2%1)        fd1>d2||(i1=i2)
(g)  c1>i1 ? i1:c2;              (h)  0 ? 1:0 ? 2:0 ? 3:4
(i)  i1+=i2*=i3;                (j)  i3=(i1=1,i2--);
(k)  i1=(c1,c2,c3);              (l)  !i1&&i2--;
在做本实验时可以使用下面程序框架上机验证。
#include <iostream.h>
void main()
{char c1='a',c2='B',c3='c';
int i1 =10,i2=20,i3=30;
double d1=0.1,d2=0.2,d3=0.4;
                  x;    //填一表达式相应的数据类型说明符
x=          //填上表达式
cout<<"x="<<x<<  endl;
}
思考并验证:
(1) 利用上面的主函数框架,求出每个表达式的值
2)表达式(i)可以用哪几个简单表达式代替
(2) 自增和自减运算符位于变量之前和之后有什么不同,以表达式(b)和(c)为例说明

实验3 顺序结构程序设计

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。