C++函数调用与引用示例:理解先调用后赋值

需积分: 43 0 下载量 168 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
在谭浩强编著的《C++程序设计》中,章节涉及到了"先调用再赋值"这一概念。C++作为从C语言发展而来的一种面向对象的编程语言,它的设计初衷是为编写高效的UNIX操作系统。C++继承了C语言的许多优点,如结构化编程、灵活性和可移植性,同时增加了面向对象的特性。 1. **历史背景**: C++的发展起源于20世纪60年代的BCPL语言和70年代的B语言,由Dennis Ritchie和Brian Kernighan在1972年进一步完善为C语言。C++在C的基础上增添了面向对象的支持,如类、对象和继承,使其在功能和性能上有了显著提升。 2. **C语言特点**: - 结构化:C语言支持模块化编程,代码简洁且易于维护,适合大型系统开发。 - 高级与低级结合:C语言提供了丰富的运算符,包括算术、逻辑和位运算,同时支持灵活的数据结构,使得程序表达力强且高效。 - 可移植性:C语言编写的程序能在不同型号和档次的计算机上运行,无需太多改动。 - 灵活性与挑战:虽然语法相对宽松,但对新手来说可能带来调试上的困难,需要对语法规则有深入理解。 3. **"先调用再赋值"示例**: 在提供的代码片段中,定义了一个函数`f`,它接受一个整数参数`x`,并更新函数内部的局部变量`a`(通过引用)。在`main`函数中,首先调用`f`并输出结果,然后将`f`的返回值赋给`t`和`f(t)`,最后再次调用`f(t)`。这个例子展示了C++中的函数指针和引用的概念,以及函数调用后的返回值如何影响全局变量。 - 第一次调用`f(t)`时,`a`被修改为`a+x`(这里`x=5`),输出9。 - 第二次调用`f(t)=20`实际上改变了`a`的值,因为函数返回的是`a`的引用,所以`a`变为25。 - 最后,`t=f(t)`意味着`t`指向了新的`a`值,所以`cout<<f(t)<<endl`输出60。 总结来说,这部分内容介绍了C++语言的基本特征及其在程序设计中的应用,特别强调了C++中函数的灵活性和高级特性,如函数指针和引用,以及如何通过这些特性实现“先调用再赋值”的功能。这对于理解和编写C++程序尤其重要。