简单的c语言程序(下)

知识打牢才是自己的(首先从地基打起)

上次我们对c语言做了一个简单的了解,我们通过几个例子对一些结构做了基本的了解,这次我们对c语言结构做一个全方面的剖析。废话不多说,上才艺。

一.c语言程序的结构
(1)ー个程序由一个或多个源程序文件组成。一个规模较小的程序,往往只包括一个源程序文件,如例1.1和例1.2是一个源程序文件中只有一个函数(main函数),例1.3(详情请看前一篇)中有两个函数,属于同一个源程序文件。
** 在一个源程序文件中可以包括3个部分:**
①预处理指令。如# include< stdio.h>(还有一些其他预处理指令,如# define等)。C编译系统在对源程序进行“翻译”以前,先由一个预处理器(也称预处理程序、预编译器)对预处理指令进行预处理,对于# include< stdio.h>指令来说,就是将 stdio.h头文件的内容读进来,取代# include< stdio.h>。由预处理得到的结果与程序其他部分一起,组成一个完整的、可以用来编译的最后的源程序,然后由编译程序对该源程序正式进行编译,才得到目标程序。
②全局声明。即在函数之外进行的数据声明。例如可以把例1.2程序中的“inta,b,sum;"”放到main函数的前面,这就是全局声明,在函数外面声明的变量称为全局变量。如果是在程序开头(定义函数之前)声明的变量,则在整个源程序文件范围内有效。在函数中声明的变量是局部变量,只在函数范围内有效。关于全局变量和局部变量的概念和用法见本书第7章。在本章的例题中没有用全局声明,只有在函数中定义的局部变量。
③函数定义。如例1.1、例1.2和例1.3中的main函数和例1.3中的max函数,要指定每个函数的功能。在调用这些函数时,会完成函数定义中指定的功能。

(2)函数是C程序的主要组成部分。程序的几乎全部工作都是由各个函数分别完成的,函数是C程序的基本单位,在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。编写C程序的工作主要就是编写一个个函数。
一个C语言程序是由一个或多个函数组成的,其中必须包含一个main函数(且只能有一个main函数)。例1.1和例1.2中的程序只由一个main函数组成,例1.3程序由一个main函数和一个max函数组成,它们组成一个源程序文件,在进行编译时对整个源程序文件统一进行编译。
一个小程序只包含一个源程序文件,在一个源程序文件中包含若干个函数(其中有一个main函数)。当程序规模较大时,所包含的函数的数量较多,如果把所有的函数都放在同个源程序文件中,则此文件显得太大,不便于编译和调试。为了便于调试和管理,可以使个程序包含若干个源程序文件,每个源程序文件又包含若干个函数。一个源程序文件就是个程序模块,即将一个程序分成若干个程序模块。在进行编译时是以源程序文件为对象进行的。在分别对各源程序文件进行编译并得到相应的目标程序后,再将这些目标程序连接成为一个统一的二进制的可执行程序。
C语言的这种特点使得容易实现程序的模块化。
在程序中被调用的函数,可以是系统提供的库函数(例如 printf和 scanf函数),也可以是用户根据需要自己编制设计的函数(例如例1.3中的max函数)。C的函数库十分丰富,ANSIC建议提供了一百多个标准库函数,不同的C编译系统除了提供标准库函数外,还增加了其他一些专门的函数,如 Turbo C提供了三百多个库函数。不同编译系统所提供的库函数个数和功能是不完全相同的。
(3)一个函数包括两个部分。
①函数首部。即函数的第1行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。
例如,例1.3中的max函数的首部为
int函数类型
max
函数名
(int~~函数参数类型
x,函数参数名
Int
函数参数类型
y)~~函数参数名

一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。如果函数没有参数,可以在括号中写void,也可以是空括号,如:
int main(void)或int main()
②函数体。即函数首部下面的花括号内的部分。如果在一个函数中包括有多层花括号,则最外层的一对花括号是函数体的范围。
函数体一般包括以下两部分。
・声明部分。声明部分包括:定义在本函数中所用到的变量,如例1.3中在main函数中定义变量“int a,b,c;"”;对本函数所调用函数进行声明,如例1.3中在main函数中对max函数的声明“ int max(intx,inty);”。
・执行部分。由若干个语句组成,指定在函数中所进行的操作。
在某些情况下也可以没有声明部分(例如例1.1),甚至可以既无声明部分也无执行部
void dump ()是一个空函数,什么也不做,但这是合法的。
(4)程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何
(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前、另一些函数之后)。
(5)程序中要求计算机的操作是由函数中的C语句完成的。如赋值、输入输出数据的操作都是由相应的C语句实现的。
C程序书写格式是比较自由的。一行内可以写几个语句,一个语句可以分写在多行上,但为清晰起见,习惯上每行只写一个语句。
(6)在每个数据声明和语句的最后必须有一个分号。分号是C语句的必要组成部分。如:
c=a+b;
中的分号是不可缺少的。
(7)C语言本身不提供输入输出语句。输入和输出的操作是由库函数 scanf和 printf等函数来完成的。C语言对输入输出实行“函数化”。由于输入输出操作涉及具体的计算机设备,把输入输出操作用库函数实现,就可以使C语言本身的规模较小,编译程序简单,很容易在各种机器上实现,程序具有可移植性。
(8)程序应当包含注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。

以上就是对第一章c语言程序的概括,第二次写博客,已经比第一次熟悉那么一点,昨天发的第一次博客看到五六个小时内有将近四十次阅读量,感动…而且还收到来自好友,同学的关注和点赞,感谢各位,希望我写的能对大家起到帮助作用。当然,有不对的还请提出,我会及时改正。
晚上呢,我还会写一次的,关于第一章的习题,以及头歌(一个可以头秃的网站)的习题,我会对这些题写一下我的代码,当然因为我是萌新,我写的代码可能有些繁琐或者小儿科,但对于刚入门c和我一样的萌新,我感觉还是可以看看的。
谢谢各位。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值