一.什么是计算机语言
用于编制程序,指挥计算机正常工作的指令系统
计算机语言发展阶段:
- 机器语言
- 汇编语言(符号)
- 高级语言:
- 面向过程的语言 (非结构化的语言、结构化语言)
- 面向对象的语言
机器语言:计算机能直接执行的二进制指令系统。
机器语言,对我们来说,是难学,难记,难调试。
汇编(符号)语言:与机器语言对应的符号化的指令系统。
但是,汇编语言,需要汇编(翻译)成机器语言才能执行,不同的计算机有不同的汇编语言。
高级语言:与机器无关的类自然语言的指令系统。
高级语言,可适用于不同的计算机系统,更接近人类思维,但计算机不能直接识别执行。
编译器(Compiler):
把源代码转换为可被计算机理解的机器代码。
一种程序设计语言可对应多种编译器。
二.计算机程序与算法
计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。
算法:解决问题的具体方法和步骤。
描述算法的方法有:自然语言、流程图、盒图(N-S图)、PAD图、伪代码、计算机语言等。
算法是独立存在的一种解决问题的方法和思想。
一个算法应该具有以下5个重要的特征:
- 输入特征 有零个或多个输入
- 输出特征 有一个或多个输出
- 有穷性 经过有限步骤之后会自动结束而不会无限循环
- 确定性 算法包含的每一个步骤都是确定的,不会出现二义性。
- 可行性 每一个步骤必须能有效地执行,并得到正确结果。
ps:
算法的多样性:一个具体问题可以有不同的解决方 法,因此可以设计解决问题的不同算法。
算法的通用性:一个算法应是适用于某类问题,而不 只是适用于某一个问题。
设计算法的要求:
- 正确性
- 算法对于合法数据能够得到满足需求的结果。
- 算法能够处理非法输入,并得到合理的结果。
- 算法对于边界数据和压力数据都能得到满足要求的结果。
- 可读性
- 算法要方便阅读,理解和交流。
正确性和可读性永远是一个好算法的基本条件!
- 算法是解决问题的方法步骤,程序是算法的代码实现;
- 算法要依靠程序完成功能,程序需要算法作为灵魂。
程序设计:从分析问题找到算法,再将算法转换为程序的全过程。
三.结构化程序设计
顺序结构、分支结构、循环结构是结构化程序设计的三种基本结构,这三种结构互相结合,可以实现任何逻辑控制。
顺序结构流程图:
分支结构流程图:
循环结构流程图:
结构化程序设计的步骤:
1.问题分析
- -明确最后应达到的目标
- -研究所给定的条件
- -找出解决问题的规律
- -确定解题的方法
2.设计算法
3.编写程序
4.对源程序进行编辑、编译和连接
5.运行程序,分析结果
- -结果错了,程序肯定错。
- -结果对了,程序未必对。
四.初识C语言
C语言的特点:
- 语言简洁、紧凑、灵活(32个关键字,9种控制语句)
- 运算符和数据类型丰富(34种运算符)
- 程序设计结构化、模块化
- 代码量小、程序执行效率高
- 可移植性好
- 允许访问物理地址,进行位操作
- 语法限制不太严格,程序设计自由度大
32个关键字:
9种控制语句:
34种运算符:
标识符:用于标识系统运算对象(包括变量名、符号常量名、函数名等)的有效字符序列。
分为系统定义标识符和用户自定义标识符。
系统定义标识符:由系统命名(如所有库函数的名称)。
ps:系统定义标识符可以作为用户自定义标识符,但会失去其原有的意义和用途。
用户自定义标识符:必须遵循以下命名原则:
(1)只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
(2)字母区分大小写,如Name和name代表两个不同的标识符。
(3)不能使用系统的保留字(关键字)。
ps:C语言虽然不限制标识符长度,但是会受到不同编译器和操作系统的限制。
C语言源程序的结构
简单C语言程序的结构:
一个简单的C程序(只包含一个源程序文件),是由一个main()函数(又称主函数)和若干个其它独立函数结合而成的,或仅由一个main()函数构成。
强调:一个C程序不论由多少个源程序文件组成,有且只有一个源程序文件中包含main函数,且main函数在源程序文件中的位置任意。
C程序中的语句
数据定义语句
对程序中使用的变量名称、数据类型等进行说明。
数据处理语句
对程序中的数据进行运算、输入、输出等。
·流程控制语句
对程序的执行流程进行控制,分为分支控制和循环控制两类.
分类如下:
PS:
- 一个C源程序文件包括1个或多个函数,必须有且只能有一个名为main的函数(主函数)。
- 一个C函数由两部分组成
- 函数首部 函数的第一行。
- 函数体 即函数首部下面由左右花括号{}起来的部分。函数体由两部分组成:声明部分+执行部分
- 程序执行从main函数开始,其它函数通过调用得以执行。
- 函数体中每一个语句必须以“;”结束,但书写格式是自由的。
- C语言本身不提供输入输出语句,输入输出操作由库函数提供。
- C程序用/* .…... */或//作注释,以提高程序的可读性,但块注释不能嵌套。
C程序的格式特点:
- -习惯用小写字母,大小写敏感
- -不使用行号,无程序行概念
- -可使用空行和空格
- -每行只写一条语句
- -常用锯齿形书写格式
运行C程序的流程:
1.编辑
生成C源程序文件,扩展名为.C
2.编译
生成目标文件,扩展名为.OBJ
3.连接
将目标程序和库函数及其他目标程序连接起来,生成可执行文件,文件扩展名为.EXE
4.运行
运行程序,得到结果
巩固练习:
1.下列语言中,不属于计算机语言三大类的是()
A.机器语言
B.汇编语言
C.脚本语言
D.高级语言
2.计算机程序设计语言的发展经历从低级到高级,以下按低级到高级排列顺序正确的是()
A.机器语言、汇编语言、高级语言
B.汇编语言、机器语言、高级语言
C.机器语言、高级语言、汇编语言
D.高级语言、汇编语言、机器语言
3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母、数字和下划线中的任一种符号
4.以下叙述正确的是()
A.C语言规定必须用main最为主函数名,程序将从此开始执行
B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行
C.语言程序将从源程序中第一个函数开始执行
D.主要的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等
5.以下叙述不正确的是()
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面