C语言程序设计:函数的概念、定义与调用
版权申诉
141 浏览量
更新于2024-07-06
收藏 1.34MB PPTX 举报
C语言程序设计基础 - 函数入门教程
本讲内容回顾了数组的使用,演示了如何删除数组中重复的元素,保留唯一的元素。同时,回顾了之前的实验课中出错的地方,包括if语句、for循环和数组复制等。
函数-1
要点:
1. 函数的概念:函数是一个自包含的代码块,可以重复使用,实现特定的功能。
2. 函数的定义与调用:函数的定义包括函数名、返回类型、参数列表和函数体。函数的调用是通过函数名和参数列表来实现的。
3. 数组作为函数参数:数组可以作为函数的参数传递给函数体,在函数体中可以对数组进行操作。
4. 函数的嵌套调用:函数可以调用其他函数,实现模块化的编程。
函数的概念
在高级语言中,用子程序实现模块的功能。子程序由函数来完成。一个C程序可由一个主函数和若干个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。
函数的定义与调用
函数的定义包括函数名、返回类型、参数列表和函数体。函数的调用是通过函数名和参数列表来实现的。
示例代码:
```c
void main() {
void printstar(); /* 对printstar函数声明 */
void print_message(); /* 对print_message函数声明 */
printstar(); /* 调用printstar函数 */
print_message(); /* 调用print_message函数 */
printstar(); /* 调用printstar函数 */
}
void printstar() { /* 定义printstar函数 */
printf("****************\n");
}
void print_message() { /* 定义print_message函数 */
printf("How do you do!\n");
}
```
运行情况如下:
```
****************
How do you do!
****************
```
函数的嵌套调用
函数可以调用其他函数,实现模块化的编程。例如,一个函数可以调用另一个函数,实现特定的功能。
示例代码:
```c
void main() {
void func1(); /* 对func1函数声明 */
void func2(); /* 对func2函数声明 */
func1(); /* 调用func1函数 */
}
void func1() { /* 定义func1函数 */
func2(); /* 调用func2函数 */
}
void func2() { /* 定义func2函数 */
printf("Hello, world!\n");
}
```
数组作为函数参数
数组可以作为函数的参数传递给函数体,在函数体中可以对数组进行操作。
示例代码:
```c
void print_array(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[5] = {1, 2, 3, 4, 5};
print_array(arr, 5);
return 0;
}
```
输出结果:
```
1 2 3 4 5
```
函数的优点
函数有很多优点,包括:
* 代码重用:函数可以重复使用,减少代码的冗长。
* 代码模块化:函数可以将代码分成模块,易于维护和 debug。
* 代码可读性:函数可以提高代码的可读性,易于理解和维护。
本讲内容回顾了数组的使用,介绍了函数的概念、定义与调用、数组作为函数参数和函数的嵌套调用等知识点,为后续的学习奠定了基础。
2022-01-27 上传
2022-01-27 上传
2022-01-27 上传
2022-01-27 上传
2022-07-05 上传
2021-09-23 上传
2022-01-28 上传
2021-10-06 上传
passionSnail
- 粉丝: 460
- 资源: 7712
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率