程序设计语言的组成
程序设计语言基本上由数据、运算、控制、传输组成
数据成分
数据是程序操作的对象,具有存储类别、类型、名称、作用域和生存期等属性
从不同角度可将数据进行不同的划分。
数据类型的分类如下:
按程序运行过程中数据的值能否改变,可分为常量(整型常量、实型常量、字符常量、符号常量)和变量。
按数据的作用域范围可分为全局量和局部量。
按数据组织形式的不同可分为基本类型、用户自定义类型、构造类型及其他类型。
运算成分
大多数程序设计语言的基本运算可分为算术运算、关系运算、逻辑运算。为了确保运算结果的唯一性,运算符号规定优先级和结合性。
控制成分
控制成分指明语言允许表达的控制结构,程序员使用控制成分来构造程序中的控制逻辑。
理论上已经表明,可计算问题的程序都可以用顺序、选择和循环这三种控制结构来描述。
传输成分
传输成分指明语言允许的数据传输方式,包括赋值处理、数据的输入、输出
函数
函数是程序模块的主要组成部分,它是一块具有独立功能的程序代码模块。
函数的三个基本概念为:函数定义、函数声明、函数调用。
函数定义
在程序中用到的所有函数,必须“先定义,后使用”,指定函数的名字、函数返回值类型、函数实现的功能以及参数的个数与类型,并将这些信息通知编译系统。
函数声明
如果使用自己定义的函数,而该函数的位置在调用它的函数(即主调函数)的后面(在同一个文件中),应该在主调函数中对被调用的函数作声明(declaration)。
声明的作用是把函数名、函数参数的个数和参数类型等信息通知编译系统,以便在遇到函数调用时,编译系统能正确识别函数并检查调用是否合法。如果被调用函数的定义出现在主调函数之前,或在文件的开头(在所有函数之前)已对本文件中所调用的函数进行了声明,则在各函数中不必对其所调用的函数再作声明。
函数调用
一个函数需要使用另一个函数的功能时,称为函数调用。
- 嵌套调用:函数的嵌套调用是指在调用一个函数的过程中,又调用另一个函数。
- 递归调用:函数的递归调用是指在调用一个函数的过程中又直接或间接地调用该函数本身