第一章 C++基础.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例1.5: 分析下列程序的输出结果。 #include iostream using namespace std; void swap(int x, int y){ int t; t = x; x = y; y = t; cout”x=”x”y=”yendl; } int main(){ int a = 7,b=11; swap(a,b); cout”a=”a”b=”bendl; return 0; } 1.5 C++对C的扩充 形参是引用 传引用 x=11, y=7 a=11, b=7 例1.6: 分析下列程序的输出结果。 #include iostream using namespace std; int f(int index,int a[]){ int r=a[index]; return r; } int main(){ int a[]={1,3,5,7,9}; f(2,a)=55; for(int i=0;i5;i++) couta[i]\t; return 0; } 1.5 C++对C的扩充 9 a[0] 1 3 5 7 … a[2] r 55 1.5.8 内联函数 内联函数与一般函数的区别在于它不是在调用时发生控制转移,而是在编译时将被调函数体嵌入到每一个函数调用处,节省了参数传递、控制转移等开销。对于一些规模较小、频繁调用的函数可声明为内联函数,能提高程序运行效率。 1.5 C++对C的扩充 普通函数 内联函数 1.5.8 内联函数 内联函数的定义 inline 类型说明符 函数名(参数及类型表{ 函数体 } 如:   inline int add(int x,int y,int z)   {    return x+y+z;   } 1.5 C++对C的扩充 1.5.8 内联函数 内联函数的注意事项 (1)内联函数函数体的代码不宜过长,一般1~5行; (2)在内联函数内不允许用循环语句或开关语句; (3)内联函数无法递归调用; (4)对内联函数不能进行异常接口说明; (5)类结构中所有在类说明内部定义的函数都是内联函数; (6)内联函数具有与带参数的宏定义#define相同的作用和相似的机理,但内联函数具有宏定义的所有优点而没有其缺点,它消除了宏定义的不安全性。 1.5 C++对C的扩充 例1.7: 分析下列程序的输出结果。 1.5 C++对C的扩充 include iostream using namespace std; #define f(x) x*x int main(){ int x(2); coutf(x)“;”; coutf(x+1)endl; return 0; } 程序运行结果: 4;5 原因: f(x) 替换为2*2 f(x+1) 替换为2+1*2+1 include iostream using namespace std; inline int f(int x){return x*x;} int main(){ int x(2); coutf(x)“;”; coutf(x+1)endl; return 0; } 程序运行结果: 4;9 原因: f(x) 替换为 2*2 f(x+1) 替换为 3*3 1.5.9 作用域运算符 每一个变量都有其有效地作用域,只能在变量的作用域内使用该变量,不能直接使用其他作用域中的变量。 例1.8 分析下列程序的输出结果。 #include iostream float a = 13.5; int main(){ int a = 5; std::coutastd::endl; // 输出局部变量 std::cout::astd::endl; //输出全局变量 return 0; } 注意: “::”不能访问函数中的局部变量。 1.5 C++对C的扩充 1.5.10 字符串变量 C++保留了 C风格的用法,称为C字符串。 C++提供了更直接的操作方法,称为字符串(string)类。字符串类封装了字符串的基本属性和操作。 声明string类 #include string using namespace std; 定义string变量 string 字符串对象; //string对象理解为存储字符串的变量。 示例:string country;

文档评论(0)

优质文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档