80 忽略语法细节,从整体上理解函数
来源:互联网 发布:北京万户网络 编辑:程序博客网 时间:2024/06/06 13:13
C学习网:链接->C学习网
C训练网:链接->C训练网
从整体上看,C语言代码是由一个一个的函数构成的,除了定义和说明类的语句(例如变量定义、宏定义、类型定义等)可以放在函数外面,所有具有运算或逻辑处理能力的语句(例如加减乘除、if else、for、函数调用等)都要放在函数内部。例如,下面的代码就是错误的:
- #include <stdio.h>
- int a = 10;
- int b = a + 20;
- int main(){
- return 0;
- }
int b = a + 20;
是具有运算功能的语句,要放在函数内部。但是下面的代码就是正确的:
- #include <stdio.h>
- int a = 10;
- int b = 10 + 20;
- int main(){
- return 0;
- }
int b = 10 + 20;
在编译时会被优化成int b = 30;
,消除加法运算。在所有的函数中,main() 是入口函数,有且只能有一个,C语言程序就是从这里开始运行的。
C语言不但提供了丰富的库函数,还允许用户定义自己的函数。每个函数都是一个可以重复使用的模块,通过模块间的相互调用,有条不紊地实现复杂的功能。可以说C程序的全部工作都是由各式各样的函数完成的,所以也把C语言称为函数式语言。
标准C语言(ANSI C)共定义了15 个头文件,称为“C标准库”,所有的编译器都必须支持,如何正确并熟练的使用这些标准库,可以反映出一个程序员的水平。
- 合格程序员:<stdio.h>、<ctype.h>、<stdlib.h>、<string.h>
- 熟练程序员:<assert.h>、<limits.h>、<stddef.h>、<time.h>
- 优秀程序员:<float.h>、<math.h>、<error.h>、<locale.h>、<setjmp.h>、<signal.h>、<stdarg.h>
以上各类函数不仅数量众多,而且有的还需要硬件知识才能使用,初学者要想全部掌握得需要一个较长的学习过程。我的建议是先掌握一些最基本、最常用的函数,在实践过程中再逐步深入。由于课时关系,本教程只介绍了很少一部分库函数,其余部分读者可根据需要查阅C语言函数手册,网址是 http://www.cplusplus.com。
还应该指出的是,C语言中所有的函数定义,包括主函数 main() 在内,都是平行的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之间允许相互调用,也允许嵌套调用。习惯上把调用者称为主调函数,被调用者称为被调函数。函数还可以自己调用自己,称为递归调用。
main() 函数是主函数,它可以调用其它函数,而不允许被其它函数调用。因此,C程序的执行总是从 main() 函数开始,完成对其它函数的调用后再返回到 main() 函数,最后由 main() 函数结束整个程序。
阅读全文
2 0
- 80 忽略语法细节,从整体上理解函数
- Crystal语法中容易忽略的细节问题
- ucos在s3c2410上运行过程整体剖析-从加电到执行main函数
- ucos在s3c2410上运行过程整体剖析-从main函数到UCOS初始化完毕
- ucos在s3c2410上运行过程整体剖析(4)-从加电到执行main函数 .
- 从整体到细节,恒星视界打造完美天狼
- ESET NOD32 从细节到整体的全面防护
- 如何从整体架构上学习android
- 从整体上认识数据挖掘
- Java语法上的一些细节
- ucos在s3c2410上运行过程整体剖析(6)-从main函数到UCOS初始化完毕 .
- 如何从细节上解密短信用语?
- 考试系统维护-整体 & 细节
- 不能忽略细节问题
- 忽略细节的代价
- [JAVA · 初级]:25.从整体理解J2SE
- 从整体上看UML——思维导图
- oc新手学习细节之点语法连用理解
- C++复合类型
- 贪心背包-南阳OJ-106
- spring概述
- Poedu_Windows_封装file类
- Angular2优质学习资源收集
- 80 忽略语法细节,从整体上理解函数
- linux模块相关的命令
- H5小白入门笔记(4)
- 优先队列
- Android常用控件二之编辑文本的控件
- 安卓如何向指定URL发送get和post请求
- 第一百一十四天 : MySQL进阶管理
- python中匿名函数lambda介绍
- 第一百一十一天 : PXE快速部署CentOS系统