1.1 什么是计算机程序
程序:一组计算机能识别和执行的指令。
指令:能使计算机执行特定的操作。
计算机的一切操作都有程序控制,离开程序,计算机将一事无成。
1.2 什么是计算机语言
机器语言: 计算机工作基于二进制,根本来说,计算机只能识别和接受由0和1组成的指令,(早期计算机工作使用长纸带打点,通过有孔无孔判断0和1)这种计算机能直接识别和接受的二进制代码称为机器指令,机器指令的集合就是该计算机的机器语言。特点:与习惯用语差别大,难学,难写,难记,难检查,难修改,难推广。
符号语言: 为克服机器语言,创造了符号语言,用一些英文字母和数字表示一个指令,例用ADD代表“加”,SUB代表“减”,LD代表“传送”等。计算机不能直接识别符号语言,需要汇编程序将符号语言转换为机器指令。所以符号语言又称符号汇编语言或汇编语言。属于计算机低级语言。
高级语言: 目的:克服低级语言的缺点。特点:功能性很强,不依赖于具体机器,用它写出的程序对任何型号的计算机都适用,它与具体机器距离较“远”。故称为计算机高级语言。其经历了(1)非结构化的语言 BASIC,FORTRAN,ALGOL;(2)结构化语言 QBASIC,FORTRAN77,c语言;(3)面向对象的语言 C++,C#,Visual Basic,java。
1.3 c语言的发展及其特点
特点(1)语言简洁,紧凑,使用灵活,方便;(2)运算符丰富;(3)数据类型丰富;(4)具有结构化的控制语句;(5)语法限制不太严格,程序自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可用来编写系统软件;(7)用c语言编写的程序可移植性好;(8)生成目标代码质量高,程序执行效率高。
1.4 最简单的c语言程序
1.4.1 举例
#include<stdio.h> //编译预处理指令
int main() //主函数
{ //开始的标志
printf("This is a C program.\n"); //输出所指定的一行信息
return 0; //执行完毕时返回函数值0
} //结束的标志
说明 c语言的两种注释方式
(1)以//开始的单行注释,这种注释可以独占一行,也可以出现在一行中其他内容的右侧。此种注释的范围从//开始,以换行符结束。
(2)以/*开始,以/*结束的块式注释。这种注释可以包含多行内容。它可以单独占一行,也可以包含多行。(注:字符串中这两种注释都是字符串的一部分)。
程序第一行#include<stdio.h>是用来提供此函数的信息的。stdio.h是系统的一个文件名,stdio是standard input&output的缩写,文件的后缀.h的意思是头文件(header file),因为这些都是放在程序各文件模块的开头的。
最后一行 return 0,函数定义为整型有函数值,需要用return 语句为函数指定返回值。main函数中的return语句指定的返回值一般为0,其他函数依据具体情况确定返回值,不要不加分析的在所有函数的后面都写上“return 0”。
1.4.2 C语言程序的结构
(1)一个程序有一个或多个源程序文件组成
<1>预处理指令,例#include<stdio.h>;
<2>全局声明,依具体情况;
<3>函数定义,例int main;
(2)函数是c语言的主要组成部分
一个c语言程序是由一个或多个函数组成的,其中必须包含一个main函数(有且只能有一个main函数)。一个源文件就是一个程序模块,即将一个程序分成若干个程序模块。进行编译时是以源程序文件为对象进行的。在程序中被调用的函数,可以是系统提供的库函数(printf和scanf函数),也可以是用户根据需要自己编制设计的程序。
(3)一个函数包括两个部分
<1>函数首部:包括函数名,函数类型,函数属性,函数参数(形式参数)名,参数类型。
int(函数类型)max(函数名)(int(函数参数类型)x(函数参数名),int y)
一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。如果函数没有参数,可以在括号中写void,也可以是空括号。
int main(void)或int main()
<2>函数体 即函数首部下面的花括号内的部分。如果在一个函数中包括有多层花括号,则最外层的一对花括号是函数体的范围。
函数体一般包括两部分
声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明。
执行部分:有若干个语句组成,指定在函数中所用到的变量。
在某些情况下也可以没有声明部分,甚至可以既无声明部分也无执行部分。
(4)程序总是从main函数开始执行的
(5)程序中要求计算机的操作是由函数中的C语句完成的。
(6)在每个数据声明和语句的最后必须有一个分号
(7)C语言本身不提供输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成。
(8)程序应当包含注释
1.5 运行C程序的步骤与方法
c语言编写的程序是源程序,计算机不能直接识别和执行用高级语言写的指令,必须用编译程序(也称编译器)把c源程序翻译成二进制形式的目标程序,然后再将该目标程序与系统的函数库以及其他目标程序连接起来,形成可执行的目标程序。
(1)上机输入和编辑源程序;
(2)对源程序进行编译;编译的作用首先是是对源程序进行检查,判断它有无语法方面的错误。
(3)进行连接处理,必须把所有的编译后得到的目标模块连接装配起来,再与函数库相联结成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序。
(4)运行可执行程序,得到运行结果。
1.6 程序设计的任务
从确定问题到最后完成任务,一般经历以下几个工作阶段
(1)问题分析;
(2)设计算法,即设计出解题的方法和具体步骤;
(3)编写程序;
(4)对源程序进行编辑,编译和连接;
(5)运行程序,分析结果;
(6)编写程序文档。