《《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和和宏宏的的区区别别:宏宏由由预预处处理理器器对对宏宏进进行行替替换换,而而内内联联函函数数有有编编译译器的控制来实现。器的控制来实现。