【C语言入门教程】5.1 函数说明 与 返回值
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 函数说明 与 返回值的更多相关文章
- Go语言入门教程(十)之函数
Hello 各位小伙伴大家好,我是小栈君,假期一眨眼就过去了.不知道大家玩的是否开心呢? 上次我们讲到了关于Go语言的流程控制,小栈君也希望小伙伴跟着小栈君一步一个脚印的敲一下代码,相互进步.本期我们 ...
- 《Ruby语言入门教程v1.0》学习笔记-01
<Ruby语言入门教程v1.0> 编著:张开川 邮箱:kaichuan_zhang@126.com 想要学习ruby是因为公司的自动化测试使用到了ruby语言,但是公司关于ruby只给了一 ...
- C语言入门教程-(5)格式化输入输出
1.输入和输出 在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出.在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出. 2.格式化输出— ...
- C语言入门教程-(1)简介及搭建环境
1.谁适合阅读本教程 本教程可以帮助大家从零开始学习C语言,对于有一定基础的人起到夯实基本功的作用.C语言容易学习,非常适合初学者入门,而且也为以后的编程打下基础.借用一句话:“要进入编程行业高手必学 ...
- 《JavaScript语言入门教程》记录整理:入门和数据类型
目录 入门篇 js介绍 历史 基本语法 数据类型 概述 null 和 undefined 数值 字符串 对象 函数 数组 本系列基于阮一峰老师的<JavaScrip语言入门教程>或< ...
- 《JavaScript语言入门教程》记录整理:运算符、语法和标准库
目录 运算符 算数运算符 比较运算符 布尔运算符 二进制位运算符 void和逗号运算符 运算顺序 语法 数据类型的转换 错误处理机制 编程风格 console对象和控制台 标准库 Object对象 属 ...
- 《JavaScript语言入门教程》记录整理:面向对象
目录 面向对象编程 实例对象与 new 命令 this关键字 对象的继承 Object对象的方法 严格模式(strict mode) 本系列基于阮一峰老师的<JavaScrip语言入门教程> ...
- 智能合约语言 Solidity 教程系列3 - 函数类型
Solidity 教程系列第三篇 - Solidity 函数类型介绍. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以 ...
- Linux pwn入门教程(10)——针对函数重定位流程的几种攻击
作者:Tangerine@SAINTSEC 本系列的最后一篇 感谢各位看客的支持 感谢原作者的付出一直以来都有读者向笔者咨询教程系列问题,奈何该系列并非笔者所写[笔者仅为代发]且笔者功底薄弱,故无法解 ...
随机推荐
- hihocoder #1112 树上的好路径
时间限制:1000ms单点时限:1000ms内存限制:256MB 描述 现在有一棵有N个带权顶点的树,顶点编号为1,2,...,N.我们定义一条路径的次小(最小)权为它经过的所有顶点(包括起点和终点) ...
- HDU 1846 Brave Game(巴什博弈)
题目链接: 传送门 Brave Game Time Limit: 1000MS Memory Limit: 65536K 题目描述 各位勇敢者要玩的第一个游戏是什么呢?很简单,它是这样定义的: ...
- js初学—实现checkbox全选功能
布局如下: <p ><input type="checkbox" id="che1"/>全选</p><div id=& ...
- angularjs中ng-selected使用方法
ng-selected只能应用在option标签上,就像ng-submit只能应用在form标签上一样. ng-selected指令为select设置了指定的选中值,HTML规范不允许浏览器保存类似s ...
- 利用百度开发者中心的api实现地图及周边的搜索
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- java 类的静态变量
主要是记录一个奇葩的现象,java类中的静态变量,不仅可以通过类名称直接调用,而且还可以通过类的实力对象调用,java是不存在静态类的,如果非要用静态的类那就是内部类. 类中的静态变量是存储在JVM方 ...
- oracle安装常见问题
版本信息:CentOS6.5 + oracle11G 1.监视器颜色错误: [oracle@bogon database]$ 正在启动 Oracle Universal Installer... 检查 ...
- 数据库操作事务IsolationLevel 枚举
成员名称 说明 Chaos 无法覆盖隔离级别更高的事务中的挂起的更改. ReadCommitted 在正在读取数据时保持共享锁,以避免脏读,但是在事务结束之前可以更改数据,从而导致不可重复 ...
- Using Friendly URLs in ASP.NET Web Forms
Introduction Websites often need to generate SEO friendly URLs. In ASP.NET Web Forms applications, a ...
- PageBase
namespace Webform.App { public class PageBase : System.Web.UI.Page { } public interface IService< ...