程序设计语言初步.pptx
《程序设计语言初步.pptx》由会员分享,可在线阅读,更多相关《程序设计语言初步.pptx(101页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1提纲标识符 数据类型变量常量输入和输出表达式语句函数本章向大家介绍结构化程序设计语言的基本概念 第1页/共101页2数据总线 控制路线 输入设备输出设备存储器中央处理器(CPU)运算部件控制部件地址总线 实例:编一个程序,从键盘读入两个整数,要求在屏幕上输出相乘运算结果。处理步骤:1.控制部件发命令从键盘读取数据并存储到内存储器中(输入)。2.控制部件发命令从内存储器中取出这两个数置入运算部件的寄存器中,让运算器执行加法运算,运算结果写回存储器中(处理)。3.控制部件发命令将存储在内存储器中的结果输出到显示器上(输出)。需要考虑的问题:1.输入:如何从键盘读取这两个数并将其存放到内存中?程序
2、如何约束输入的必须是整数?2.处理:计算时如何读取内存中的这两个数?如何实现计算?计算结果如何写回内存?3.输出:如何将内存中的计算结果输出到显示器?第2页/共101页3数据总线 控制路线 输入设备输出设备存储器中央处理器(CPU)运算部件控制部件内存中数据的存取:变量数据类型输入:输入语句输出:输出语句地址总线 计算的实现:运算符表达式语句函数程序控制流程第3页/共101页4标识符是由程序员定义的单词,用来给程序中的数据、函数和其他用户自定义对象命名。程序设计语言本身会定义一些专用名称,称之为保留字或关键字,他们具有特定含义,程序员不能另做他用。如:C语言规定了32个关键字。3.1 标识符第
3、4页/共101页5#include main()int number1;/*变量声明*/int number2;int result;printf(“please input the two numbers:n”);/*显示提示信息*/scanf(“%d%d”,&number1,&number2);/*从键盘读取2个整数*/result=number1*number2;/*赋值运算*/printf(“the result is:%dn”,result);/*输出结果*/return 0;用户自定义标识符C语言关键字3.1 标识符第5页/共101页6u 不同的程序设计语言标识符格式可能不同。u
4、C语言规定:标识符由大写字母A到Z、小写字母a到z、数字0到9和下划线组成,且第一个字符必须是字母或下划线,随后的字符必须是字母、数字或下划线。且大小写敏感,如age和Age是两个不同的标识符。u PASCAL语言规定:和C语言类似,只是要求第一个字符只能是字母(比C语言约束更强)。3.1 标识符思考:以下哪些是合法标识符age,_class_no,name1,name1,2name,#age第6页/共101页7数据是程序处理的对象。数据依据其本身的特点可以归为不同的类:整数、小数、字符、字符串等。(高级程序语言特点:按照人对于数据的表达方式)数据类型:定义了一系列的值(数据特点、范围)以及能
5、应用于这些值上的一系列操作(数据操作)。3.2 数据类型程序设计语言一般包含四种标准数据类型:整型、字符型、浮点型和布尔型。第7页/共101页8u整数是由符号和一个或多个数字组成的正数或负数,又称为带符号的自然数,如+12,-38+12,-38。u在数学中,整数是一个无限集合,但对于计算机来说,只能表示它的一个有限子集(决定于存储空间的大小)。整型3.2 数据类型第8页/共101页93.2 数据类型整型整型数据占用的内存单元数:uC语言中整型数据细分为三类:short int、int和long int。uC语言标准没有规定每一种整数类型占用的内存空间大小,只是约束到:short int和int
6、至少要占据16位(2字节),而long数据至少要有32位(4字节);且数据长度上,short int=int=long int。u每一种整数类型占用的字节数取决于所用的机器以及C编译器。第9页/共101页10整型所允许的运算包括:二目算术运算:+、-、*、/、(取余);两个整数进行二目运算后的结果还是整数,如:125/10=12(余数5被舍弃),125%10=5 单目算术运算:取负值等;关系运算:,=,=(相等),!=(不相等)3.2 数据类型整型第10页/共101页11字符型u字符数据包括26*2个字母(大小写)+10个数字+其它显示符号,总共95种;还有33种控制符号,总共128种符号;u
7、字符型数据在内存中的存储:实际存放的是一个整数值。多数计算机系统采用ASCII(American Standard Code for Information Interchange)标准编码模式来对字符进行编码。每个字符占用8位内存(1个字节);3.2 数据类型第11页/共101页12ASCII表L H 000000010010001101000101011001110000NULDLE SP0Pp 0001SOHDC1!1AQaq 0010STXDC2“2BRbr 0011ETXDC3#3CScs 0100EOTDC4$4DTdt 0101ENQNAK%5EUeu 0110ACKSYN&6F
8、Vfv 0111BELETB,7GWgw 1000BSCAN)8HXhx 1001HTEM(9IYiy 1010LFSUB*:JZjz 1011VTESC+;Kk 1100FFFSNn 1111SIUS/?O_oDEL2000H2002H2004H2003H2001H01000001存储空间该存储区存放字符A思考:若从键盘上输入字符存储到内存,字符到二进制数的转换是谁来实现的?第12页/共101页13ASCII(A)=65ASCII(a)=97 大写字母的ASCII编码32小写字母的ASCII编码 字符型所允许的运算包括(将字符型数据当作整数对待):算术运算:ch2=ch1-32(ch1值为b
9、,则ch2=B)ch2=ch1-1(ch1值为b,则ch2=a)ch2=ch11(ch1值为b,则ch2=c)3.2 数据类型字符型第13页/共101页143.2 数据类型字符型关系运算(按照ASCII大小):,=,=,!=例如:A a 结果为真(非零),因为A的ASCII是65,a的ASCII是97,6597第14页/共101页15浮点型u 浮点型是带小数部分的数字类型,如3.14,1.575E5(科学计数法,即 1.575*)。u C语言支持三种不同长度的浮点数据类型:float、double和long double。其中float一般占32位(字节);double一般占64位(8字节),
10、long double占96位(12字节)。三者区别:越后面的类型运算精度越高,但占用的内存单元越多。3.2 数据类型第15页/共101页16浮点型所允许的运算包括:二目算术运算:+、-、*、/;浮点型数据进行二目运算结果还是浮点型。如:12.0/5.0=2.4 单目算术运算:取负值 关系运算:,=,=,!=3.2 数据类型浮点型第16页/共101页173.2 数据类型布尔型程序中往往需要测试某个条件是否成立。这个条件往往用一个表达式来定义,这个表达式的值要么为真,要么为假。布尔类型数据:取值只有两种,真(True)或者假(False)。允许的运算包括:与、或、非。绝大多数程序设计语言中有布尔
11、类型这种数据类型。如Pascal语言。但是C语言没有定义这种数据类型。第17页/共101页18标准类型是原子的、不可再分的。程序员可以以标准类型为基本构件,构造出复杂的数据类型。如C语言有:结构、数组、联合、文件等这些我们将来会学到的复杂类型,PASCAL语言有:结构、数组、集合、文件等复杂数据类型。3.2 数据类型复杂数据类型第18页/共101页193.3 变量数据总线 控制路线 输入设备输出设备存储器中央处理器(CPU)运算部件控制部件输入数据、中间运算结果、最终结果程序需要将输入数据、中间运算结果以及最终结果暂时保存在内存单元中。地址总线 程序如何实现从内存单元存取数据?第19页/共10
12、1页203.3 变量当程序要读写内存中的数据时,可以直接使用内存地址来读取,但这样太麻烦!如果用名字来代替地址,在程序中出现的是代表内存空间的名字,让编译器来跟踪数据实际存放的物理内存地址,就可以简化编程变量第20页/共101页21变量是内存中存储空间的名字,该存储空间用来存放被加工的数据或处理的结果。变量用来代表内存存储空间。程序中对变量的操作(读和赋值)实际上是对存储空间的读写操作。2000H2002H2004H2005H2007H2006H2003H2001Hsexagescore内存用sex代表地址为2000H的内存单元,score代表地址为2004H2007H的一片内存空间。用变量来
13、实现对这些内存空间数据的存取。3.3 变量第21页/共101页22一、变量定义 u 使用变量来对内存数据进行存取前,必须先定义变量,目的是建立变量和存储空间的对应关系。u 变量定义指明变量的名称和数据类型(变量代表的存储空间存放的数据的类型)。要求变量的名称遵循标识符命名原则。u 不同语言中变量定义的写法不一样,C语言格式:数据类型 变量名1,变量名2,;3.3 变量思考:变量定义时要指明哪些内容?char sex;int age1,age2;float score;数据类型变量名分号必须多个变量用逗号分割第22页/共101页23注意,变量定义仅引起内存存储空间分配,但此时变量中存储的值是无意
14、义的!变量定义引起存储分配。定义后,变量就用来代表内存中的一片存储单元。3.3 变量2000H2002H2004H2005H2007H2006H2003H2001Hsexagescore存储空间char sex;int age;float score;第23页/共101页24二、变量赋值3.3 变量C语言示例:char sex;int age;float score;变量赋值:把一个值写入变量代表存储空间。C语言变量赋值格式:变量名=表达式sex=F;age=18;score=89.5;2000H2002H2004H2005H2007H2006H2003H2001Hsexagescore存储空
15、间ASCII(F)=77)771889.5变量的值第24页/共101页253.3 变量变量使用特点先定义,后使用。int age;定义一个变量为整数类型。如未定义,则在编译时被查出,认为非法。变量未被赋值前,值是无意义的。对变量赋值过程是“覆盖”过程,用新值去替换旧值。读取变量代表的存储空间数据(又称读取变量的值):age=age+1;读出变量的值,该变量保持不变。第25页/共101页263.3 变量试解释下列操作的含义读取变量内容写入变量给变量赋值修改变量内容第26页/共101页27C语言允许变量在定义时进行初始化。初始化语句用来给变量赋初始值。例如:char sex;int age=16;
16、float score;3.3 变量2000H2002H2004H2005H2007H2006H2003H2001H16存储空间sexagescore第27页/共101页28#include main()int number1;/*变量声明*/int number2;int result;printf(“please input the two numbers:n”);/*显示提示信息*/scanf(“%d%d”,&number1,&number2);/*从键盘读取2个整数*/result=number1*number2;/*赋值运算*/printf(“the result is:%dn”,r
17、esult);/*输出结果*/return 0;3.3 变量第28页/共101页293.3 变量u找出下述变量定义的错误:float f char A,B;第29页/共101页30char sex;int age;float score变量类型变量名总结:变量三要素:变量名(存储空间)、数据类型(存储空间存放的数据的类型)、变量值(存储内容)3.3 变量2000H2002H2004H2005H2007H2006H2003H2001H701889.5存储空间变量的值sexagescore第30页/共101页31一、文字常量 文字常量是指在程序中未被命名的值。例:circumference=2*l
18、ength*width;其中2就是一个文字常量,length和width是变量三类常量:文字常量、命名常量、符号常量3.4 常量第31页/共101页32二、命名常量和变量类似,命名常量也是内存存储空间的名字,代表一片内存存储空间,但一般不允许程序去改变该存储空间中的数据。C C语言中定义一个命名常量:mainmain()const const float float pi=3.14;pi=3.14;3.4 常量2000H2002H2004H2005H2007H2006H2003H2001H3.14存储空间pi第32页/共101页33#include main()const float pi=3
19、.14;/*常量定义*/float radius;/*变量定义*/float area;printf(“please input the radius:n”);/*显示提示信息*/scanf(“%f”,&radius);/*从键盘读取半径*/area=pi*radius*radius;/*赋值运算*/printf(“the area is:%fn”,area);/*输出结果*/system(“pause”);return 0;第33页/共101页34符号常量是仅含有符号名称的值,不存储在内存。C C语言中符号常量定义:#define AVESCORE 85 if(score AVESCORE)
20、编译时,预处理程序能够将所有出现该符号名称的地方用值替换:if(score 85)使用符号常量的好处:使程序易读性好、容易维护。三、符号常量3.4 常量第34页/共101页353.4 常量#include#define PI 3.14 /常量定义,注意结束处无分号main()float radius;/*变量定义*/float area;printf(“please input the radius:n”);/*显示提示信息*/scanf(“%f”,&radius);/*从键盘读取半径*/area=PI*radius*radius;/*赋值运算*/printf(“the area is:%fn
21、”,area);/*输出结果*/system(“pause”);return 0;第35页/共101页36四、常量的类型和变量一样,常量也有类型。大多数程序设计语言使用整型、浮点型、字符型和字符串型常量。C C语言中四种常量:1515整型常量15.415.4浮点型常量AA字符型常量“Hello”Hello”字符串型常量文字常量和符号常量的值体现了常量的类型3.4 常量第36页/共101页37如果整型常量以0开头,C编译器会认为该常量是八进制数。如040即十进制的32。如果整型常量以0 x开头,C编译器会认为该常量是十六进制数。如0 xFF即十进制的255。#include#define X 0
22、40#define Y 0XFFmain()printf(“X=%d,Y=%d”,X,Y);system(pause);return 0;3.4 常量X=32,Y=255请按任意键继续.第37页/共101页38常量小测试下述常量定义哪些是错误的?为什么?#define ratio=1/3#define ratio 1/3;#define 1st_character$#define if 71.不能有号;2.不能有语句结束符;号3.标识符只能以字符或者下划线开头4.If是C语言规定的关键字,有特定含义,用户不能随便使用第38页/共101页39数据总线 控制路线 输入设备输出设备存储器中央处理器(
23、CPU)运算部件控制部件地址总线 3.5 输入和输出(I/O)一个真正有用的程序一般会从输入设备接收数据、并将运算结果输出到输出设备中。为了实现和输入输出设备的通信,程序必须要有输入和输出语句。一个既无输入又无输出的程序是没有用的。第39页/共101页40输入和输出语句最基本的功能在于从外界环境将值读入一个变量,或者将一个值写出到外界环境中。3.5 输入和输出(I/O)第40页/共101页41一、输入 通过语句或者预先定义的函数可以从外界接收值。C语言输入函数举例:scanf(格式控制,输入项地址表);如:scanf(“%d”,&number1);用于从键盘读取一个整数并存储在变量number
24、1中。3.5 输入和输出(I/O)第41页/共101页42 scanf(“%d”,&number1);u当程序遇到该指令时,程序等待用户从键盘输入一个整数,然后将值存储到变量number1中。ud:格式指示符(format code),用于告诉程序键入的将是一个整数;u&:取变量地址运算符,&number1表示变量number1的首地址。注意:书写程序时不要遗漏&.3.5 输入和输出(I/O)第42页/共101页43用scanf语句从键盘同时读入年龄和性别:scanf(“%d%c”,&age,&sex);scanf(“%d,%c”,&age,&sex);3.5 输入和输出(I/O)10 S10
25、,S从键盘输入的内容要和格式控制串匹配。如果在“格式控制”字符串中除了格式指示以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。如:空格scanf(“age=%d,sex=%c”,&age,&sex);age=10,sex=S第43页/共101页44二、输出 通过语句或者预先定义的函数可以将值输出到外界。C输出函数举例:printf(printf(格式控制,输出项表格式控制,输出项表););功能:将字符串显示在显示器上。程序员可以将一个或多个变量作为待输出字符串的一部分。输出项表:可以是常量、变量、表达式、函数调用。3.5 输入和输出(I/O)第44页/共101页45如:printf
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计语言 初步
限制150内