1946年,世界上第一台电子数学式计算机在美国宾夕法尼亚大学诞生,ENIAC是电子数值积分计算机
人们使用计算机解决问题时,必须用某种‘语言’来和计算机进行交流
利用某种计算机语言提供的命令来编制程序,并把程序存储在计算机的存储器中,利用此程序来控制计算机的运行,达到解决问题的目的
用于编写计算机可执行程序的语言称为程序设计语言
1.程序设计语言
- (1)计算机语言
计算机语言是人们描述计算过程(程序)的规范书写语言
程序是对计算机处理对象和计算规则的描述
语言的基础是一组记号和语法规则
根据语法规则由记号构成记号串的全体就是语言
人和人交流使用自然语言
人和计算机交流使用计算机语言
计算机语言是根据计算机的特点编制的,是计算机能够理解的语言,是有限规则的集合
计算机语言是用语法来表达程序员的思想,编写程序的时候必须严格遵守语法规则 - (2)程序设计语言的发展
计算机是一种具有内部存储能力、由程序自动控制的电子设备
人们将需要计算机做的工作写成一定形式的指令,存储在计算机的内部存储器中
当人们需要结果的时候就向计算机发出一条简单的指令,计算机按指令顺序自动执行操作
人们把这种可以连续执行的一条条指令的集合叫做程序
程序是计算机指令的序列,编写程序就是为计算机安排指令序列
机器语言到高级语言,面向过程的语言到面向对象的语言
机器语言
将计算机指令中的操作码和操作数均以二进制形式的代码表示,是计算机能够直接识别和执行的语言
优点:不需要翻译、占用内存少、执行速度快
缺点:和机器相关性大,通用性差,难以阅读和记忆,编码工作量大,难以维护
汇编语言
用助记符号来表示机器指令的符号语言
也叫计算机符号语言
用汇编语言编写的程序叫做汇编语言程序,必须经过翻译(汇编)编程机器语言才能被计算机识别和执行
虽然克服了机器语言的缺点,但是仍然不适合理解和使用
高级语言(面向过程的语言)(告诉计算机怎么做)
具有国际标准,描述形式接近自然语言的计算机语言,完全符号化的描述形式
用数学表达式来描述数据的计算过程
高级语言只要求人们关心计算机求解问题的过程,不必关心计算机的内部结构,因此叫做面向过程的语言
比如:Basic、Fortran、Cobol、Pascal、C语言等
使用面向过程的语言编程的时候,主要精力放在算法过程的设计和描述上
非过程化语言(面向对象的语言)(告诉计算机做什么)
是一种功能更强的高级语言
特点:非过程性、采用图形窗口、人机对话形式、基于数据库和面向对象技术
容易编程、容易理解、容易使用、容易维护
程序的运行效率和语言的灵活性没有过程化语言高
比如:Visual Basic 、Java 、C++ 、C# 、Delphi等
智能化语言
用于人工智能领域,主要编写推理、演绎的程序
目前主要是面向过程的语言和面向对象的语言
2.C程序设计语言
- (1)C语言的发展历史
C语言是国际上流行的,使用最广泛的高级程序设计语言
可以用来写系统软件、应用软件
语言简洁紧凑,使用灵活方便、运算符丰富,能实现汇编语言的大部分功能
C语言生成目标代码质量高,程序执行效率高,程序的可移植性好
C语言的产生
满足UNIX操作系统开发的需要
接近硬件的需要
B语言到C语言(C语言更接近硬件) - (2)C语言的标准与版本(ANSI C)
C语言环境有多种版本:TC2.0,BC3.1,BC5.0,VC6.0等
最新windows和web应用程序提供动态的开发环境Visual C++、.NET(C#) - (3)C语言的特点
c语言简洁、紧凑,编写的程序短小精悍
运算符丰富、数据结构丰富
结构化程序设计语言
允许直接访问物理地址
预处理机制
可移植性好
语法限制不太严格、程序设计自由度大,对程序员要求不高
生成的代码质量高,程序的执行效率高
3.C语言的基本语法成分
- (1)字符集
字符是可以区分的最小符号,是构成程序的基础
c语言字符集是ASCII字符集的一个子集,包括英文字母、数字以及特殊符号
英文字母:a~z和A~Z
数字:0~9
特殊字符:空格 ! # % ^ & * — - + = ~ < > / \ | . , : ; ? ’ " ( ) [ ] { } 。
由字符集中的字符可以构成C语言的语法成分,比如:标识符、关键字、特殊的运算符等等 - (2)标识符
标识符在程序中是用来标识各种程序成分,命名程序中的一些实体,比如:变量、常量、函数、类型和标号等对象的名字
C语言规定,合法的标识符必须由英文字母或者下划线开头,只能由字母、数字、下划线构成
不能跨行书写,自定义的标识符不能与关键字同名
C语言中,大写字母和小写字母被认为是两个不同的字符
习惯上符号常量名用大写字母表示,变量名用小写字母表示
在C语言中,标识符的长度(一个标识符允许的字符个数)可以是任意的
一般的计算机系统规定取前8个字符有效
超过8个字符,多余的字符不会被识别
c语言的标识符分为以下三类
1)关键字(保留字),C语言中用来表示特殊含义的标识符,由系统提供
比如:int float if switch while for sizeof 这些是构成c语言语法的基础
关键字有特殊的语法含义,不允许用户重新定义
关键字在程序中不允许随意书写,绝对不能拼错
关键字也不能用作变量或者函数名
2)预定义标识符
预先定义的标识符,它们有特定的含义,用作固定的库函数或预编译处理中的命令
库函数:scanf、printf、sin等
预编译处理命令:define、include等
3)用户标识符
由用户自己定义的标识符,比如变量名或函数名
一般用来给变量、函数、数组、文件等命名
应该遵守标识符的命名规则,最好做到见名知义,提高程序的可读性 - (3)运算符
可以认为是系统定义的函数名字,这些函数作用于运算对象,得到一个运算结果
运算符通常由一个或者多个字符构成
根据运算对象的个数不同,运算符可以分为以下几种:
单目运算符:! ~ ++ – *
双目运算符:+ - * /
三目运算符:?:
4.c语言程序的构成
版权声明:本文为ymeng9527原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。