77范文网 - 专业文章范例文档资料分享平台

C++第一至第八章课后习题答案(6)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

6、 什么叫函数指针?什么指针函数?

答:函数指针是一个函数执行代码的起始地址。指针函数是指一个函数的返回值为地址量的函数。 7、 什么叫内联函数?

答:内联函数是将很简单的函数\内嵌\到调用他的程序代码中,只样做的目的是为了节省了调用函数的开销。 8、 什么叫函数重载?

答:函数重载是指使用一个函数名称定义了多个完成不同功能的函数,这些函数的输入参数类型或个数不一样,相应的函数类型也有可能改变。 9、 什么叫预编译语句?

答:在C++程序的源代码中可以包括各种编译用的命令语句,这些语句都称为预编译语句。

10、 什么叫宏?谈谈带参数宏与内联函数之间的异同点.

答:宏是指定义一个标识符来代替一个字符序列。内联函数和宏都是在程序出现的地方展开,都不是通过函数调用实现的,是在调用该函数的程序处将它展开。内联函数可以在编译期间完成诸如类型检测,语句是否正确等编译功能。宏就不具有这样的功能,而且宏展开的时间和内联函数也是不同的,宏在运行期间展开而内联函数在编译期间完成。

11、 指出下列函数说明语句有哪些错误并说出原因。 (1) char *volume ( int height, width, char background ) ;

答:函数的参数部分说明错误;width参数没有指出数据类型。 (2) double work ( double &matrix[10] ) ;

答:参数部分引用数组的说明形式错误;不符合引用数组的说明形式。 (3) void display ( int arr[ ][ ], int size ) ;

答:参数二维数组的说明不对;右下标大小不能为空。 (4) void sum ( int (&a) [ ] ) ;

答:不符合引用数组的说明形式;大小不能缺省。 (5) int fun( double a, int b = 0, int c );

答:缺省值位置说明错误;指定缺省值必须从右向左给出,不能跳跃指定缺省值。 (6) double Matrix ( double *m[] );

答:指针变量数组的说明形式不对;大小不能缺省。 (7) char * fetch ( int a= 24, int b, char c=0);

答:缺省值位置说明错误;指定缺省值必须从右向左给出,不能跳跃指定缺省值。 (8) void length( int &a [2 ] );

答:引用数组说明错误;不符合引用数组的说明形式。 12、 什么叫递归函数?简述其执行过程。

答:递归函数是指一个函数的函数体中直接调用或间接调用了该函数自身的函数。 递归函数调用的执行过程分为两个阶段:

(1)递推阶段:从原问题出发,按递归公式递推,从未知到已知,最终达到递归终止条件。

(2)回归阶段:按递归终止条件求出结果,逆向逐步代入递归公式,回归到原问题求解。

13、 阅读下列程序并给出运行结果。 (1) #include

int fun(int x,int y) {

return x*y; }

void main(void) {

int k=5;

cout<

运行结果是:10

(2) #include #include

void fun (int a, int b, double &s, double &t)

{

s=sqrt (a*a+b*b);

t=sqrt (a*a-b*b);

}

void main(void) {

double m, n;

fun (4,3,m,n); cout<

运行结果是:7.64575 (3) #include

int n=0;

int &fun (int x) //引用型函数 {

n -=x; return n; }

void main(void) {

fun(100) += 10;

cout<<\ }

输出结果是:n=-90 (4) #include \

int d=0; int fun( int p) {

static int g=10 ; g += ++d - p; printf(\,g); return ( g ); }

void main( void ) {

int d=10; printf(\,fun( fun(d) - fun(2) ) );

}

运行结果是:1,1,4,4 (5) #include \

int afox(int x,int &y,int *v,int *w) {

* v = - -x + y++;

*w= x - y; return(v);

}

void main(void) {

int a=3,b=3,c=3,d=3;

afox ( a,b,&c, &d );

cout<< a<< \;

}

运行结果是:3,4,6,-1

14、 已知三角形的三边,求三角形面积,将其编写成一个函数。

答:

#include #include

double area( double a,double b,double c,double s) // 求三角行的面积 {

double p;

p=sqrt(s*(s-a)*(s-b)*(s-c)); return p; }

void main() {

double x,y,z,q;

cout<<\请输入三角形三边的长度\

cin>>x>>y>>z; //输入三边长度

if(!(((x+y)>z)&&((x+z)>y)&&((y+z)>x))) //判断给出的三边能否构成三角形

cout<<\你输入的三边不能构成三角形\

else {

q=area(x,y,z,(x+y+z)/2);

cout<<\三角形面积是:Area=\ } }

15、 编写函数求两个整型参数a和b的最小公倍数。

答:

#include void num(int x,int y) {

int arg[100]; int m=0,n=0,j=0; for(int i=0;i<100;i++)

arg[i]=0;

m=n=x>y?x:y;

for (;n<=(x*y);n++) { {

if ((n%x==0)&&(n%y==0))

}

arg[j]=n;

j++; }

for(int k=0;k

if(arg[0]>arg[k]) {

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C++第一至第八章课后习题答案(6)在线全文阅读。

C++第一至第八章课后习题答案(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/649081.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: