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)如果输入a=1.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;
先写出下列表达式的值,然后上机验证。
(a)c1 +i2 *i3/i2%i1; (b) il ++ + i2%i3;
(c) i2-- * ++i3; (d) i1>i2>i3<d1<d2<d3;
(e) (c1=i2*i3)!=(i2%1) (f)d1>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小时内删除。
发表评论