程序设计语言初步.ppt
《程序设计语言初步.ppt》由会员分享,可在线阅读,更多相关《程序设计语言初步.ppt(115页珍藏版)》请在三一办公上搜索。
1、1,2,程序设计语言:用于书写计算机程序的语言,用于表达和描述要加工的数据以及求解问题的步骤和过程。是根据预先定义的规则(语法)、由一个有限字母表上的字符构成的字符串的总体。程序设计语言的基本成分:数据成分。用以描述程 序中所涉及的数据。运算成分。用以描述程序中所包含的运算。控制成分。用以表达程序中的控制构造。传输成分。用以表达程序中数据的传输。,3,提纲,标识符 数据类型变量常量输入和输出表达式语句函数,本章结合C语言向大家介绍结构化程序设计语言的基本概念,数据成分,传输成分,运算成分,控制成分,4,先聊点C语言,是一种高级语言相对于低级语言而言,在一个高的级别上进行编程历史悠久,战勋卓著诞
2、生于20世纪70年代初,成熟于80年代(C89),修订于90年代(C99),很多重量级软件用C编写上天入地,无所不能几乎没有不能用C写出的软件,没有不支持C的系统很多流行语言、新生语言都借鉴了C的思想、语法C+,Java,C#,PHP等,几乎都是用C编写现状嵌入式领域和系统级编程占主流,桌面应用次之,5,6,数据总线,控制路线,地址总线,实例:编一个程序,从键盘读入两个整数,要求在屏幕上输出相乘运算结果。,处理步骤:1.控制部件发命令从键盘读取数据并存储到内存储器中(输入)。2.控制部件发命令从内存储器中取出这两个数置入运算部件的寄存器中,让运算器执行乘法运算,运算结果写回存储器中(处理)。3
3、.控制部件发命令将存储在内存储器中的结果输出到显示器上(输出)。,需要考虑的问题:1.输入:如何从键盘读取这两个数并将其存放到内存中?程序如何约束输入的必须是整数?2.处理:计算时如何读取内存中的这两个数?如何实现计算?计算结果如何写回内存?3.输出:如何将内存中的计算结果输出到显示器?,7,数据总线,控制路线,内存中数据的存取:变量、常量、数据类型,输入:输入语句,输出:输出语句,地址总线,计算的实现:运算符表达式语句函数,8,标识符是由程序员定义的单词,用来给程序中的数据、函数和其他用户自定义对象命名。,程序设计语言本身会定义一些专用名称,称之为保留字或关键字,它们具有特定含义,程序员不能
4、另做他用。如:C语言规定了32个关键字。,3.1 标识符,9,C语言规定的32个关键字:auto double int struct break else long switch case enum register typedefchar extern return union const float short unsigned continue for signed void default goto sizeof volatiledo if static while,10,#include main()int number1;/*变量声明*/int number2;int result
5、;printf(“please input the two numbers:n”);/*显示提示信息*/scanf(“%d%d”,用户自定义标识符,C语言关键字,3.1 标识符,11,不同的程序设计语言标识符格式可能不同。C语言规定:标识符由大写字母A到Z、小写字母a到z、数字0到9和下划线组成,且第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线。且大小写敏感,如age和Age是两个不同的标识符。PASCAL语言规定:和C语言类似,只是要求第一个字符只能是字母(比C语言约束更强)。,3.1 标识符,思考:以下哪些是合法的C语言标识符age,_class_no,name1,nam
6、e1,2name,#age,12,数据是计算机处理的对象。数据依据其本身的特点可以归为不同的类:整数、小数、字符、字符串等。(高级程序语言特点:按照人对于数据的表达方式),程序设计语言应该具备区分各种类型数据的能力,于是引入了数据类型的概念。数据类型包括两层含义:定义了一系列的值(属于该类型的数据能够取值的范围)以及能应用于这些值上的一系列操作(数据操作)。,3.2 数据类型,13,整数是由符号和一个或多个数字组成的正数、0或负数,又称为带符号的自然数,如+12,-38。注意:在数学中,整数是一个无限集合,但对于计算机来说,只能表示它的一个有限子集(取决于存储空间的大小)。,整型,3.2 数据
7、类型,程序设计语言一般包含四种标准数据类型:整型、字符型、浮点型和布尔型(补充)。,14,3.2 数据类型整型,整型数据占用的内存单元数:C语言中整型数据细分为四类:short int、int、long int和long long int。(和教材不同)C语言标准没有规定每一种整数类型占用的内存空间大小(即数的范围),只是约束到:short int和int至少要占据16位(2字节),而long数据至少要有32位(4字节);且数据长度上,short int=int=long int=long long int。每一种整数类型占用的内存字节数由编译器根据所用机器的硬件情况来决定。,15,整型数据所
8、允许的运算包括:二目算术运算:+、-、*、/、(取余);注意:两个整数进行二目运算后结果还是整数 如:125/10=12(余数5被舍弃),125%10=5 单目算术运算:取负值等;关系运算:,=,=(相等),!=(不相等)C语言中关系运算结果为1(真)或0(假),3.2 数据类型整型,16,字符型,字符数据包括26*2个字母(大小写)+10个数字+其它显示符号,总共95种;还有33种控制符号,总共128种符号;字符型数据在内存中的存储:实际存放的是一个整数值。多数计算机系统采用ASCII(American Standard Code for Information Interchange)标准
9、编码模式来对字符进行编码。每个字符占用8位内存(1个字节);,3.2 数据类型,17,ASCII表,思考:若从键盘上输入字符存储到内存,字符到二进制编码的转换是由什么部件来实现的?,18,ASCII(A)=65 A的ASCII值是65ASCII(a)=97 规律:大写字母的ASCII编码32小写字母的ASCII编码,3.2 数据类型字符型,19,3.2 数据类型字符型,关系运算(按照ASCII大小):,=,=,!=例如:A a 结果为真,因为A的ASCII是65,a的ASCII是97,6597,字符型所允许的运算包括(将字符型数据当作整型数据对待):算术运算:ch2=ch1-32(若ch1值为
10、b,则ch2为B)ch2=ch1-1(若ch1值为b,则ch2为a)ch2=ch11(若ch1值为b,则ch2为c),20,浮点型,浮点型是带小数部分的数字类型,如3.14,1.575E5(科学计数法,即 1.575*)。抽象地讲,浮点型数据的值域是全体实数,但是由于计算机表示方面的原因,计算机只能表示它的一个有限子集。同样由于计算机表示方面的原因,实数在计算机内部的表示有时是不准确的。例如,存储圆周率时,只能表示成近似的值。,3.2 数据类型,21,3.2 数据类型,C语言支持三种不同长度的浮点数据类型:float、double和long double。其中float一般占32位(字节);d
11、ouble一般占64位(8字节),long double占96位(12字节)。三者区别:越后面的类型运算精度越高,值域越大,但占用的内存单元越多。,22,浮点型所允许的运算包括:二目算术运算:+、-、*、/;浮点型数据进行二目运算结果还是浮点型。如:12.0/5.0=2.4 单目算术运算:取负值 关系运算:,=,=,!=,3.2 数据类型浮点型,注意:要避免做两个实数相等或不相等的比较。由于计算机表示方面的近似性,会使得本来应该相等的两个数不等。建议在比较两个浮点数X和Y是否相等时使用|X-Y|,其中是一个绝对值较小的正浮点数。,23,3.2 数据类型布尔型(补充),布尔类型数据:取值只有两种
12、,真(True)或者假(False)。允许的运算包括:与、或、非。绝大多数程序设计语言中有布尔类型这种数据类型,如Pascal语言。但是C语言没有定义这种数据类型。,布尔型,24,标准类型是原子的、不可再分的。程序员可以以标准类型为基本构件,构造出复杂的数据类型。如C语言有:结构、数组、联合、文件等复杂数据类型;PASCAL语言有:结构、数组、集合、文件等复杂数据类型。,3.2 数据类型复杂数据类型,25,3.3 变量,数据总线,控制路线,输入数据、中间运算结果、最终结果,程序需要将输入数据、中间运算结果以及最终结果暂时保存在内存单元中。,地址总线,程序如何实现从内存单元存取数据?,26,3.
13、3 变量,程序运行时,通过内存地址对内存数据进行读写;程序员写源程序时,如果也是直接使用内存地址来读写内存数据,会很麻烦!如果用名字来代替地址,在程序中出现的是代表内存空间的名字,让编译器来跟踪数据实际存放的物理内存地址,就可以简化编程变量;,27,变量用来代表内存存储空间,该存储空间用来存放被加工的数据或处理的结果。源程序中对变量的操作(读和赋值)实际上是对存储空间的读写操作。变量具有三个重要属性:名称、值和数据类型。,用sex代表地址为2001H的内存单元,score代表地址为2004H2007H的一片内存空间。用变量来实现对这些内存空间数据的存取。,3.3 变量,28,一、变量定义,使用
14、变量来对内存数据进行存取前,必须先定义变量,目的是建立变量和存储空间的对应关系。变量定义指明变量的名称和数据类型(变量代表的存储空间存放的数据的类型)。变量的名称要遵循标识符命名原则,虽然可以为任意长度,但C编译器只认为前31个字符有效。变量类型可以告诉编译器留出适量的用于保存数据的内存。不同语言中变量定义的写法不一样,C语言格式:数据类型 变量名1,变量名2,;,3.3 变量,思考:变量定义时要指明哪些内容?,数据类型,变量名,分号必须,多个同类型变量用逗号分割,29,注意,变量定义仅引起内存存储空间分配,但此时变量中存储的值一般是无意义的(特殊情况除外)!,变量定义将引起内存空间的分配。定
15、义后,变量就用来代表内存中的一片存储单元(存储单元个数取决于变量类型)。,3.3 变量,30,二、变量赋值,3.3 变量,C语言示例:char sex;int age;float score;,变量赋值:把一个值写入变量代表的存储空间。,C语言变量赋值格式:变量名=表达式,sex=F;age=18;score=89.5;,ASCII(F)=77),77,18,89.5,变量的值,31,3.3 变量,变量使用特点先定义,后使用。int age;定义一个变量为整数类型。如未定义,则在编译时被查出,认为非法。变量未被赋值前,值一般是无意义的。对变量赋值过程是“覆盖”过程,用新值去替换旧值。读取变量代
16、表的存储空间数据(又称读取变量的值):age=age+1;读取变量的值时,该变量保持不变。,32,C语言允许变量在定义时进行初始化。初始化语句用来给变量赋初始值。(?)例如:char sex;int age=16;float score;,3.3 变量,33,3.3 变量,试解释下列操作的含义读取变量的值写入变量给变量赋值修改变量的值,34,#include main()int number1;/*变量声明*/int number2;int result;printf(“please input the two numbers:n”);/*显示提示信息*/scanf(“%d%d”,3.3 变量
17、,35,3.3 变量,找出下述变量定义的错误:float f;char A,B;,36,总结:变量三要素:变量名(存储空间)、数据类型(存储空间存放的数据的类型)、变量值(存储内容),3.3 变量,37,一、文字常量 文字常量是指在程序中未被命名的值。例:circumference=2*(length+width);其中2就是一个文字常量,length和width是变量,三类常量:文字常量、命名常量、符号常量,3.4 常量,38,二、命名常量和变量类似,命名常量也是内存存储空间的名字,代表一片内存存储空间,但一般不允许程序去改变该存储空间中的数据。C语言中定义一个命名常量:main()cons
18、t float pi=3.14;,3.4 常量,说明pi是个命名常量;,39,#include main()const float pi=3.14;/*常量定义*/float radius;/*变量定义*/float area;printf(“please input the radius:n”);/*显示提示信息*/scanf(“%f”,40,符号常量是仅含有符号名称的值。C语言符号常量定义:#define 标识符 替换文本#define PI 3.14 area=PI*radius*radius;编译时,预处理程序能够将所有出现该符号名称的地方用值替换:area=3.14*radius*r
19、adius;使用符号常量的好处:使程序易读性好、容易维护。,三、符号常量,3.4 常量,41,3.4 常量,#include#define PI 3.14/常量定义,注意结束处无分号,在主函数之前main()float radius;/*变量定义*/float area;printf(“please input the radius:n”);/*显示提示信息*/scanf(“%f”,42,四、常量的类型和变量一样,常量也有类型。大多数程序设计语言使用整型、浮点型、字符型和字符串型常量。C语言中四种常量:15整型常量15.4浮点型常量A字符型常量(用单引号括起字符)“Hello”字符串型常量(用
20、双引号括起字符序列)文字常量和符号常量的值体现了常量的类型,3.4 常量,43,如果整型常量以0开头,C编译器会认为该常量是八进制数。如040即十进制的32。如果整型常量以0 x开头,C编译器会认为该常量是十六进制数。如0 xFF即十进制的255。#include#define X 040#define Y 0XFFmain()printf(“X=%d,Y=%d”,X,Y);system(pause);return 0;,3.4 常量,X=32,Y=255请按任意键继续.,44,常量小测试,下述常量定义哪些是错误的?为什么?#define ratio=1/3#define ratio 1/3;
21、#define 1st_character$#define if 7,不能有号;否则会用=1/3替换ratio不能有语句结束符;号标识符只能以字符或者下划线开头If是C语言规定的关键字,有特定含义,用户不能随便使用习惯上,常量名一般采用大写字母。,45,数据总线,控制路线,地址总线,3.5 输入和输出(I/O),一个真正有用的程序一般会从输入设备接收数据、并将运算结果输出到输出设备中。,为了实现和输入输出设备的通信,程序必须要有输入和输出语句。一个既无输入又无输出的程序是没有用的。,46,输入和输出语句最基本的功能在于从外界环境将值读入一个变量,或者将一个值写出到外界环境中。,3.5 输入和输
22、出(I/O),47,一、输入 通过输入语句或者预先定义的函数可以从外界接收值。,C语言输入函数举例:scanf(格式控制串,输入项地址表);格式控制串:含有各种以百分号开头的格式控制符。输入项地址表:有逗号分隔开的若干输入表项组成,每一个表项是一个变量的地址。scanf函数的作用:从标准输入设备(键盘)上读取一系列数据,按格式控制串的要求进行转换并送到输入项地址表所列的逐变量中。,3.5 输入和输出(I/O),48,scanf(“%d”,当程序执行该语句时,等待用户从键盘输入数据并转换成一个整数,存储到变量number1中。d:转换说明符(conversion specifier),用于告诉程
23、序键入的数据要转换成一个整数;&:取变量地址的运算符,&number1表示变量number1的首地址。注意:书写程序时不要遗漏&.,3.5 输入和输出(I/O),常用的转换说明符:d:整型;c:字符型;f:浮点型,格式控制串,输入项地址表,49,3.5 输入和输出(I/O),设age为int型变量,sex、ch为char型变量,height为float型变量。输入数据为:20M1.65若希望age得到值20,sex得到值M,height得到值1.65,则函数调用为:scanf(“%d%c%f”,50,用scanf语句从键盘同时读入年龄和性别:,scanf(“%d%c”,scanf(“%d,%c
24、”,3.5 输入和输出(I/O),10 S,10,S,格式控制串中除了转换说明符,还可以包含其他字符。从键盘输入的内容要和格式控制串匹配。如果在格式控制串中除了转换说明符以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。如:,空格,scanf(“age=%d,sex=%c”,age=10,sex=S,51,二、输出 通过语句或者预先定义的函数可以将值输出到外界。,C输出函数举例:printf(格式控制串,输出项表);功能:将字符串显示在标准输出设备(一般为显示器)上。程序员可以将常量、变量、表达式、函数调用作为待输出字符串的一部分。格式控制串:包含了某些要直接显示的字符,也包含一些转
25、换说明符。输出项表:可以是常量、变量、表达式、函数调用。,3.5 输入和输出(I/O),52,如:printf(”Your age is:%d”,age);注意,在输出时转换说明符%d不输出,而是被变量age的值代替。假设变量age的值是18,则显示器上将输出字符串“Your age is:18”注意:此处变量age前面没有&!,3.5 输入和输出(I/O),上机练习:如果上述语句改写成printf(“Your age is:”,age);输出将是怎样?,53,3.5 输入和输出(I/O),可以用printf语句输出常量、变量、表达式、函数调用的值:printf(“the agerage sc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 初步

链接地址:https://www.31ppt.com/p-6393174.html