C++程序设计:函数的void型与返回值类型解析

需积分: 4 11 下载量 50 浏览量 更新于2024-08-19 收藏 8.66MB PPT 举报
"谭浩强的C语言教学资料,讲解了函数类型和返回值的相关知识,强调了函数的返回值类型由函数定义时指定,且与参数类型无关。同时提到了C语言的特点和历史,包括其结构化特性、灵活性、可移植性和对程序员的要求。" 在C语言中,函数是程序的基本模块,用于封装特定任务。函数可以有返回值,也可以没有返回值。当一个函数不带返回值时,它的类型被声明为`void`。这意味着该函数不会向调用者提供任何数据。例如,一个简单的`void`型函数可能会用来打印信息或者执行一个操作,但不会返回一个结果。 函数的返回值类型并不受其参数类型的影响。函数`double blink(int a, int b)`表明即使其参数是整型(`int`),函数的返回值类型仍然是双精度浮点型(`double`)。在C语言中,如果函数的返回类型与return语句中的表达式类型不一致,编译器会根据函数声明的返回类型进行类型转换。例如,如果一个声明为返回整型(`int`)的函数`max`在return语句中使用了浮点型(`float`)的值,那么这个浮点型值会被隐式转换为整型。 C语言的类型系统允许这种自动类型转换,但是程序员需要注意可能的精度损失或意外的行为。在定义函数时,必须明确指定函数返回值的类型,因为函数的返回值必须有一个确定的类型。例如,`int max(float a, float b)`声明了一个返回整型值的函数,即使它的参数是浮点型。 C语言的发展历程中,从早期的BCPL和B语言演变为C语言,再发展到C++,每一步都增强了语言的功能和实用性。C语言的特点包括结构化编程能力,它允许编写清晰、模块化的代码;丰富的运算符集,支持算术、逻辑以及位运算,这使得C语言既能处理复杂的算法,也能处理底层的硬件控制;良好的可移植性,使得用C语言编写的程序可以在不同的计算机平台上运行;以及相对宽松的语法,给程序员提供了很大的自由度,但也增加了调试的难度。 对于初学者,理解C语言的这些特性至关重要。虽然C语言的语法结构不如某些现代语言严格,但这同时也意味着学习曲线可能更陡峭。熟练掌握C语言需要深入理解其语法规则,并通过实践来提升编写和调试程序的能力。尽管如此,一旦熟悉了C语言,就能编写出高效、可维护的代码,这也是C语言至今仍广泛应用于系统编程和嵌入式系统开发的重要原因。