第3章习题参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章 程序设计初步

习题参考答案

1、(略)

2、解

#include

#include

using namespace std;

const float pi=3.1415926; //也可定义为符号 #define pi 3.1415926

void main ( )

{float h,r,l,s,sq,vq,vz;

cout<<"please enter r,h:";

cin>>r>>h;

l=2*pi*r;

s=r*r*pi;

sq=4*pi*r*r;

vq=3.0/4.0*pi*r*r*r;

vz=pi*r*r*h;

cout<

<

cout<<"l= "<

cout<<"s= "<

cout<<"sq="<

cout<<"vq="<

cout<<"vz="<

}

3、输入一个华氏温度,要求输出摄氏温度。公式为C=9

5(F-32),输出要有文字说明,取两位小数。

解:

#include

#include

void main ()

{float c,f;

cout<<"请输入一个华氏温度:";

cin>>f;

c=5.0/9.0*(f-32); //注意5和9要用实型表示,否则5/9值为0

cout<

4、编程序,用getchar 函数读入两个字符给c1,c2,然后分别用putchar 函数和cout 语句输出这两个字符。并思考以下问题:

(1)变量c1,c2应定义为字符型或整型?抑或二者皆可?

(2)要求输出c1和c2值的ASCII 码,应如何处理?

解:

#include

using namespace std;

void main ( )

{char c1,c2; //可定义为int

cout<<"请输入两个字符c1,c2:";

c1=getchar(); //将输入的第一个字符赋给c1

c2=getchar(); //将输入的第二个字符赋给c2

cout<<"用putchar函数输出结果为:";

putchar(c1);

putchar(44);

putchar(c2);

putchar('\n');

cout<<"用cout语句输出结果为:";

cout<

}

回答思考的问题:

(1)c1和c2应定义为字符型。若定义为整型,则用putchar函数时输出的是字符,而用上述的cout语句时输出的是a和b的ASCII码。

(2)若想输出a和b的ASCII码,可以将a、b定义为整型,并且用cout语句输出a,b即可。

5、整型变量与字符变量是否在任何情况下都可以互相代替?如:

char c1,c2;

与int c1,c2;是否无条件等价?

答:字符数据与整型数据只是在一定条件下可以通用,具体包括以下几种:(1)将一个整数一个字符型变量。

(2)将一个字符赋给一个整型变量

(3)字符数据与整型数据可以混合运算。

(4)在调用函数时函数的实参向形参传值,字符数据与整型数据之间可以通用。

但不是任何情况下二者都可以通用。一是字符变量占一个字节,而整型占四个字节,整数超过255则不能转换。二是用cout语句输出时是按类型进行输出的。

6、答:(略)

7、答:在求一个逻辑表达式时,若结果值为“真”,则在C++中以1表示;若其值为“假”,则以0表示。但在判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。

8、

#include

using namespace std;

int main ( )

{ int a=3,b=4,c=5,x,y;

cout<<(a+b>c && b==c)<

cout<<(a||b+c && b-c)<

cout<<(!(a>b) && !c||1)<

cout<<(!(x=a) && (y=b) && 0)<

cout<<(!(a+b)+c-1 && b+c/2)<

}

结果为:(1)0 (2)1 (3)1 (4)0 (5)1

9、法一

#include

using namespace std;

int main ( )

{int a,b,c,max;

cout<<"please enter three integer numbers:";

cin>>a>>b>>c;

max=a;

if(max

if(max

cout<<"max="<

}

法二:

#include

using namespace std;

int main ( )

{int a,b,c,temp,max ;

cout<<"please enter three integer numbers:";

cin>>a>>b>>c;

temp=(a>b)?a:b; /* 将a和b中的大者存入temp中*/

max=(temp>c)?temp:c; /* 将a和b中的大者与c比较,最大者存入max */ cout<<"max="<

}

10、

#include

using namespace std;

int main ( )

{int x,y;

cout<<"enter x:";

cin>>x;

if (x<1) y=x;

else if (x<10) y=2*x-1;

else y=3*x-11;

cout<<"x="<

}

相关文档
最新文档