项目九认识函数

本文介绍了函数在C语言中的重要性,详细讲解了函数的分类、声明、无参和有参函数的定义与调用,以及通过示例展示了如何计算今年的天数。此外,还探讨了局部变量和全局变量的差异,以及变量的存储类型,包括自动变量、静态变量和extern声明的外部变量。
摘要由CSDN通过智能技术生成

认识函数

  • 概述

函数是实现特定功能的代码段,是模块化程序设计的需要,使用函数的目的是提高程序的复用性。

模块化就是将每一个程序分解成若干个模块,就像“组装”计算机一样,在C语言中可以利用函数实现模块化设计

  • 程序实现的方法主要有两种:一体化和模块化

一体化是指将一整个功能模块的代码全部写在一个文件或一个类里面,实现一个完整的功能。

这种方法适用于程序逻辑比较简单,功能单一的情况。其优点是代码结构简单,易于维护和修改,缺点是不利于代码复用和扩展性。

模块化是指将一个大的功能模块拆分成多个小模块,每个小模块只负责一个功能,然后将这些小模块组合起来实现整个功能。

这种方法适用于程序逻辑比较复杂,功能较多的情况。其优点是代码结构清晰,易于理解和维护,支持代码复用和扩展性,缺点是代码结构比较复杂,需要一定的开发经验。

两种方法都有自己的适用场景,具体要根据实际情况选择。

  • 函数可以从以下两个角度分类

用户角度:函数分为库函数和用户自定义函数

库函数由系统提供,用户可以直接调用

用户自定义函数是用户根据实际需要自行设计函数

函数形式角度:函数分为无参函数和有参函数

函数声明

  • 方法

函数定义时首行被称为函数原型,声明只需在函数原型后面加上“;”,如下

void hello();
  • 作用

把函数的信息提前通知编译系统,方便编译系统对程序进行编译,检查被调用函数是否存在

  • 位置

如果声明在主调函数之前,该函数可以被声明之后出现的所有函数调用

如果声明在主调函数内部,该函数只能被主调函数调用

无参函数

  • 定义
返回值类型 函数名()
{
    // 函数体代码
}
 

注意函数和变量一样,必须遵循先定义,后使用的原则

示例:下面是一个简单的无参函数,用于输出“你好”:

#include <stdio.h>

void sayHello() {
  printf("你好\n");
}

int main() {
  sayHello();
  return 0;
}

其中,void是返回值类型,say_hello是函数名,函数体包含了printf语句

  • 调用
//调用语法结构
函数名();

示例调用函数输出“hello,world”:

void say_hello() {
    printf("Hello, world!");
}

int main() {
    say_hello();    // 调用无参函数
    return 0;
}
 

在上述示例中,函数say_hello用于输出"Hello, world!",在main函数中调用该函数时,只需要使用函数名say_hello后跟一对空括号即可,即say_hello()。当程序执行到这一行时,就会执行say_hello函数中的代码,输出"Hello, world!"。

注意在C语言中每个程序有且只有一个main()函数,main()函数可以调用其他函数,但其他函数不能调用main()函数,所有函数都可以调用库函数

项目——计算今年的天数

无参函数也可以用来计算今年过了多少天,思路如下:

  1. 定义一个无参函数,用来计算今年过了多少天;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好运2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值