程序设计语言初步-副本

上传人:tia****nde 文档编号:67813947 上传时间:2019-01-09 格式:PPT 页数:116 大小:1.71MB
返回 下载 相关 举报
程序设计语言初步-副本_第1页
第1页 / 共116页
程序设计语言初步-副本_第2页
第2页 / 共116页
程序设计语言初步-副本_第3页
第3页 / 共116页
程序设计语言初步-副本_第4页
第4页 / 共116页
程序设计语言初步-副本_第5页
第5页 / 共116页
点击查看更多>>
资源描述

《程序设计语言初步-副本》由会员分享,可在线阅读,更多相关《程序设计语言初步-副本(116页珍藏版)》请在金锄头文库上搜索。

1、1,2,程序设计语言:用于书写计算机程序的语言,用于表达和描述要加工的数据以及求解问题的步骤和过程。是根据预先定义的规则(语法)、由一个有限字母表上的字符构成的字符串的总体。 程序设计语言的基本成分: 数据成分。用以描述程 序中所涉及的数据。 运算成分。用以描述程序中所包含的运算。 控制成分。用以表达程序中的控制构造。 传输成分。用以表达程序中数据的传输。,3,提纲,标识符 数据类型 变量 常量 输入和输出 表达式 语句 函数,本章结合C语言向大家介绍结构化程序设计语言的基本概念,数据成分,传输成分,运算成分,控制成分,4,先聊点C语言,5,6,数据总线,控制总线,地址总线,实例:编一个程序,

2、从键盘读入两个整数,要求在屏幕上输出相乘运算结果。,处理步骤: 1.控制部件发命令从键盘读取数据并存储到内存储器中(输入)。 2.控制部件发命令从内存储器中取出这两个数置入运算部件的寄存器中,让运算器执行乘法运算,运算结果写回存储器中(处理)。 3.控制部件发命令将存储在内存储器中的结果输出到显示器上(输出)。,需要考虑的问题: 1.输入:如何从键盘读取这两个数并将其存放到内存中?程序如何约束输入的必须是整数? 2.处理:计算时如何读取内存中的这两个数?如何实现计算?计算结果如何写回内存? 3.输出:如何将内存中的计算结果输出到显示器?,7,数据总线,控制总线,内存中数据的存取:变量、常量、

3、数据类型,输入:输入语句,输出:输出语句,地址总线,计算的实现: 运算符 表达式 语句 函数,8,标识符是由程序员定义的单词,用来给程序中的数据、函数和其他用户自定义对象命名。,程序设计语言本身会定义一些专用名称,称之为保留字或关键字,它们具有特定含义,程序员不能另做他用。如:C语言规定了32个关键字。,3.1 标识符,9,C语言规定的32个关键字: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigne

4、d continue for signed void default goto sizeof volatile do if static while,10,#include main() int number1; /*变量声明*/ int number2; int result; printf(“please input the two numbers:n”); /*显示提示信息*/ scanf(“%d%d”, ,用户自定义标识符,C语言关键字,3.1 标识符,11,不同的程序设计语言标识符格式可能不同。 C语言规定:标识符由大写字母A到Z、小写字母a到z、数字0到9和下划线组成,且第一个字符

5、必须是字母或下划线,随后的字符必须是字母、数字或下划线。且大小写敏感,如age和Age是两个不同的标识符。 PASCAL语言规定:和C语言类似,只是要求第一个字符只能是字母(比C语言约束更强)。,3.1 标识符,思考:以下哪些是合法的C语言标识符 age,_class_no , name1, name1,2name,#age,12,数据是计算机处理的对象。 数据依据其本身的特点可以归为不同的类:整数、小数、字符、字符串等。 (高级程序语言特点:按照人对于数据的表达方式),程序设计语言应该具备区分各种类型数据的能力,于是引入了数据类型的概念。 数据类型包括两层含义:定义了一系列的值(属于该类型的

6、数据能够取值的范围)以及能应用于这些值上的一系列操作(数据操作)。,3.2 数据类型,13,整数是由符号和一个或多个数字组成的正数、0或负数,又称为带符号的自然数 ,如+12,-38。 注意:在数学中,整数是一个无限集合,但对于计算机来说,只能表示它的一个有限子集(取决于存储空间的大小) 。,整型,3.2 数据类型,程序设计语言一般包含四种标准数据类型:整型、字符型、浮点型和布尔型(补充)。,14,3.2 数据类型整型,整型数据占用的内存单元数: C语言中整型数据细分为四类:short int、int、long int和long long int。(和教材不同) C语言标准没有规定每一种整数类

7、型占用的内存空间大小(即数的范围),只是约束到:short int和int至少要占据16位(2字节),而long数据至少要有32位(4字节);且数据长度上,short int=int=long int = long long int 。 每一种整数类型占用的内存字节数由编译器根据所用机器的硬件情况来决定。,15,整型数据所允许的运算包括: 二目算术运算 :+、-、*、/、(取余) ; 注意:两个整数进行二目运算后结果还是整数 如:125 / 10 = 12(余数5被舍弃), 125 % 10 = 5 单目算术运算 :取负值等; 关系运算:,=,= =(相等), !=(不相等) C语言中关系运算

8、结果为1(真)或0(假),3.2 数据类型整型,16,字符型,字符数据包括26*2个字母(大小写)+10个数字+其它显示符号,总共95种;还有33种控制符号,总共128种符号; 字符型数据在内存中的存储:实际存放的是一个整数值。多数计算机系统采用ASCII(American Standard Code for Information Interchange)标准编码模式来对字符进行编码 。每个字符占用8位内存(1个字节);,3.2 数据类型,17,ASCII表,思考:若从键盘上输入字符存储到内存,字符到二进制编码的转换是由什么部件来实现的?,18,ASCII(A)=65 A的ASCII值是65

9、 ASCII(a)=97 规律:大写字母的ASCII编码32小写字母的ASCII编码,3.2 数据类型字符型,19,3.2 数据类型字符型,关系运算(按照ASCII大小): ,=, = =,!= 例如:A a 结果为真,因为A的ASCII是65 ,a的ASCII是97 ,6597,字符型所允许的运算包括(将字符型数据当作整型数据对待): 算术运算:ch2=ch1-32 (若ch1值为b,则ch2为B) ch2=ch1-1 (若ch1值为b,则ch2为a) ch2=ch11 (若ch1值为b,则ch2为c),20,浮点型,浮点型是带小数部分的数字类型 ,如3.14,1.575E5(科学计数法,即

10、 1.575* )。 抽象地讲,浮点型数据的值域是全体实数,但是由于计算机表示方面的原因,计算机只能表示它的一个有限子集。 同样由于计算机表示方面的原因,实数在计算机内部的表示有时是不准确的。例如,存储圆周率时,只能表示成近似的值。,3.2 数据类型,21,3.2 数据类型,C语言支持三种不同长度的浮点数据类型:float、double和long double。 其中float一般占32位(字节);double一般占64位( 8字节), long double占96位( 12字节)。 三者区别:越后面的类型运算精度越高,值域越大,但占用的内存单元越多。,22,浮点型所允许的运算包括: 二目算术

11、运算 :+、-、*、/; 浮点型数据进行二目运算结果还是浮点型。 如:12.0/5.0=2.4 单目算术运算 :取负值 关系运算:,=,= =,!=,3.2 数据类型浮点型,注意:要避免做两个实数相等或不相等的比较。由于计算机表示方面的近似性,会使得本来应该相等的两个数不等。建议在比较两个浮点数X和Y是否相等时使用|X-Y|,其中是一个绝对值较小的正浮点数。,23,3.2 数据类型布尔型(补充),布尔类型数据:取值只有两种,真(True)或者假(False)。允许的运算包括:与、或、非。 绝大多数程序设计语言中有布尔类型这种数据类型,如Pascal语言。但是C语言没有定义这种数据类型。,布尔型

12、,24,标准类型是原子的、不可再分的。程序员可以以标准类型为基本构件,构造出复杂的数据类型。如C语言有:结构、数组、联合、文件等复杂数据类型;PASCAL语言有:结构、数组、集合、文件等复杂数据类型。,3.2 数据类型复杂数据类型,25,3.3 变量,数据总线,控制总线,输入数据、中间运算结果、最终结果,程序需要将输入数据、中间运算结果以及最终结果暂时保存在内存单元中。,地址总线,程序如何实现从内存单元存取数据?,26,3.3 变量,程序运行时,通过内存地址对内存数据进行读写; 程序员写源程序时,如果也是直接使用内存地址来读写内存数据,会很麻烦! 如果用名字来代替地址,在程序中出现的是代表内存

13、空间的名字,让编译器来跟踪数据实际存放的物理内存地址,就可以简化编程变量;,27,变量用来代表内存存储空间,该存储空间用来存放被加工的数据或处理的结果。源程序中对变量的操作(读和赋值)实际上是对存储空间的读写操作。 变量具有三个重要属性:名称、值和数据类型。,用gender代表地址为2001H的内存单元,score代表地址为2004H2007H的一片内存空间。用变量来实现对这些内存空间数据的存取。,3.3 变量,28,一、变量定义,使用变量来对内存数据进行存取前,必须先定义变量,目的是建立变量和存储空间的对应关系。 变量定义指明变量的名称和数据类型(变量代表的存储空间存放的数据的类型)。变量的

14、名称要遵循标识符命名原则,虽然可以为任意长度,但C编译器只认为前31个字符有效。变量类型可以告诉编译器留出适量的用于保存数据的内存。 不同语言中变量定义的写法不一样,C语言格式: 数据类型 变量名1,变量名2,;,3.3 变量,思考:变量定义时要指明哪些内容?,数据类型,变量名,分号必须,多个同类型变量用逗号分割,29,注意,变量定义仅引起内存存储空间分配,但此时变量中存储的值一般是无意义的!,变量定义将引起内存空间的分配。定义后,变量就用来代表内存中的一片存储单元(存储单元个数取决于变量类型)。,3.3 变量,30,二、变量赋值,3.3 变量,C语言示例: char gender; int

15、age; float score;,变量赋值:把一个值写入变量代表的存储空间。,C语言变量赋值格式:变量名=表达式,gender=F; age = 18; score= 89.5;,ASCII(F)=70,70,18,89.5,变量的值,31,3.3 变量,变量使用特点 先定义,后使用。 int age; 定义一个变量为整数类型。如未定义,则在编译时被查出,认为非法。 变量未被赋值前,值一般是无意义的。 对变量赋值过程是“覆盖”过程,用新值去替换旧值。 读取变量代表的存储空间数据(又称读取变量的值):age=age+1; 读取变量的值时,该变量保持不变。,32,C语言允许变量在定义时进行初始化

16、。初始化语句用来给变量赋初始值。例如: char gender; int age = 16; float score;,3.3 变量,33,3.3 变量,试解释下列操作的含义 读取变量的值 写入变量 给变量赋值 修改变量的值,34,#include #include main() int number1; /*变量声明*/ int number2; int result; printf(“please input the two numbers:n”); /*显示提示信息*/ scanf(“%d%d”, ,3.3 变量,35,3.3 变量,找出下述变量定义的错误: float f; char A, B;,36,总结: 变量三要素:变量名(存储空间)、数据类型(存

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号