数学算式的C语言表达.ppt
《数学算式的C语言表达.ppt》由会员分享,可在线阅读,更多相关《数学算式的C语言表达.ppt(49页珍藏版)》请在三一办公上搜索。
1、第2章 基本数据类型、运算符和表达式,C语言程序设计,本章内容要点,常量与变量的概念 整型数据、实型数据、字符 型数据的使用 运算符与表达式,本章任务,任务可以分解为两部分:变量的定义及赋值。数学算式转换成C语言表达式。,在实际编程中,有时会对不同数据类型的数据进行运算,以及计算一些数学算式的值。本章要完成的任务是:已知整型变量a、b、c的值,根据以下算式求y的值。,2.1 基本数据类型,2.1.1 数据类型,一个程序应该包括以下两方面的内容:(1)对数据的描述。在程序中要指定数据的类型和 数据的组织形式,即数据结构。(2)对数据的操作,即操作步骤,也就是算法。,2.1 基本数据类型,C语言提
2、供的数据类型,2.1.1 数据类型,2.1 基本数据类型,2.1.1 数据类型,(1)基本类型:基本数据类型最主要的特点是,其值不可以再分解为其他类型。也就是说,基本数据 类型是自我说明的。(2)构造类型:构造数据类型是根据已定义的一个或多个数据类型,用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。(3)指针类型:指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存储器中的地址。虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。(4)空类型:在调用函数时,
3、通常应向调用者返回一个函数值,这个返回的函数值是具有一定的数据类型的,应在函数定义及函数声明中给以说明。但也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。其类型声明符为void。,2.1 基本数据类型,2.1.2 常量与变量,在程序执行过程中,其值不能被改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量可以不经说明而直接引用,而变量则必须先定义后使用。,对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。,2.1 基本数据类型,2.
4、1.2 常量与变量,常量在程序执行过程中,其值不能被改变的量称为常量。常量区分为不同的类型,如12、0、-7为整型常量,3.14、-2.8为实型常量,a、b、c则为字符常量。常量即为常数,一般从其字面形式即可判别。这种常量称为直接常量。有时为了使程序更加清晰和便于修改,用一个标识符来代表常量,即给某个常量取个有意义的名字,这种常量称为符号常量。,符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量,2.1 基本数据类型,2.1.2 常量与变量,【例2.1】符号常量的使用。程序代码如下:,程序说明:该程序的功能是计算圆面积。程序中用#define命令行定义了符号常量PI,其值
5、为圆周率3.14,此后凡在文件中出现的PI都代表圆周率3.14,可以和常量一样进行运算。,#define PI 3.14main()float area,r;r=10;area=r*r*PI;printf(aera=%fn,area);,注意:符号常量也是常量,它的值在其作用域内不能改变,也不能再被赋值。例如,下面试图给符号常量PI赋值的语句是错误的:PI=20;/错误!,运行结果:aera=314.000000,2.1 基本数据类型,2.1.2 常量与变量,2.变量 在程序执行过程中,其值可变的量称为变量。一个变量必须有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。请注意
6、变量名和变量值是两个不同的概念。变量名在程序运行的过程中不会改变,而变量值则可以发生变化。变量名是一种标识符,它必须遵守标识符的命名规则。在程序中,常量是可以不经说明而直接引用的,而变量则必须作强制定义,即“先定义,后使用”。,2.2 整 型 数 据,2.2.1 整型常量,整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制3种,使用不同的前缀来相互区分。除了前缀外,C语言中还使用后缀来区分不同长度的整数。,1.八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀。数码取值为07。如0123表示八进制数123,即(123)8,等于十进制数83,即1*82+2*81+
7、3*80=83;-011表示八进制数-11,即(-11)8,等于十进制数-9。(1)以下各数是合法的八进制数:015(十进制为13)0101(十进制为65)0177777(十进制为65535)(2)以下各数是不合法的八进制数:256(无前缀0)0382(包含了非八进制数码8),2.2 整 型 数 据,2.2.1 整型常量,2.十六进制整常数十六进制整常数的前缀为0X或0 x。其数码取值为09、AF或af。如0 x123表示十六进制数123,即(123)16,等于十进制数291,即1*162+2*161+3*160=291;-011表示十六进制数-11,即(-11)16,等于十进制数-17。(1
8、)以下各数是合法的十六进制整常数:0X2A(十进制为42)0XA0(十进制为160)0XFFFF(十进制为65535)(2)以下各数是不合法的十六进制整常数:5A(无前缀0X)0X3H(含有非十六进制数码),2.2 整 型 数 据,2.2.1 整型常量,3.十进制整常数十进制整常数没有前缀,数码取值为09。(1)以下各数是合法的十进制整常数:237-568 1627(2)以下各数是不合法的十进制整常数:023(不能有前导0)23D(含有非十进制数码)在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错,以免造成结果不正确。,2.2 整 型 数 据,2.2.1 整型常量,4.整型
9、常数的后缀 在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。十进制无符号整常数的范围为065535,有符号数为-32768+32767。八进制无符号数的表示范围为00177777。十六进制无符号数的表示范围为0X00XFFFF或0 x00 xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。下面给出一些例子。(1)十进制长整常数:158L(十进制为158)358000L(十进制为358000)(2)八进制长整常数:012L(十进制为10)0200000L(十进制为65536)(3)十六进制长整常数:0X15L(
10、十进制为21)0XA5L(十进制为165)0X10000L(十进制为65536),2.2 整 型 数 据,2.2.2 整型变量,整型变量的分类整型变量可分为基本型、短整型、长整型、和无符号型4种。(1)基本型(2)短整型(3)长整型(4)无符号型,2.2 整 型 数 据,整型变量的字节数及表示范围,2.2.2 整型变量,2.2 整 型 数 据,2.2.2 整型变量,2.整型变量的定义 例如:int a,b,c;/*a、b、c为整型变量*/long m,n;/*m、n为长整型变量*/unsigned p,q;/*p、q为无符号整型变量*/【例2.2】整型变量的定义与初始化。程序代码如下:,mai
11、n()int a=3,b=5;printf(a+b=%dn,a+b);,运行结果:a+b=8,变量定义的一般形式为:类型声明符 变量名标识符1,变量名标识符2,.;,2.3 实 型 数 据,2.3.1 实型常量,实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有两种形式,十进制数形式和指数形式。1.十进制数形式由数码09和小数点组成。例如0.0、.25、5.789、0.13、5.0、300.、-267.8230等均为合法的实数。2.指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为a E n(a为十进制数,n为十进制整
12、数),其值为a*10n。,2.3 实 型 数 据,2.3.2 实型变量,实型变量分为两类。1.单精度型单精度型变量的类型声明符为float,在Turbo C中,单精度型占4个字节(32位)内存空间,其数值范围为3.4E-383.4E+38,只能提供7位有效数字。2.双精度型双精度型变量的类型声明符为double,在Turbo C中,双精度型占8个字节(64位)内存空间,其数值范围为1.7E-3081.7E+308,可提供16位有效数字。实型变量声明的格式和书写规则与整型相同。例如:float x,y;/*x、y为单精度实型变量*/double a,b,c;/*a、b、c为双精度实型变量*/也可
13、在声明变量为实型的同时,给出变量的初值。例如:float x=3.2,y=5.3;/*x、y为单精度实型变量,且有初值*/double a=0.2,b=1.3,c=5.1;/*a、b、c为双精度实型变量,且有初值*/应当说明,实型常量不分单精度和双精度。一个实型常量可以赋给一个float或double型变量,根据变量的类型截取实型常量中相应的有效位数字。下面的例子说明了单精度实型变量对有效位数字的限制。,2.3 实 型 数 据,2.3.2 实型变量,程序说明:本例中,由于a是单精度浮点型,有效位数只有7位。而整数已占5位,故小数二位之后均为无效数字。b是双精度型,有效位为16位。但Turbo
14、C规定小数后最多保留6位,其余部分四舍五入。,【例2.3】单精度实型变量对有效位数字的限制。程序代码如下:main()float a;a=0.123456789;printf(a=%f,a);下面的例子说明了float和double的不同。,【例2.4】演示float和double的区别。程序代码如下:main()float a;double b;a=33333.333333;b=33333.333333333;printf(a=%fnb=%fn,a,b);/*用格式化输出函数输出a和b的值*/,运行结果:a=0.123457,运行结果:a=33333.332031b=33333.333333
15、,2.4 字符型数据,2.4.1 字符常量,字符常量是用单引号括起来的一个字符。例如a、b、A、?都是合法的字符常量。在C语言中,字符常量有以下特点:(1)字符常量只能用单引号括起来,不能用双引号或其他括号。(2)字符常量只能是单个字符,不能是字符串。(3)字符可以是字符集中的任意字符。除了以上形式的字符常量外,C语言还允许用一种特殊形式的字符常量,即转义字符。转义字符以反斜线“”开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。常用的转义字符及其含义见表2.2。,2.4 字符型数据,2.4.1 字符常量,常用转义字符表,2.4 字符型数据,2.4.1
16、字符常量,【例2.5】转义字符的使用。程序代码如下:main()int a,b,c;/*定义 a、b、c为整数*/a=5;b=6;c=7;printf(%dnt%d%dn%d%dtb%dn,a,b,c,a,b,c);/*按要求格式输出a、b、c的值*/程序说明:程序在第一列输出a的值5之后就是“n”,故回车换行;接着又是“t”,于是跳到下一制表位置(设制表位置间隔为8),再输出b值6;空两格再输出c值7后又是“n”,因此再回车换行;再空两格之后又输出a值5;再空3格又输出b的值6;再次遇“t”跳到下一制表位置(与上一行的6 对齐),但下一转义字符“b”又使之退回一格,故紧跟着6再输出c值7。,
17、运行结果:5 6 7 5 67,2.4 字符型数据,2.4.2 字符变量,字符变量用来存放字符常量,即单个字符。每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符变量的类型声明符为char。字符变量类型声明的格式和书写规则都与整型变量相同。例如:char a,b;/*定义字符变量 a和b*/a=x,b=y;/*给字符变量a和b分别赋值x和y*/将一个字符常量存放到一个变量中,实际上并不是把该字符本身放到变量内存单元中去,而是将该字符相应的ASCII代码放到存储单元中。例如字符x的十进制ASCII码是120,字符y的十进制ASCII码是121。对字符变量a、b赋予x和y值(a=x;
18、b=y;)实际上是在a、b两个单元中存放120和121的二进制代码:a0 1 1 1 1 0 0 0(ASCII 120)b0 1 1 1 1 0 0 1(ASCII 121),2.4 字符型数据,2.4.2 字符变量,【例2.6】字符变量的使用。程序代码如下:main()char a,b;a=120;b=121;printf(%c,%cn%d,%dn,a,b,a,b);程序说明:本程序中,定义a、b为字符型变量,但在赋值语句中赋以整型值。从结果看,a、b值的输出形式取决于printf函数格式串中的格式符,当格式符为“%c”时,对应输出的变量值为字符形式,当格式符为“%d”时,对应输出的变量值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 算式 语言表达

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