C语言程序设计:形参与实参的数据传递

需积分: 35 15 下载量 107 浏览量 更新于2024-08-23 收藏 5.67MB PPT 举报
"形参与实参间的数据传递-武汉大学c语言课件" 在C语言中,函数调用是程序执行中的重要组成部分,其中涉及到形参(形式参数)和实参(实际参数)的概念。形参是在函数定义时使用的占位符,而实参是在函数调用时提供的具体值。两者之间的数据传递遵循一定的原则。 形参与实参间的数据传递主要有以下几种方式: 1. **值传递**:这是最常见的方式,当函数被调用时,实参的值被复制到相应的形参中。这意味着对形参的任何修改都不会影响到实参的原始值。例如: ```c void swap(int a, int b) { int temp = a; a = b; b = temp; } int x = 10, y = 20; swap(x, y); // 在这里,x和y的值不会改变,因为是值传递 ``` 2. **引用传递**:虽然C语言不直接支持引用传递,但可以使用指针来实现类似的效果。通过将实参的地址作为形参,函数可以直接访问并修改实参的值。例如: ```c void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int x = 10, y = 20; swap(&x, &y); // 这里,x和y的值会被交换,因为使用了指针 ``` 3. **数组参数**:在C语言中,当函数接收数组作为参数时,实际上传递的是数组首元素的地址,因此函数可以通过这个地址访问整个数组。因此,即使对形参进行修改,也会直接影响到实参数组的内容。例如: ```c void printArray(int arr[], int size) { for (int i = 0; i < size; i++) { printf("%d ", arr[i]); } } int numbers[5] = {1, 2, 3, 4, 5}; printArray(numbers, 5); // 打印数组元素 ``` C语言程序设计涵盖了广泛的主题,包括数据类型、运算符、基本语句、控制结构、数组、函数、指针、结构体、枚举、位运算、预处理宏等。此外,学习C语言还需要理解程序设计的基本方法,如结构化编程,以及如何通过算法和数据结构来解决问题。 课程还强调了程序设计的基本步骤和运行过程,以及如何评估和提高程序的性能。此外,通过实验和作业,学生可以巩固所学知识,提高编程能力。课程的评价体系包括平时成绩(作业、考勤、单元测验和实验报告)和期末理论机考两部分。 推荐参考书《C程序设计》(第二版)由谭浩强主编,提供了深入浅出的C语言学习指导,适合初学者和有一定基础的程序员阅读。书中详细讲解了C语言的各个方面,有助于读者更好地理解和掌握这门语言。