Chinaunix首页 | 论坛 | 博客
  • 博客访问: 51649
  • 博文数量: 10
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-18 18:12
文章分类

全部博文(10)

文章存档

2015年(7)

2014年(3)

分类: C/C++

2015-05-25 17:10:52

1.      什么是计算机程序

程序:一组计算机能识别和执行的指令。

2.      什么是计算机语言

机器语言:就是二进制代码。

机器指令:计算机能直接识别和接受的二进制代码。

机器语言:机器指令的集合。

符号语言:用一些英文字母和数字表示的一个指令,例如ADD代表“加”,SUB代表“减”等。一般,一条符号语言的指令对应转换为一条机器指令。转换过程称为“代真”或“汇编”,因此,符号语言又称为符号汇编语言汇编语言)

汇编程序:把符号语言的指令转换为机器指令。不同型号的计算机的机器语言和汇编语言是互不通用的

低级语言:贴近或离计算机很近的语言。

高级语言:对任何型号的计算机都适用(或只须作很少的修改),它与具体机器距离较远。

编译程序的软件把高级语言写的程序(称为源程序,source program)转换为机器指令的程序(称为目标程序,object program)。

3.     C语言的主要特点

语言简洁、紧凑、使用方便、灵活。

运算符丰富。

数据类型丰富。

具又结构化的控制语句,是完全模块化和结构化的语言。

语法限制不太严格,程序设计自由度大。

C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。

用C语言编写的程序可移植性好。

生成目标代码质量高,程序执行效率高。

源程序文件存储的是源程序

源程序是指未经编译的,按照一定的程序设计语言规范书写的,人类可读的文本文件。

程序的编译过程可以分为预处理、编译、汇编三部分。


C
语言程序的结构特点

(1)一个程序由一个或多个源程序文件组成。一个源程序文件可以包括3个部分:

a)         预处理指令:预处理指令以#号开头,并且#号必须是该行除了任何空白字符外的第一个字符该指令将在编译器进行编译之前对源代码做某些转换。如#include(还有一些其他预处理指令,如#define等)。C编译系统在对源程序进行“翻译”以前,先由一个“预处理器”(也称“预处理程序”、“预编译器”)对预处理指令进行预处理,对于#include指令来说,就是将stdio.h头文件的内容读进来,放在#include指令行,取代了#include。由预处理得到的结果与程序其他部分一起,组成一个完整的、可以用来编译的最后的源程序,然后由编译程序对该源程序正式编译,才得到目标程序。

b)         全局声明:即在函数之外进行的数据声明。在函数外面声明的变量称为全局变量。如果是在程序开头(定义函数之前)声明的变量,则在整个源积程序文件范围内有效。在函数中声明的变量是局部变量,只在函数范围内有效。

c)          函数定义:每个函数用来实现一定的功能。在调用这些函数时,会完成函数定义的局部变量。

(2)函数是C程序的主要组成部分。程序的几乎全部工作都是由各个函数分别完成的,函数是C程序的基本单位,在设计良好的程序中,每个函数都用来实现一个或几个特定的功能。编写C程序的工作就是编写一个个函数。

         一个C语言程是由一个或多个函数组成的,其中必须包含一个main函数(且只能有一个main函数)

         一个小程序只包含一个源程序文件,在一个源程序文件中包含若干个函数(其中有一个main函数)。当程序规模较大时,所包含的函数的数量较多,如果把所有的函数都放在同一个源程序文件中,则此文件显得太大,不便于编译和调试。为了便于调试和管理,可以使一个程序包含若干个源程序文件,每个源程序文件又包含若干个函数。一个源程序文件就是一个程序模块,即将一个程序分成若干个程序模块。

         在进行编译时是以源程序文件为对象进行的。在分别对各源程序文件进行编译并得到相应的目标程序后,再将这些目标程序链接成为一个统一的二进制的可执行程序。

         C语言的这种特点使得容易实现程序的模块化。

         在程序中被调用的函数,可以是系统提供的库函数,也可以是用户根据需要自己编译设计的函数。C的函数库十分丰富,ANSI  C建议提供一百多个标准库函数,不同的C编译系统除了提供标准库函数外,还增加了其他一些专门的函数,如Turbo  C提供三百多个库函数。不同编译系统所提供的库函数个数和功能是不完全相同的。

(3)一个函数包括两个部分。                                  

1)         函数首部。即函数的第一行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。如果函数没有参数,可以在括号中写void,也可以是空括号。

2)         函数体。即函数首部下面的花括号内的部分。如果在一个函数中包括有多层花括号,则最外层的一对花括号是函数体的范围。函数体一般包括一下两个部分:声明部分。声明部分包括:定义在本函数中国所用到的变量;对本函数所调用函数进行声明。执行部分。由若干个语句组成,指定在函数中所进行的操作。在某些情况下也可以没有声明部分,甚至可以即无声明部分业务执行部分。空函数什么也不做,但这是合法的。

(4)程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。

(5)程序中对计算机的操作是由函数中的C语句完成的。(如赋值、输入输出数据由相应的C语句实现的

(6)在每个数据声明和语句的最后必须有一个分号。

(7)C语言本身不提供输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的,C对输入输出实行“函数化,”由于输入输出操作涉及具体的计算机设备,把输入输出操作用库函数实现,就可以是C语言本身的规模较小,编译程序简单,很容易在各种机器上实现,程序具有可移植性。

(8)程序应当包含注释。

C语言允许用两种注释方式:

(1)以//开始的单行注释。这种注释可以单独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。也就是这种注释不能跨行。如果注释内容一行内写不下,可以用多个单行注释,如下面两行是连续的注释行:

         //如注释内容一行内写不下

         //可以在下一行重新用“//”,然后继续写注释。

(2)以/*开始,以*/结束的块式注释。这种注释可以包含多行内容。它可以单独占一行(在行开头以/*开始,行末以*/结束),也可以包含多行。编译系统在发现一个/*后,会开始找注释结束符*/,把二者见的内容作为注释。

         但应注意的是在字符串中的//和/*都不作为注释的开始。而是作为字符串的一部分。如:

                   Printf(“//how do you do!\n”); 或 printf(“/*how do you do!*/\n”);

输出分别是://how do you do!和 /*how do you do!*/

注释分析:在写C程序是应当多用注释,以方便自己和别人理解程序各部分的作用。在程序进行预编译处理时将每个注释替换为一个空格,因此在编译时注释部分不产生目标代码,注释对运行不起作用,注释只是给人看的,而不是让计算机执行的。注释可以用汉子或英文字符表示。





阅读(1020) | 评论(0) | 转发(0) |
0

上一篇:什么是进程

下一篇:计算机基础

给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册