程序设计语言初步aj.pptx

上传人:莉*** 文档编号:80094474 上传时间:2023-03-22 格式:PPTX 页数:116 大小:934.66KB
返回 下载 相关 举报
程序设计语言初步aj.pptx_第1页
第1页 / 共116页
程序设计语言初步aj.pptx_第2页
第2页 / 共116页
点击查看更多>>
资源描述

《程序设计语言初步aj.pptx》由会员分享,可在线阅读,更多相关《程序设计语言初步aj.pptx(116页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

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

2、成分运算成分控制成分控制成分第2页/共116页3先聊点C语言第3页/共116页4第4页/共116页5数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件地址总线 实例:编一个程序,从键盘读入两个整数,要求在屏幕上输出相乘运算结果。处理步骤:处理步骤:1.控制部件发命令从键盘读控制部件发命令从键盘读取数据并存储到内存储器中取数据并存储到内存储器中(输入输入)。)。2.控制部件发命令从内存储控制部件发命令从内存储器中取出这两个数置入运算器中取出这两个数置入运算部件的寄存器中,让运算器部件的寄存器中,让运算器执行乘法运算,运

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

4、存中的计算结果输出到显示器?器?第5页/共116页6数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件内存中数据的存取:变量、常量、数据类型输入:输入语句输出:输出语句地址总线 计算的实现:运算符表达式语句函数第6页/共116页7标识符标识符是由程序员定义的单词,用来给程序是由程序员定义的单词,用来给程序中的数据、函数和其他用户自定义对象命名。中的数据、函数和其他用户自定义对象命名。程序设计语言本身会定义一些专用名称,称程序设计语言本身会定义一些专用名称,称之为之为保留字保留字或或关键字关键字,它们,它们具有特定含义

5、,具有特定含义,程序员不能另做他用。如:程序员不能另做他用。如:C C语言规定了语言规定了3232个关键字。个关键字。3.1 标识符第7页/共116页8C语言规定的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第8页/共116页9#inclu

6、de 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 标识符第9页/共116页10u 不同的程序设计语言标识符格式可能不同。不同的程序设计语言标识符格式可能

7、不同。u C C语言规定:语言规定:标识符由大写字母标识符由大写字母A A到到Z Z、小写字小写字母母a a到到z z、数字数字0 0到到9 9和下划线组成,且第一个字符和下划线组成,且第一个字符必须是字母或下划线,随后的字符必须是字母、必须是字母或下划线,随后的字符必须是字母、数字或下划线。且大小写敏感数字或下划线。且大小写敏感,如,如ageage和和AgeAge是两是两个不同的标识符。个不同的标识符。u PASCAL语言规定:和语言规定:和C语言类似,只是要求第语言类似,只是要求第一个字符只能是字母(比一个字符只能是字母(比C语言约束更强)。语言约束更强)。3.1 标识符思考:以下哪些是合

8、法的思考:以下哪些是合法的C语言标识符语言标识符age,_class_no,name1,name1,2name,#age第10页/共116页11数据数据是计算机处理的对象。是计算机处理的对象。数据依据其本身的特点可以归为不同的类:数据依据其本身的特点可以归为不同的类:整数、整数、小数、字符、字符串小数、字符、字符串等。等。(高级程序语言特点:按照人对于数据的表达方式)(高级程序语言特点:按照人对于数据的表达方式)程序设计语言应该具备区分各种类型数据的能力,程序设计语言应该具备区分各种类型数据的能力,于是引入了数据类型的概念。于是引入了数据类型的概念。数据类型包括两层含义:定义了一系列的值数据类

9、型包括两层含义:定义了一系列的值(属于属于该类型的数据能够取值的范围该类型的数据能够取值的范围)以及能应用于这)以及能应用于这些值上的一系列操作(些值上的一系列操作(数据操作数据操作)。)。3.2 数据类型第11页/共116页12u整数是由符号和一个或多个数字组成的正数、0 0或负数,又称为带符号的自然数,如+12,-38+12,-38。u注意:在数学中,整数是一个无限集合,但对于计算机来说,只能表示它的一个有限子集(取决于存储空间的大小)。整型整型3.2 数据类型程序设计语言一般包含四种程序设计语言一般包含四种标准数据类型标准数据类型:整型、字符型、浮点型和布尔型整型、字符型、浮点型和布尔型

10、(补充)(补充)。第12页/共116页133.2 数据类型整型整型数据占用的内存单元数:uC语言中整型数据细分为四类:short int、int、long int和long long int。(和教材不同)uC语言标准没有规定每一种整数类型占用的内存空间大小(即数的范围),只是约束到:short int和int至少要占据16位(2字节),而long数据至少要有32位(4字节);且数据长度上,short int=int=long int=long long int。u每一种整数类型占用的内存字节数由编译器根据所用机器的硬件情况来决定。第13页/共116页14整型数据所允许的运算包括:二目算术运算

11、:+、-、*、/、(取余);注意:两个整数进行二目运算后结果还是整数 如:125/10=12(余数5被舍弃),125%10=5 单目算术运算:取负值等;关系运算:,=,=(相等),!=(不相等)C语言中关系运算结果为1(真)或0(假)3.2 数据类型整型第14页/共116页15字符型字符型u字符数据包括26*2个字母(大小写)+10个数字+其它显示符号,总共95种;还有33种控制符号,总共128种符号;u字符型数据在内存中的存储:实际存放的是一个整数值。多数计算机系统采用ASCII(American Standard Code for Information Interchange)标准编码模

12、式来对字符进行编码。每个字符占用8位内存(1个字节);3.2 数据类型第15页/共116页16ASCII表表L H 000000010010001101000101011001110000NULDLE SP0Pp 0001SOHDC1!1AQaq 0010STXDC2“2BRbr 0011ETXDC3#3CScs 0100EOTDC4$4DTdt 0101ENQNAK%5EUeu 0110ACKSYN&6FVfv 0111BELETB,7GWgw 1000BSCAN)8HXhx 1001HTEM(9IYiy 1010LFSUB*:JZjz 1011VTESC+;Kk 1100FFFSNn 11

13、11SIUS/?O_oDEL2000H2002H2004H2003H2001H01000001存储空间存储空间该存储区存放字符A思考:若从键盘上输入字符存储到内存,字符思考:若从键盘上输入字符存储到内存,字符到二进制编码的转换是由什么部件来实现的?到二进制编码的转换是由什么部件来实现的?第16页/共116页17ASCII(A)=65 A的ASCII值是65ASCII(a)=97 规律:大写字母的ASCII编码32小写字母的ASCII编码 3.2 数据类型字符型第17页/共116页183.2 数据类型字符型关系运算(按照ASCII大小):,=,=,!=例如:A a 结果为真,因为A的ASCII是

14、65,a的ASCII是97,6597字符型所允许的运算包括(字符型所允许的运算包括(将字符型数据当作整型将字符型数据当作整型数据对待数据对待):):算术运算算术运算:ch2=ch1-32(ch2=ch1-32(若若ch1ch1值为值为b b,则则ch2ch2为为B B)ch2=ch1-1(ch2=ch1-1(若若ch1ch1值为值为b b,则则ch2ch2为为a a)ch2=ch1ch2=ch11(1(若若ch1ch1值为值为b b,则则ch2ch2为为c c)第18页/共116页19浮点型浮点型u 浮点型是带小数部分的数字类型浮点型是带小数部分的数字类型,如,如3.14,1.575E5(科学

15、计数法,即(科学计数法,即 1.575*)。u抽象地讲,浮点型数据的值域是全体实数,但是由抽象地讲,浮点型数据的值域是全体实数,但是由于计算机表示方面的原因,计算机只能表示它的一个于计算机表示方面的原因,计算机只能表示它的一个有限子集。有限子集。u 同样由于计算机表示方面的原因,实数在计算机同样由于计算机表示方面的原因,实数在计算机内部的表示有时是不准确的。例如,存储圆周率时,内部的表示有时是不准确的。例如,存储圆周率时,只能表示成近似的值。只能表示成近似的值。3.2 数据类型第19页/共116页203.2 数据类型uC语言支持三种不同长度的浮点数据类型:float、double和long d

16、ouble。其中float一般占32位(字节);double一般占64位(8字节),long double占96位(12字节)。u三者区别:越后面的类型运算精度越高,值域越大,但占用的内存单元越多。第20页/共116页21浮点型所允许的运算包括:二目算术运算:+、-、*、/;浮点型数据进行二目运算结果还是浮点型。如:12.0/5.0=2.4 单目算术运算:取负值 关系运算:,=,=,!=3.2 数据类型浮点型注意:要避免做两个实数相等或不相等的比较。由于计算注意:要避免做两个实数相等或不相等的比较。由于计算机表示方面的近似性,会使得本来应该相等的两个数不等。机表示方面的近似性,会使得本来应该相

17、等的两个数不等。建议在比较两个浮点数建议在比较两个浮点数X和和Y是否相等时使用是否相等时使用|X-Y|,其中其中是一个绝对值较小的正浮点数。是一个绝对值较小的正浮点数。第21页/共116页223.2 数据类型布尔型(补充)布尔类型数据:取值只有两种,真(True)或者假(False)。允许的运算包括:与、或、非。绝大多数程序设计语言中有布尔类型这种数据类型,如Pascal语言。但是C语言没有定义这种数据类型。布尔型布尔型第22页/共116页23标准类型是原子的、不可再分的。程序员可标准类型是原子的、不可再分的。程序员可以以标准类型为基本构件,构造出以以标准类型为基本构件,构造出复杂复杂的数的数

18、据类型。如据类型。如C C语言有:结构、数组、联合、语言有:结构、数组、联合、文件等复杂数据类型;文件等复杂数据类型;PASCALPASCAL语言有:结构、语言有:结构、数组、集合、文件等复杂数据类型。数组、集合、文件等复杂数据类型。3.2 数据类型复杂数据类型第23页/共116页243.3 变量数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件输入数据、中间运算结果、最终结果程序需要将输入程序需要将输入数据、中间运算数据、中间运算结果以及最终结结果以及最终结果暂时保存在内果暂时保存在内存单元中。存单元中。地址总线

19、程序如何实现程序如何实现从内存单元存从内存单元存取数据?取数据?第24页/共116页253.3 变量程序运行时,通过内存地址对内存数据进行读写;程序员写源程序时,如果也是直接使用内存地址来读写内存数据,会很麻烦!如果用名字来代替地址,在程序中出现的是代表内存空间的名字,让编译器来跟踪数据实际存放的物理内存地址,就可以简化编程变量;第25页/共116页26变量用来代表内存存储空间,该存储空间用来存变量用来代表内存存储空间,该存储空间用来存放被加工的数据或处理的结果。源程序中对变量放被加工的数据或处理的结果。源程序中对变量的操作(读和赋值)实际上是对存储空间的读写的操作(读和赋值)实际上是对存储空

20、间的读写操作。操作。变量具有三个重要属性:名称、值和数据类型。变量具有三个重要属性:名称、值和数据类型。2000H2002H2004H2005H2007H2006H2003H2001Hgenderagescore内存内存用用gender代表地址为代表地址为2001H的内的内存单元,存单元,score代表地址为代表地址为2004H2007H的一片内存空间。用变的一片内存空间。用变量来实现对这些内存空间数据的量来实现对这些内存空间数据的存取。存取。3.3 变量第26页/共116页27一、变量定义 u 使使用用变变量量来来对对内内存存数数据据进进行行存存取取前前,必必须须先先定定义变量,义变量,目的

21、是目的是建立变量和存储空间的对应关系建立变量和存储空间的对应关系。u 变变量量定定义义指指明明变变量量的的名名称称和和数数据据类类型型(变变量量代代表表的的存存储储空空间间存存放放的的数数据据的的类类型型)。变变量量的的名名称称要要遵遵循循标标识识符符命命名名原原则则,虽虽然然可可以以为为任任意意长长度度,但但C编编译译器器只只认认为为前前31个个字字符符有有效效。变变量量类类型型可可以以告告诉诉编译器留出适量的用于保存数据的内存。编译器留出适量的用于保存数据的内存。u 不同语言中变量定义的写法不一样,不同语言中变量定义的写法不一样,C语言格式:语言格式:数据类型数据类型 变量名变量名1,变量

22、名变量名2,;3.3 变量思考:变量定义时要指明哪些内容?思考:变量定义时要指明哪些内容?char gender;int age1,age2;float score;数据类型变量名分号必须多个同类型变量用逗号分割第27页/共116页28注意,变量定义仅引起内存存储注意,变量定义仅引起内存存储空间分配,但此时变量中存储的空间分配,但此时变量中存储的值一般是无意义的(特殊情况除值一般是无意义的(特殊情况除外)!外)!变变量量定定义义将将引引起起内内存存空空间间的的分分配配。定定义义后后,变变量量就就用用来来代代表表内内存存中中的的一一片片存存储储单单元元(存存储储单单元元个个数数取取决于变量类型)

23、。决于变量类型)。3.3 变量2000H2002H2004H2005H2007H2006H2003H2001Hgenderagescore存储空间存储空间char gender;int age;float score;第28页/共116页29二、变量赋值3.3 变量C语言示例:语言示例:char gender;int age;float score;变量赋值:把一个值写入变量代表的存储空间。变量赋值:把一个值写入变量代表的存储空间。C语言变量赋值格式:语言变量赋值格式:变量名变量名=表达式表达式gender=F;age=18;score=89.5;2000H2002H2004H2005H200

24、7H2006H2003H2001Hgenderagescore存储空间存储空间ASCII(F)=77)771889.5变量的值第29页/共116页303.3 变量变量使用特点先定义,后使用。int age;定义一个变量为整数类型。如未定义,则在编译时被查出,认为非法。变量未被赋值前,值一般是无意义的。对变量赋值过程是“覆盖”过程,用新值去替换旧值。读取变量代表的存储空间数据(又称读取变量的值):age=age+1;读取变量的值时,该变量保持不变。第30页/共116页31C C语语言言允允许许变变量量在在定定义义时时进进行行初初始始化化。初初始始化语句用来给变量赋初始值。例如:化语句用来给变量赋

25、初始值。例如:char gender;int age=16;float score;3.3 变量2000H2002H2004H2005H2007H2006H2003H2001H16存储空间存储空间genderagescore第31页/共116页323.3 变量试解释下列操作的含义读取变量的值写入变量给变量赋值修改变量的值第32页/共116页33#include#includemain()int number1;/*变量声明*/int number2;int result;printf(“please input the two numbers:n”);/*显示提示信息*/scanf(“%d%d

26、”,&number1,&number2);/*从键盘读取2个整数*/result=number1*number2;/*赋值运算*/printf(“the result is:%dn”,result);/*输出结果*/system(“pause”);return 0;3.3 变量第33页/共116页343.3 变量u找出下述变量定义的错误:float f;char A,B;第34页/共116页35char gender;int age;float score;变量类型变量名总结:总结:变变量量三三要要素素:变变量量名名(存存储储空空间间)、数数据据类类型型(存存储储空间存放的数据的类型空间存放的

27、数据的类型)、变量值()、变量值(存储内容存储内容)3.3 变量2000H2002H2004H2005H2007H2006H2003H2001H701889.5存储空间存储空间变量的值genderagescore第35页/共116页36一、一、文字常量文字常量 文字常量是指在程序中未被命名的值。文字常量是指在程序中未被命名的值。例:例:circumference=2*(length+width);其中其中2 2就是一个文字常量,就是一个文字常量,lengthlength和和widthwidth是变量是变量三类常量:三类常量:文字常量文字常量、命名常量命名常量、符号常量符号常量3.4 常量第36

28、页/共116页37二、命名常量和变量类似,命名常量也是内存存储空间的名字,代表一片内存存储空间,但一般不允许程序去改变该存储空间中的数据。C C语言中定义一个命名常量:mainmain()const const float float pi=3.14;pi=3.14;3.4 常量2000H2002H2004H2005H2007H2006H2003H2001H3.14存储空间存储空间pi说明pi是个命名常量;第37页/共116页38#include#includemain()const float pi=3.14;/*常量定义*/float radius;/*变量定义*/float area;p

29、rintf(“please input the radius:n”);/*显示提示信息*/scanf(“%f”,&radius);/*从键盘读取半径*/area=pi*radius*radius;/*赋值运算*/printf(“the area is:%fn”,area);/*输出结果*/system(“pause”);return 0;第38页/共116页39符号常量是仅含有符号名称的值。C C语言符号常量定义:#define 标识符 替换文本#define PI 3.14 area=PI*radius*radius;编译时,预处理程序能够将所有出现该符号名称的地方用值替换:area=3.1

30、4*radius*radius;使用符号常量的好处:使程序易读性好、容易维护。三、三、符号常量符号常量3.4 常量第39页/共116页403.4 常量#include#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”,area);/*输

31、出结果*/system(“pause”);return 0;第40页/共116页41四、常量的类型和变量一样,常量也有类型。大多数程序设计语言使用整型、浮点型、字符型和字符串型常量。C C语言中四种常量:1515整型常量15.415.4浮点型常量AA字符型常量 (用单引号括起字符)“Hello”Hello”字符串型常量(用双引号括起字符序列)文字常量和符号常量的值体现了常量的类型3.4 常量第41页/共116页42如果整型常量以0开头,C编译器会认为该常量是八进制数。如040即十进制的32。如果整型常量以0 x开头,C编译器会认为该常量是十六进制数。如0 xFF即十进制的255。#includ

32、e#include#define X 040#define Y 0XFFmain()printf(X=%d,Y=%d”,X,Y);system(pause);return 0;3.4 常量X=32,Y=255请按任意键继续请按任意键继续.第42页/共116页43常量小测试下述常量定义哪些是错误的?为什么?#define ratio=1/3#define ratio 1/3;#define 1st_character$#define if 71.不能有号;否则会用不能有号;否则会用=1/3替换替换ratio2.不能有语句结束符;号不能有语句结束符;号3.标识符只能以字符或者标识符只能以字符或者下

33、划线开头下划线开头4.if是是C语言规定的关键字语言规定的关键字,有特定含义,用户不,有特定含义,用户不能随便使用能随便使用5.习惯上,常量名一般采习惯上,常量名一般采用大写字母。用大写字母。第43页/共116页44数据总线 控制总线 输入设备输入设备输出设备输出设备存储器存储器中央处理器(中央处理器(CPU)运算部件运算部件控制部件控制部件地址总线 3.5 输入和输出(I/O)一个真正有用的程一个真正有用的程序一般会从输入设序一般会从输入设备接收数据、并将备接收数据、并将运算结果输出到输运算结果输出到输出设备中。出设备中。为了实现和输入输出为了实现和输入输出设备的通信,程序必设备的通信,程序

34、必须要有须要有输入和输出语输入和输出语句句。一个既无输入又。一个既无输入又无输出的程序是没有无输出的程序是没有用的。用的。第44页/共116页45输入和输出语句最基本的功能在于从外界环境将值读入一个变量,或者将一个值写出到外界环境中。3.5 输入和输出(I/O)第45页/共116页46一、输入 通过输入语句或者预先定义的函数可以从外界接收值。C C语言输入函数举例:语言输入函数举例:scanf(格式控制串,输入项地址表格式控制串,输入项地址表);格式控制串格式控制串:含有各种以百分号开头的格式控制符。:含有各种以百分号开头的格式控制符。输输入入项项地地址址表表:有有逗逗号号分分隔隔开开的的若若

35、干干输输入入表表项项组组成成,每每一一个个表项是一个变量的地址。表项是一个变量的地址。scanf函函数数的的作作用用:从从标标准准输输入入设设备备(键键盘盘)上上读读取取一一系系列列数数据据,按按格格式式控控制制串串的的要要求求进进行行转转换换并并送送到到输输入入项项地地址址表表所所列列的逐个变量中。的逐个变量中。3.5 输入和输出(I/O)第46页/共116页47 scanf(“%d”,&number1);u当当程程序序执执行行该该语语句句时时,等等待待用用户户从从键键盘盘输输入入数数据据并并转换成一个整数,存储到变量转换成一个整数,存储到变量number1中。中。ud:转换说明符转换说明符

36、(conversion specifier),用于),用于告告诉程序键入的数据要转换成一个整数;诉程序键入的数据要转换成一个整数;u&:取变量地址的运算符,取变量地址的运算符,&number1表示变量表示变量number1的的首首地址地址。注意:书写程序时不要遗漏注意:书写程序时不要遗漏&.&.3.5 输入和输出(I/O)常用的转换说明符:常用的转换说明符:d d:整型;整型;c c:字符型;:字符型;f f:浮点型:浮点型格式控制串输入项地址表第47页/共116页483.5 输入和输出(I/O)设age为int型变量,gender、ch为char型变量,height为float型变量。输入数

37、据为:20M1.65若希望age得到值20,gender得到值M,height得到值1.65,则函数调用为:scanf(“%d%c%f”,&age,&gender,&height);若希望ch得到字符值2,age得到整型值0,gender得到字符值M,height得到浮点值1.65,则函数调用为:scanf(“%c%d%c%f”,&ch,&age,&gender,&height);第48页/共116页49用用scanfscanf语句从键盘同时读入年龄和性别:语句从键盘同时读入年龄和性别:scanf(scanf(“%d%d%c%c”,&age,&age,&gender,&gender););sc

38、anf(scanf(“%d,%d,%c%c”,&age,&age,&gender,&gender);3.5 输入和输出(I/O)10 F10,F格式控制串中除了转换说明符,还可以包含其他字符。格式控制串中除了转换说明符,还可以包含其他字符。从键盘输入的内容要和格式控制串匹配。如果在格式从键盘输入的内容要和格式控制串匹配。如果在格式控制串中除了转换说明符以外还有其它字符,则在输入控制串中除了转换说明符以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。如:数据时应输入与这些字符相同的字符。如:空格scanf(scanf(“age=%d,gender=age=%d,gender=%c%c”

39、,&age,&age,&gender,&gender);age=10,gender=F第49页/共116页50二、输出 通过语句或者预先定义的函数可以将值输出到外界。C输出函数举例:printf(printf(格式控制串,输出项表格式控制串,输出项表););功能:将字符串显示在标准输出设备(一般为显示器)上。程序员可以将常量、变量、表达式、函数调用作为待输出字符串的一部分。格式控制串:包含了某些要直接显示的字符,也包含一些转换说明符。输出项表:可以是常量、变量、表达式、函数调用。3.5 输入和输出(I/O)第50页/共116页51如:如:printfprintf(”Your age is:%d

40、Your age is:%d”,age,age);注注意意,在在输输出出时时转转换换说说明明符符%d d不不输输出出,而而是是被被变变量量ageage的的值值代代替替。假假设设变变量量ageage的的值值是是1818,则则显显示示器器上上将输出字符串将输出字符串“Your age is:18Your age is:18”注意:此处变量注意:此处变量ageage前面没有前面没有&!&!3.5 输入和输出(I/O)上机练习:如果上述语句改写成上机练习:如果上述语句改写成printf(”Your age is:”,age);输出将是怎样?输出将是怎样?第51页/共116页523.5 输入和输出(I/

41、O)可以用printf语句输出常量、变量、表达式、函数调用的值:const float SCORE=98.5;int age;printf(“the average score is%d”,SCORE);/输出常量printf(“your age is%d”,age);/输出变量printf(“the value of(2+3)10 is:%dn”,(2+3)10);/输出表达式的值printf(“the size of int is:%d”,sizeof(int);/输出函数返回值第52页/共116页53若想同时输出年龄和性别,则语句可写为:若想同时输出年龄和性别,则语句可写为:printf

42、printf(“Age:Age:%d%d,Gender:Gender:%c%c”,age,gender,age,gender);显示器上将输出字符串显示器上将输出字符串“Age:18,Gender:FAge:18,Gender:F”3.5 输入和输出(I/O)常用的转换说明符:常用的转换说明符:d d:整型;整型;c c:字符型;:字符型;f f:浮点型:浮点型输入输出后面会再详细讲解,有兴趣的同学可参见输入输出后面会再详细讲解,有兴趣的同学可参见C程程序设计教程序设计教程的的9.3和和9.11。第53页/共116页54找出以下程序的错误1.include2.main()3.4.printf(

43、“input i and jn”);5.scanf(“i=%d”,i);6.scanf(“%d”,j);7.printf(“i=%d,j=%d”,i);/输出2个变量的值8.return 0;9.1.变量变量i和和j未定义就使用;未定义就使用;2.scanf(“i=%d”,&i)scanf(“%d”,&j);3.printf(“i=%d,j=%d”,i,j);第54页/共116页55修正后的程序include#includemain()int i,j;/变量定义 printf(“input i and jn”);/输入提示 scanf(“i=%d”,&i);/键盘输入变量i的值 scanf(%

44、d,&j);printf(“i=%d,j=%d”,i,j);/输出2个变量的值 system(pause);return 0;运行结果:运行结果:input i and ji=1020i=10,j=20请按任意键继续请按任意键继续.第55页/共116页56#include main()int number1;/*存放整数1*/int number2;/*存放整数2*/int result;/*存放结果*/printf(“please input the two numbers:n”);/*显示提示信息*/scanf(“%d%d”,&number1,&number2);/*读取整数*/resul

45、t=number1*number2;/*赋值运算*/printf(“the result is:%dn”,result);/*输出结果*/return 0;2000H2004Hresult2002H2005H2007H2006H2003H2001H存储空间存储空间number1number210 2010 20please input the two numbers:please input the two numbers:the result is:200the result is:2001020200任务描述:输入两个整数,求两数之积并输出。/*/:注释main()函数变量定义部分操作部分

46、编译后,源程序中出现number1、number2和result的地方将会用内存相对地址(非真正物理地址)替换。思考:何时、在哪里得到真正的物理地址?编译程序怎么处理变量?操作系统怎么分配内存?如何得到物理地址?深入学习:编译原理操作系统计算机组成原理假设操作系统已经分配如下内假设操作系统已经分配如下内存空间用于存放操作数和结果存空间用于存放操作数和结果程序运行过程演示程序运行过程演示第56页/共116页57输入输出练习:定义三个变量,分别是整型、浮点型、字符型。要求从键盘输入三个值(逗号间隔)存放到这三个变量里,并且输出(格式:变量名=变量值,)这三个变量。#include#includem

47、ain()int i;float f;char c;scanf(“%d,%f,%c”,&i,&f,&c );printf(“the result is:n”);printf(“i=%d,f=%f,c=%c”,i,f,c);system(“pause”);return 0;第57页/共116页58#include#includemain()int i;float f;char c;printf(input i,fn);scanf(%d,%f,&i,&f);printf(input cn);scanf(%c,&c);printf(the result is:n);printf(i=%d,f=%f,

48、c=%c,i,f,c);system(pause);return 0;请同学们观察本程序的输出是什么?请同学们观察本程序的输出是什么?input i,f10,3.14input cthe result is:i=10,f=3.140000,c=请按任意键继续请按任意键继续.程序并没有给用户输入字程序并没有给用户输入字符数据的机会。为什么?符数据的机会。为什么?【链接链接】第58页/共116页59解决方法:用getchar函数来读取回车符main()int i;float f;char c;printf(input i,fn);scanf(%d,%f,&i,&f);getchar();/*将存于

49、缓冲区的回车符读入*/printf(input cn);scanf(%c,&c);printf(the result is:结果是n);printf(i=%d,f=%f,c=%c,i,f,c);system(pause);input i,f10,3.14input cythe result is:i=10,f=3.140000,c=y请按任意键继续请按任意键继续.结果正确!结果正确!此外,还可以用此外,还可以用fflush函数函数来清空键盘缓冲区。见实来清空键盘缓冲区。见实验讲义附录验讲义附录1的第的第16个错误个错误(第(第130页),要求自学。页),要求自学。第59页/共116页60u表达

50、式是由运算符、操作数和括号组成的、计算求值的基本单位。u操作数可以是:常量、变量、函数调用和表达式;u表达式举例:u2 2 表达式无运算符,操作数为常量ui i 表达式无运算符,操作数为变量usizeof(int)sizeof(int)表达式无运算符,操作数为函数调用u2+i 2+i 操作数为常量和变量ui i*sizeof(int)sizeof(int)操作数为变量和函数调用u2+2+i i*sizeof(int)sizeof(int)加法运算的第2 2个操作数仍为表达式3.6 表达式第60页/共116页613.6 表达式u典型的几类运算符和表达式:算术运算符和算术表达式;关系运算符和关系表

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com