C语言复习:递归函数与程序题型解析

需积分: 9 0 下载量 31 浏览量 更新于2024-07-11 收藏 254KB PPT 举报
"C语言复习资料,包含递归函数的实现和C程序设计的相关知识点,如程序结构、数据类型、运算符以及考试题型等。" 在C语言中,递归函数是一种函数调用自身的技术,通常用于解决具有自相似性质的问题。在提供的代码示例中,`fac`函数就是一个递归函数,用于计算阶乘。它首先检查输入参数`n`,如果`n`小于0,函数会打印“data error!”;如果`n`等于1或0,阶乘结果是1;否则,它通过调用自身计算`n-1`的阶乘并乘以`n`来得到结果。递归函数的关键在于存在一个或多个基本情况(base case),在这里是`n==1`或`n==0`,并且每次递归调用都朝着这些基本情况靠近。 C语言程序由函数组成,其中至少包含一个`main`函数,它是程序执行的起点。在考试题型部分,提到了C程序设计的常见题型,包括单选题、程序阅读理解和编程题。在C语言概述中,强调了程序从`main`函数开始执行,并且`main`函数的位置在源代码中可以是任意的。 数据类型是C语言的基础,包括整数、实数和字符类型。用户标识符是程序中用来命名变量、常量和函数的名字,它们遵循特定的规则,不能与关键字冲突。变量存储数据,常量则不可改变。字符和字符串是两种不同的数据形式,字符使用单引号包围,存储ASCII码值;字符串使用双引号,存储时会在末尾自动添加结束标志`\0`。 C语言支持多种运算符,如单目运算符(!、++、--等)、算术运算符、位运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符和逗号运算符。例如,`5/3`的结果是浮点数,而`5%3`则返回整数余数。在使用运算符时,需要注意其优先级和结合性,以及对操作数类型的限制,例如`%`运算符要求两边都是整数。 在编写C程序时,要注意避免错误,比如不能将一个字符串赋值给字符变量。在示例中,`void main()`函数展示了如何声明和初始化浮点数变量,以及如何使用赋值运算符。 总结来说,C语言的学习涵盖了程序结构、数据类型、运算符的使用等多个方面,递归函数作为解决问题的一种重要工具,需要深入理解和熟练应用。在复习过程中,理解这些基本概念和规则是至关重要的,因为它们构成了C语言程序设计的基础。