- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)第三代语言—算法语言(高级语言) 计算机不能直接识别和执行算法语言,源程序须经过编译 程序(系统软件)编译成机器语言程序(目标程序)后才 能执行,过程如下:
编译 算法语言 源程序 编译程序 机器语言 目标程序 执行 结果
这种方式被称为编译执行 编译执行,用户程序只需经过编译程序编 编译执行 译一次,编译结果(目标程序)可多次运行. 通常,把用高级语言或汇编语言编写的程序称为源程序.
2 程序设计语言的发展
程序设计语言:编写程序所使用的语言. 程序设计语言:编写程序所使用的语言.
(1)第一代语言—机器语言.它依赖于机器, 不同的计算机有不同的语言,它由一系列 指令组成,每条指令用 二进制或八进制编 码. 例:0000001011001111 表示 加法指令 机器语言是唯一计算机可以直接执行的语 言.
常量
C 语言中使用的常量可分为数字常量, 字符常量,字符串常量,符号常量,转 义字符等多种.在后面课程中将专门给 予介绍.
注释符
C 语言的注释符是以"/*"开头并以"*/" 结尾的串.在"/*"和"*/"之间的即为注 释. 程序编译时,不对注释作任何处理.注 释可出现在程序中的任何位置. 注释用来向用户提示或解释程序的意义. 在调试程序中对暂不使用的语句也可用 注释符括起来,使翻译跳过不作处理, 待调试结束后再去掉注释符.
(2)第二代语言– 汇编语言(符号语言)
用符号代替机器语言中的二进制编码. 如 : MOV AL , 5 计算机不能直接识别和执行汇编语言,它必须 经过一个汇编程序(系统软件)转换成机器语 言后才能执行,它仍依赖于机器,不同的计算 机有不同的汇编语言,不能通用.
汇编语言程序 汇编程序 机器语言程序
函数的一般结构 任何函数( 包括主函数main() main()) 任何函数 ( 包括主函数 main() ) 都是由函数说明 和函数体两部分组成. 和函数体两部分组成. 其一般结构如下: 其一般结构如下: [函数类型] 函数名(函数参数表) 函数类型] 函数名(函数参数表) { 说明语句部分; 说明语句部分; 执行语句部分; 执行语句部分; } 函数体 部分 函数说明 部分
构造类型
(组合类型)
指针类 型空类型
不同的数据类型所占用的内存单元数 (字节数)不等,如
整型数据(int)占2个字节,字符(char) 占1个字节, 实型数据(float)一般占4个字节
变量
变量:在程序中,数据连同其存储空间 被抽象为 变量. 变量名:每个变量都有一个名字,这个 名字就是 变量名.
内存地址
所有的程序和数据都是存放在存储器中 的.一般把存储器中的一个字节称为一 个内存单元 内存单元. 内存单元 为了正确地访问这些内存单元,必须为 每个内存单元编上号.根据一个内存单 元的编号即可准确地找到该内存单元. 内存单元的编号就是所谓内存地址 内存地址. 内存单元的编号就是所谓内存地址
指令是能被计算机识别并执行的一种二进 制代码,一条指令完成一种基本操作. 制代码,一条指令完成一种基本操作. 程序:是控制计算机完成特定功能的一组 程序:是控制计算机完成特定功能的一组 完成特定功能 有序指令的集合. 有序指令的集合.
高级语言程序的执行除了上述方式外还有另外 一种方式, 一种方式,即 一次只读一行源程序, 一次只读一行源程序,将该行源程序翻译成 机器语言并执行,翻译结果不保存, 机器语言并执行,翻译结果不保存,这种方 式称为解释执行. 式称为解释执行. 解释执行 这种方式下, 这种方式下,每次运行用户程序时都必须要 解释程序. 用解释程序. 典型的代表:早期的BASIC语言,PCLogo 语言, 典型的代表:早期的 语言 等
5 数据类型与变量
大多数程序设计语言都将数据分类, 大多数程序设计语言都将数据分类,这 些数据的类别就是所谓的数据类型 数据类型. 些数据的类别就是所谓的数据类型.
C 整型(int) 长整型(long) 数值类型 实型 单精度型(float) (浮点型) 双精度型(double) 基本类型 字符类型(char) (简单类型) 枚举类型(enum) 数组类型 结构类型(struct) 共用类型(union) 文件类型
第四代:甚高级语言, 第四代:甚高级语言,是面向对象或面向问题的高级语 言. 简称VB 如:Visual Basic, 简称 Visual C++, 简称 简称VC
C 语言
C 语言语法简洁,紧 凑;使用方便,灵活;具有丰富 的运算符和数据结构;并能通过函数来 实现程序的 模块化.它即具有高级语言的一 切功能,也具有低级语言的一些功能.因 此,它即可以用来编写系统软件,也可 此,它即可以用来编写系统软件,也可 以用来编写应用软件.所以它是当 以用来编写应用软件.所以它是当 今国际上广泛流行的一种计 算机高级语言.
第一讲 简单的C程序设计(1)
-------基本概念
主要内容
什么是计算机程序 程序设计语言的发展 C语言词汇及程序书写格式 C语言程序结构 数据类型与变量
1 什么是程序
计算机由控制器,运算器,存储器,输入设备, 输出设备五部分组成; 计算机采用二进制表示数据和指令; 由指令组成的程序以及程序所要处理的数据 程序所要处理的数据都被 由指令组成的程序 程序所要处理的数据 存储在存储器中,计算机自动依次取出指令并执 行. 计算机的工作过程实际上是执行程序的过程.程 序的执行过程就是在控制器的控制下,不断地取 指令,执行指令的过程.
1. 一个完整的 C 程序一般是由一个 一个完整的C 程序一般是由一个main() 函数( 又称主函数) 和若干个其它函数 构成的. 其它函数构成的 函数 ( 又称主函数 ) 和若干个 其它函数 构成的 . 也可仅由一个main()函数构成. 也可仅由一个 函数构成. 函数构成 2. 一个 C 语言程序 , 总是从 一个C 语言程序, 总是从main()函数开 函数开 始执行,而不论其在程序中的位置. 始执行,而不论其在程序中的位置. 当主函数执行完毕时, 亦即程序执行完毕. 当主函数执行完毕时 , 亦即程序执行完毕 . 习惯上,将主函数 放在最前头. 习惯上,将主函数main()放在最前头 放在最前头 3.函数是C语言程序的基本单位. 函数是C语言程序的基本单位. 函数是
标识符的例子
以下标识符是合法的:
a, x, x3, BOOK_1, sum5
以下标识符是非法的:
3s 以数字开头 s*T 出现非法字符* -3x 以减号开头 bowy-1 出现非法字符-(减号)
关键字
关键字是C语言规定的具有特定意义的字 符串,通常也称为保留字.用户定义的标 识符不应与关键字相同.
变量的类型与声明(定义)
不同类型的数据在内存中占据不同长度 的存储区,且采用不同的表示方式;
因此,在引用变量之前必须先用声明语句指定 变量的类型,这样在编译时就会根据指定的类 型分配其一定的存储空间,并决定数据的存储 方式和允许的操作方式.
注意: 注意:一个变量只能属于某一类型,不能 把一个变量声明为几种不同类型.
1.
2. 3.
标准C不限制标识符的长度,但它受各种版本的C 语言编译系 统限制,同时也受到具体机器的限制.例如在某版本C 中规 定标识符前八位有效,当两个标识符前八位相同时,则被认 为是同一个标识符. 在标识符中,大小写是有区别的.例如BOOK和book 是两个 不同的标识符. 标识符虽然可由程序员随意定义,但标识符是用于标识某个 量的符号.因此,命名应尽量有相应的意义,以便于阅读理 解,作到"顾名思义".
C语言的关键字共有 个,可分为以下几类. 语言的关键字共有32个 可分为以下几类. 语言的关键字共有 (1)数据类型关键字(12个): )数据类型关键字( 个 char, double, enum, float, int, long, short, signed, struct, union, unsigned, void (2)控制语句关键字(12个): )控制语句关键字( 个 break, case, continue, default, do, else, for, goto, if, return, switch, while (3)存储类型关键字(4个): )存储类型关键字( 个 auto, extern, register, static (4)其它关键字(4个): )其它关键字( 个 const, sizeof, typedef, volatile(易变 易变) 易变
变量声明(定义)的一般格式: 变量声明(定义)的一般格式: [存储类型 数据类型 变量名 变量名 …]; 存储类型] 变量名[, 变量名2 存储类型 例如: 例如 int a1, a2, a3; 变量初始化:在定义变量的同时进行赋初值的操作 . 变 变量初始化 : 在定义变量的同时进行赋初值的操作. 量初始化的一般格式: 量初始化的一般格式: [存储类型 数据类型 存储类型] 存储类型 2] …]; 例如: 例如 float a1=2.5, a2=5.23, a3=45.43; 变量名[=初值 变量名2[=初值 变量名 初值][, 变量名 初值 初值
分隔符
在C语言中采用的分隔符有逗号和空格 两种.逗号主要用在类型说明和函数参 数表中,分隔各个变量.空格多用于语 句各单词之间作间隔符.在关键字和标 识符之间必须要有一个以上的空格符作 间隔,否则将会出现语法错误,例如把 int a;写成 inta;C编译器会把inta 当成一 个标识符处理,其结果必然出错.
4. C程序结构
例:输出一个字符串:This is a C program. 的C 输出一个字符串: 语言程序.程序如下: 语言程序.程序如下: main() { /*这是一个简单的演示程序*/ printf("This is a C program.\n"); } 程序运行结果: 程序运行结果: This is a C program. 该程序仅由一个main()主函数构成. 主函数构成. 该程序仅由一个 主函数构成