一.程序与程序设计语言
从1946年开始计算机已经渗透进人们的生活的方方面面,计算机能有如此力量与构成计算机系统的硬件与软件密不可分,硬件事物质基础而软件则是计算机的灵魂。数十年的发展计算机硬件在不断地飞速发展着,同时开发软件的程序设计语言经过多年得发展,其技术和方法日臻成熟。可分为以下三个阶段
1.机器语言:第一代计算机语言。按照冯诺依曼原理采用二进制。特点:与人类所用的语言差别太大,难学,难记,难写,难修改,采用机器编程所以只有少部分人能完成工作
2.汇编语言:采用助记符来代替机器指令的二进制串,特点:依赖机器硬件,维护修改方便,容易读懂,可移植性不好。
3.高级语言:接近与数学语言或人的自然语言(英语)
按照语言的特性,高级语言又经历了不同的发展阶段:
1.非结构化的语言:早期的高级语言编程风格比较随意只在意执行的结果和速度,没有编程范围可以遵循,使得程序变得难以阅读和维护
2.结构化的语言:1970年第一个结构化程序设计语言-Pascal出现,具有良好特性的进本结构,程序中的流程不允许随意跳转,程序又上而下顺序执行流程,结构清晰,易于阅读和维护。c语言和Pascal都属于c语言
3.面对对象的语言:之前的高级语言可以称之为面向过程的,流水式的程序的执行不易重复使用之后便有了面对对象的语言例如:C++,JAVA,。它们更容易,耗时更少,
二.程序设计语言的功能
程序设计语言是人与计算机进行交流的桥梁,人要让计算机按照自己的意愿处理数据,就必须用程序设计语言表达所要处理的数据以及控制数据处理的流程。因此,程序设计语言必须具有数据表达与数据处理的能力
1.数据表达:数据是计算机处理的对象,而数据表达即变量定义,如整型、实型、字符型,这些基本的数据类型可以定义的数据对象表现为两种形式,如常量和变量。
2.流程控制
1.顺序结构:按自然顺序执行下一条语句
2.分支结构:根据条件执行
3.循环结构:根据条件选择执行或不执行
三.程序的算法表示
人们常说:“软件的主体是程序,程序的核心是算法”。这是因为要使计算机解决某个问题,首先必须针对该问题设计一个解题步骤,然后再据此编写出程序并交给计算机执行。这里所说的解题步骤就是“算法”,采用程序设计语言对问题的对象和解题步骤进行的描述就是程序。
算法的特征:
1.确定性:算法的每条指令都要有明确的含义,不能含有二义性。
2.有穷性:一个算法应该包涵有限个操作步奏。
3.可行性:算法中指定的操作都可以通过已经实现的基本运算执行有限次后复。
4.有零个或多个输出
5.有一个或多个输出
(1)用文字描绘算法:
人们通常采用自然语言(如英语,汉语等)的形式来描述一件事情的经过 这种表式方法的缺点:很难“系统"并“精确”地表达算法,且有时叙述冗长,别人不容易理解
(2)用流程图描述算法:
用流程图表示算法,形象直观,简单方便。但当算法比较复杂时,对于程序流程的走向
没有任何限制,可以任意转向,有时也难以表达清楚,且容易产生错误。
(3)用伪代码表示:
伪代码是一种近似高级语言但又不受语法约束的语言描述方式,它不能在计算机中运行,但可以用来描述算法 伪代码结构清晰,代码简单,可读性好,并且类似自然语言,可以很容易用一种程序设计语言来表现。
(4)程序设计语言表示:
采用程序设计语言描述一个算法,也会有很多不便。因为按照程序设计语言的语法规定,往往要编写很多与算法无关而又十分繁琐的语句,如变量定义、输入输出格式描述等。因此,很多情况下,若要专注于算法设计的话,经常会采用伪代码来描述算法。
四.C语言程序设计的特点
1.C语言的特点:
(1)C语言的语句简洁紧凑,使用方便灵活
(2)运算符丰富,表达能力强
(3)C语言程序可移植性好
(4)生成的目标代码质量高,运行效率高
(5)语言处理能力强
(6)C语言是一种结构化语言
缺点:语法检查不严格,要程序员自己保证程序的正确,初学者很难掌握优先级和结合性
2.C语言的约定
(1)标识符:用来标识(表示)数据类型、变量、函数、语句的符号称为标识符,不同程序设计语言都有关于标识符的定义范围
(2)关键字:关键字是C语言规定的,赋予特定含义和专门用途的标识符
3.用户自定义标识符:变量名、数据类型名、函数名和符号常量名
4.预定义标识符:头文件、库函数等
5.分隔符:逗号、空格
2.C语言的语法成分:
(1)常量:有数据类型的不变的量。
(2)变量:每个变量都有数据类型,在定义变量时要说明变量的数据类型。
(3)运算符:用于对各类型的数据对象进行运算
(4)表达式:由运算符将常量,变量,函数组合而成的有意义的式子称为表达式
(5)语句:在C语言中语句是程序最基本的执行单位。
(6)函数定义与调用:C语言中包含若干个函数,复杂的任务通过调用这些函数来完成
五.运行C语言的步骤与方法