一个函数由函数的说明部分组成。包括函数名、函数类型、函数属性、函数参数名、形式参数类型。
结构化程序设计的思想就是把一个问题分解成多个小的问题,每一个小问题都解决了,大问题也就解决了。C语言的函数就是实现结构化程序设计而建立的一个基本单位,如同生物学上的细胞。
C程序的基本组成单位是 函数
编译过程分为分析和综合两个部分,并进一步划分为词法分析、语法分析、语义分析、代码优化、存储分配和代码生成等六个相继的逻辑步骤。这六个步骤只表示编译程序各部分之间的逻辑联系,而不是时间关系。
编译过程既可以按照这六个逻辑步骤顺序地执行,也可以按照平行互锁方式去执行。在确定编译程序的具体结构时,常常分若干遍实现。对于源程序或中间语言程序,从头到尾扫视一次并实现所规定的工作称作一遍。每一遍可以完成一个或相连几个逻辑步骤的工作。
例如,可以把词法分析作为第一遍;语法分析和语义分析作为第二遍;代码优化和存储分配作为第三遍;代码生成作为第四遍。
反之,为了适应较小的存储空间或提高目标程序质量,也可以把一个逻辑步骤的工作分为几遍去执行。例如,代码优化可划分为代码优化准备工作和实际代码优化两遍进行。
扩展资料
从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。
源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每个单词符号,除了给出种别编码以外,还应给出自身的值。
词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用状态图进行工作,自动生成使用确定的有限自动机来实现。
编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。编译程序的语法规则可用上下文无关文法来刻画。
参考资料来源:百度百科-编译程序
一个c语言程序是由一个或多个函数组成。
C程序的组成特点:
1、每个C程序由一个或多个函数组成。每个C程序有且仅有一个主函数,除主函数外,可以没有其他函数,也可以有一个或多个其他函数。
2、函数是C程序的基本单位。每个函数是由函数首部和函数体两部分组成。
3、C程序中每一语句后面都以分号“;”作为语句的结束,但预处理命令、函数首部和右花括号“}”之间不能加分号。
4、C语言本身没有输入/输出语句,而是通过调用库函数scanf()、printf()、getchar()和putchar()实现的。
5、C程序的任意位置都可以加注释/*./,注释可以多行,但不可嵌套。
6、C程序的书写格式灵活,一行内可书写多条语句,一条语句也可以写在多行上,可以任意插入空格和回车。
7、C程序的执行总是从主函数开始,并在主函数结束。主函数和其他函数的位置是任意的,其他函数总是通过函数调用语句被执行。
8、C程序中可以有预处理命令,通常预处理命令应放在程序的最前面。
9、主函数可以调用任何其他函数,任何其他函数之间可以互相调用,但不能调用主函数。
所有编程语言本质上都是由算法+数据结构组成的。
一个C语言源程序,是由一个或多个函数定义顺序组成的,其中必须有一个函数名为main的函数,main()函数又称为主函数。C语言源程序的次要构成成分有:编译预处理命令、注释和声明。
主函数被编译程序翻译成一个机器语言形式的主程序段,任何其他函数都将被编译程序翻译成机器语言形式的子程序段。
换言之,C语言源程序中的函数,并非数学中时常显得有些高深莫测的函数,它只是完成特定数据处理任务的、功能上独立的一个程序段而已。
扩展资料:
C语言特有特点
1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
3、不同的变量类型可以用结构体(struct)组合在一起。
4、只有32个保留字(reserved keywords),使变量、函数命名有更多d性。
5、部份的变量类型可以转换,例如整型和字符型变量。
6、通过指针(pointer),C语言可以容易的对存储器进行低级控制。
7、预编译处理(preprocessor)让C语言的编译更具有d性。
以上就是关于c语言中程序的基本组成部分是什么全部的内容,包括:c语言中程序的基本组成部分是什么、编译程序有哪些主要构成成分它们各自的主要功能是什么、c语言程序由什么组成等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)