C 语言是结构化语言,它的主要结构成分是函数。函数被作为一种构件,用以完成程序中的某个具体功能。函数允许一个程序的各个任务被分别定义和编码,使程序模块化。本章介绍 C 语言函数的设计,如何用函数分解程序的各个功能,如何使用函数构成模块化程序,以及代码复用的基本思想。

5.1 函数说明 与 返回值

函数的一般形式如下:

类型说明符  函数名(参数表)
参数说明段
{
    函数体
}

5.1.1 函数的类型说明

函数的类型说明符可以是任何数据类型,包括空值型 void,即不使用 return 语句返回任何数据。默认情况下,函数被自动说明为整型。函数必须在第一调用前定义,这样编译器才能找到该函数。前置函数类型说明被称为 函数原型

#include <stdio.h>
#include <stdlib.h> #define PI 3.141593
float cylinder_area(float, float); // 函数的类型说明,函数原型 int main()
{
float r, h, s; // r圆半径,h高,s面积
puts("请输入圆柱的半径和高:");
if (scanf("%f,%f", &r, &h) == 2)
{
s = cylinder_area(r, h); // 调用函数 cylinder_area(),返回值到变量s
printf("\n该圆柱体的表面积为:%f\n", s);
}
else
{
puts("您输入的数据格式不合法!");
} return EXIT_SUCCESS;
} float cylinder_area(float r, float h)
{
float cd_area;
cd_area = 2 * (PI * r * r) + (2 * PI * r * h); return cd_area;
}

设计函数时需要注意数据类型的匹配关系,函数的类型说明符必须与 return 语句返回的数据类型相同,函数的参数说明必须与参数的数据类型相同,否则会造成编译错误。

5.1.2 返回语句

函数的返回语句 return 有 2 个作用:其一,结束当前函数,调用者获得程序控制权;其二,将计算结果传递给调用者。

函数的结束有 2 种情况,一是函数体内所有的代码执行完毕,二是 return 语句被执行。

【C语言入门教程】5.1 函数说明 与 返回值的更多相关文章

  1. Go语言入门教程(十)之函数

    Hello 各位小伙伴大家好,我是小栈君,假期一眨眼就过去了.不知道大家玩的是否开心呢? 上次我们讲到了关于Go语言的流程控制,小栈君也希望小伙伴跟着小栈君一步一个脚印的敲一下代码,相互进步.本期我们 ...

  2. 《Ruby语言入门教程v1.0》学习笔记-01

    <Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...

  3. C语言入门教程-(5)格式化输入输出

    1.输入和输出 在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出.在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出. 2.格式化输出— ...

  4. C语言入门教程-(1)简介及搭建环境

    1.谁适合阅读本教程 本教程可以帮助大家从零开始学习C语言,对于有一定基础的人起到夯实基本功的作用.C语言容易学习,非常适合初学者入门,而且也为以后的编程打下基础.借用一句话:“要进入编程行业高手必学 ...

  5. 《JavaScript语言入门教程》记录整理:入门和数据类型

    目录 入门篇 js介绍 历史 基本语法 数据类型 概述 null 和 undefined 数值 字符串 对象 函数 数组 本系列基于阮一峰老师的<JavaScrip语言入门教程>或< ...

  6. 《JavaScript语言入门教程》记录整理:运算符、语法和标准库

    目录 运算符 算数运算符 比较运算符 布尔运算符 二进制位运算符 void和逗号运算符 运算顺序 语法 数据类型的转换 错误处理机制 编程风格 console对象和控制台 标准库 Object对象 属 ...

  7. 《JavaScript语言入门教程》记录整理:面向对象

    目录 面向对象编程 实例对象与 new 命令 this关键字 对象的继承 Object对象的方法 严格模式(strict mode) 本系列基于阮一峰老师的<JavaScrip语言入门教程> ...

  8. 智能合约语言 Solidity 教程系列3 - 函数类型

    Solidity 教程系列第三篇 - Solidity 函数类型介绍. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以 ...

  9. Linux pwn入门教程(10)——针对函数重定位流程的几种攻击

    作者:Tangerine@SAINTSEC 本系列的最后一篇 感谢各位看客的支持 感谢原作者的付出一直以来都有读者向笔者咨询教程系列问题,奈何该系列并非笔者所写[笔者仅为代发]且笔者功底薄弱,故无法解 ...

随机推荐

  1. BZOJ2002 [Hnoi2010]Bounce 弹飞绵羊

    传送门 Link-Cut-Tree套路题 //BZOJ 2002 //by Cydiater //2016.9.12 #include <iostream> #include <cs ...

  2. spring-data-jpa 的@Query注解的使用

    // ------------------------------------ 使用 @Query 注解 // 没有参数的查询 @Query("select p from Person p ...

  3. js002-在HTML中使用JavaScript

    js002-在HTML中使用JavaScript 2.1            <script>元素   定义了以下6个属性   async: 可选.表示应该立即下载脚本,但不妨碍页面中的 ...

  4. WinForm------GridControl中通过判断单元格文字显示不同字体颜色或背景色

  5. PS------“窗口” -> "扩展功能"使用方法

    http://forum.xitek.com/thread-1330039-1-1-1.html

  6. bootstrap标签引入地址

    http://www.bootcdn.cn/bootstrap/ <link rel="stylesheet" href="http://apps.bdimg.co ...

  7. 和安全有关的那些事(非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS及其他)

    转自http://blog.csdn.net/bluishglc/article/details/7585965 对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统 ...

  8. pulltorefresh滚动到底部

    如果用ListView,让它滚动到顶部,一般是这样写的: if (!listView.isStackFromBottom()) { listView.setStackFromBottom(true); ...

  9. 仿照jquery封装一个自己的js库(一)

    所谓造轮子的好处就是复习知识点,加深对原版jquery的理解. 本文系笔者学习jquery的笔记,记述一个名为"dQuery"的初级版和缩水版jquery库的实现.主要涉及知识点包 ...

  10. codeforces 709B Checkpoints

    题目链接:http://codeforces.com/problemset/problem/709/B 题目大意: 第一行给出两个数 n,x.第二行 输入 n 个数. 要求:从x位置遍历 n-1 个位 ...