《c程序设计基础》qa-第五章-c程序设计基础.ppt

上传人:wuy****n92 文档编号:80474622 上传时间:2023-03-23 格式:PPT 页数:13 大小:721KB
返回 下载 相关 举报
《c程序设计基础》qa-第五章-c程序设计基础.ppt_第1页
第1页 / 共13页
《c程序设计基础》qa-第五章-c程序设计基础.ppt_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《《c程序设计基础》qa-第五章-c程序设计基础.ppt》由会员分享,可在线阅读,更多相关《《c程序设计基础》qa-第五章-c程序设计基础.ppt(13页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C+程序设计基础程序设计基础 Q&A第五章第五章北京邮电大学信通院北京邮电大学信通院方莉方莉 2Q&Av数据在栈中存储:数据在栈中存储:v4.11 函数函数sumarray()计算一个数组所有元素的和,其定义如下:计算一个数组所有元素的和,其定义如下:int sumarray(int a,int n)int sum=0;for(int i=0;in;i+)sum+=ai;return sum;v有有int a23,若求数组若求数组a中所有元素的和,则对中所有元素的和,则对sumarray()调用正确的调用正确的为(为()vA:sumarray(a,6)vB:sumarray(a0,6)vC:s

2、umarray(&a00,6)vD:sumarray(&a,6)Q&Av从文件中读取数据从文件中读取数据参考答案参考答案5Q&Av外部变量外部变量v变量的作用域变量的作用域Q&Av变量的作用域变量的作用域Q&AQ&Av递归函数:递归函数:C+实践辅导:实践辅导:P81,二,二.4Q&Av递归函数:递归函数:C+实践辅导:实践辅导:P81,二,二.4v/设计一个递归函数,求满足以下条件的最大的设计一个递归函数,求满足以下条件的最大的n:1*1+2*2+3*3+.+n*n=y?x:y)vinline int max(int x,int y)return x=y?x:y;Q&Av预处理命令预处理命令

3、#define宏宏v格式:格式:#define define 标识符标识符 字符串字符串 v宏:用标示符去表示一个字符串。被定义为宏的标示符称为宏:用标示符去表示一个字符串。被定义为宏的标示符称为宏名宏名v宏展开:在源程序编译预处理中,对程序中所有出现的宏展开:在源程序编译预处理中,对程序中所有出现的“宏宏名名”都用宏定义中的字符串去代换。都用宏定义中的字符串去代换。v优点:使用宏的形式可以省去函数跳转,节省时间和空间的优点:使用宏的形式可以省去函数跳转,节省时间和空间的消耗,提高程序效率。消耗,提高程序效率。v缺点:宏的定义很容易出现二义性缺点:宏的定义很容易出现二义性v例如:例如:#def

4、ine square(x)(x*x)#define square(x)(x*x)程序中程序中squre(5+5)squre(5+5)?(5+5*5+5)v正确:正确:#define square(x)(x)*(x)#define square(x)(x)*(x)Q&Av内联函数内联函数inline 函数类型函数类型 函数名函数名(形式参数表)(形式参数表)函数体函数体inline int square(int x)return x*x;v内联函数内联函数是自身代码被插入到调用者函数代码处的函数。是自身代码被插入到调用者函数代码处的函数。v同宏一样内联避免被调用的开销来提高执行效率。同宏一样内联避免被调用的开销来提高执行效率。v和和宏宏的的区区别别:宏宏由由预预处处理理器器对对宏宏进进行行替替换换,而而内内联联函函数数有有编编译译器的控制来实现。器的控制来实现。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com