《C语言程序设计:问题与求解方法》——2.3节C语言源程序的主要构成成分:函数定义

2.3 C语言源程序的主要构成成分:函数定义
我们通过例题2.1来探讨C语言源程序的主要构成成分(该程序的功能在学完本章后,读者自然应该能够懂得,现在不必为读不懂程序感到烦恼)。
【例题2.1】输入圆球的半径,求圆球的体积。
C语言源程序如下:

0    #include<stdio.h>
1    int  main(void)
2    {
3       float  r ;
4       float  v ;
5
6       printf("请输入圆球的半径,以米为单位\n");
7       scanf("%f",&r);
8       v=(4.0/3.0)  3.1416  r  r  r ;
9       printf("圆球的体积是:%f立方米\n" , v );
10      return  0 ;
11   }

注意:最左边的行号是为了说明方便而加上的,实际的C语言源程序中是不会有的。
一个C语言源程序的宏观(即粗粒度)构成成分是函数定义(下面常常简称为函数)。例题2.1就是一个函数名为main的函数定义。
一个C语言源程序,是由一个或多个函数定义顺序组成的,其中必须有一个函数名为main的函数(本书直到第7章才讨论两个以上函数组成的C语言程序如何编写,由多个函数顺序构成的C语言源程序的实例请参见本书后续章节),main()函数又称为主函数。
延伸与拓展:C语言函数的本质
主函数被编译程序翻译成一个机器语言形式的主程序段,任何其他函数都将被编译程序翻译成机器语言形式的子程序段。
换言之,C语言源程序中的函数,并非数学中时常显得有些高深莫测的函数,它只是完成特定数据处理任务的、功能上独立的一个程序段而已。
1.函数定义=函数首部+函数体
任何一个函数定义都是由函数首部(或称为函数头部,比如例题2.1中第1行的int main())和函数体(从第2行到第11行)构成。
函数体必须用大括号“{”和“}”括起来,函数体必须紧接在函数首部之后。
2.函数体的主要成分:变量定义序列+语句序列
C语言源程序中,任何函数的函数体的主要(即中粒度)构成成分是:
0或多条变量(或类型)定义组成的定义序列(第3、4行)。
1或多条语句顺序组成的语句序列(从第6行到第10行)。
这两种成分都要以分号结束(复合语句是不以分号结束的一个例外。关于复合语句,请参见第4章)。
C语言程序中的变量定义序列,被编译程序转变为机器语言程序中的存放多个数据的内存单元的地址;而C语言源程序函数体中的语句序列,则被编译程序翻译成对这些内存单元中的数据进行运算处理的机器指令序列。

时间: 2024-10-24 18:54:11

《C语言程序设计:问题与求解方法》——2.3节C语言源程序的主要构成成分:函数定义的相关文章

《C语言程序设计》一 1.2 简单的C语言程序

1.2 简单的C语言程序 从下一节开始将详细讨论C语言的各种结构,以及程序设计各方面的问题.本节先通过两个简单的例子,让读者了解C语言程序的概貌. 1.2.1 两个简单的C程序例子 [例1-1] 输出一行文本. 1 /程序名:prg1-1.c/ 2 /功能:在屏幕上输出一行文本/ 3 #include<stdio.h> 4 5 int main() /主函数/ 6 { 7 printf("This is my first program in C/C++.\n"); /在屏

c语言-求大侠帮忙:C语言程序设计---编程题(以下所有题目程序应是非递归的)

问题描述 求大侠帮忙:C语言程序设计---编程题(以下所有题目程序应是非递归的) 编写一个函数insert(s1,s2,ch),实现在字符串s1中的指定字符ch位置处插入字符串s2. 学校工会组织活动,要求有8名教师参加,这8名教师将分别从A学院3名教师.B学院5名教师.C学院6名教师中任意抽取,且其中必须有B学院的教师参加,请编程输出所有可能的方案 已知在C盘根目录下存有文本文件"file1.txt",编程统计文件"file1.txt"中每个字母字符和每个数字字符

《C语言程序设计进阶教程》一2.3.4 值地址

2.3.4 值地址 本文讲的是C语言程序设计进阶教程一2.3.4 值地址,目前为止,我们所有函数的返回类型都是void,即函数什么都没有返回.函数可以返回值.考虑下面的例子: 局部变量u在f2中,所以它是在f2的栈帧中.u的值是未被定义的,因为它还未被赋值.记住C不初始化变量,所以未初始化的变量可以存储任何值(即未占用).f2的栈帧包含值还未被定义的变量u. u的地址是在f1被调用之前存储在调用栈的.这个地址叫作值地址,因为它是函数f1存储返回值的地址.因此,当f1的栈帧建立之后,就要为值地址再

《C语言程序设计:问题与求解方法》——导读

目 录 第0章 "理想厨房"的工作原理0.1 理想厨房系统0.2 理想厨房系统的一个炒菜实例0.3 "理想厨房"工作的重要特点0.4 理想厨房系统与计算机系统术语对照表本章习题第1章 计算机的基本工作原理1.1 二进制简介1.2 计算机系统1.3 提高部分本章习题第2章 C语言程序结构和基本语法要素2.1 高级程序设计语言和编译程序简介2.2 C语言历史概述2.3 C语言源程序的主要构成成分:函数定义2.4 C语言源程序的次要组成成分:编译预处理命令.注释和声明2.

《C语言程序设计:问题与求解方法》——2.4节C语言源程序的次要组成成分:编译预处理命令、注释和声明

2.4 C语言源程序的次要组成成分:编译预处理命令.注释和声明下面我们通过更为完整的例题2.2来探讨C语言源程序的其他构成成分.[例题2.2]输入圆球的半径,求圆球的体积.C语言源程序如下: 0 /* 1 作者: 何勤 2 编写日期: 2009-12-25 3 功能: 输入圆球的半径,求圆球的体积 4 例题2.2 5 */ 6 #include <stdio.h> 7 #define PI 3.1416 /*指定符号常量PI的值为 3.1416 */ 8 int main(void) 9 {

《C语言程序设计:问题与求解方法》——第2章C语言程序结构和基本语法要素

第2章 C语言程序结构和基本语法要素枯燥乏味乃生动有趣之母.欲速则不达.本章先介绍了程序设计语言和C语言的基本知识,2.3节和2.4节从粗粒度(函数)到中粒度(语句等)概述了C语言程序的构成成分:函数.定义.语句.编译预处理命令.注释等.2.5节到2.16节从细粒度到中粒度,讲解了如何由C字符集中的字符构成标识符.分隔符.关键字.常量.变量和运算符:以及如何由这些成分构成C程序(函数体)的基本的成分:定义.表达式和赋值语句.2.11节和2.12节对输入输出作了简要介绍.其中2.10节.2.14节

《Python语言程序设计》——3.5 对象和方法简介

3.5 对象和方法简介 关键点:在Python中,所有的数据(包括数字和字符串)实际都是对象.在Python中,一个数字是一个对象,一个字符串是一个对象,每个数据都是对象.同一类型的对象都有相同的类型.你可以使用id函数和type函数来获取关于对象的一些信息.例如: 当执行程序的时候,Python会自动为对象的id赋一个独特的整数.在程序的执行过程中,对象的id不会改变.然而,每当执行程序时,Python都可能会赋一个不同的id.Python按照对象的值决定对象的类型.第2行显示数字对象n的id

C++实现二叉树遍历序列的求解方法_C 语言

本文详细讲述了C++实现二叉树遍历序列的求解方法,对于数据结构与算法的学习有着很好的参考借鉴价值.具体分析如下: 一.由遍历序列构造二叉树              如上图所示为一个二叉树,可知它的遍历序列分别为:                       先序遍历:ABDECFG                       中序遍历:DBEAFCG                       后序遍历:DEBFGCA 我们需要知道的是,由二叉树的先序序列和中序序列可以唯一地确定一棵二叉树:由

《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序

第1章 C语言与程序设计概述 1.1 初见C语言程序 我国古代数学家张邱建在其编写的<算经>里提出了历史上著名的"百钱买百鸡"问题:今有鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一.凡百钱买鸡百只,问鸡翁.母.雏各几何?对于这个问题,很多读者在小学或初中的竞赛中可能都见到过,而且通常都采用不定方程求解.现在我们用C语言解决该问题.通过例1-1所示的程序,初学者一方面可以对C语言有一个感性的认识,另一方面可以初步领略计算机高效和强大的解决问题的能力. 例1-1 用C语言程序