![[计算机软件及应用]第2章 数据类型、运算符和表达式.ppt_第1页](http://file.renrendoc.com/FileRoot1/2018-12/23/776326a8-3a31-4fc6-8314-7bc8acf0d3bd/776326a8-3a31-4fc6-8314-7bc8acf0d3bd1.gif)
![[计算机软件及应用]第2章 数据类型、运算符和表达式.ppt_第2页](http://file.renrendoc.com/FileRoot1/2018-12/23/776326a8-3a31-4fc6-8314-7bc8acf0d3bd/776326a8-3a31-4fc6-8314-7bc8acf0d3bd2.gif)
![[计算机软件及应用]第2章 数据类型、运算符和表达式.ppt_第3页](http://file.renrendoc.com/FileRoot1/2018-12/23/776326a8-3a31-4fc6-8314-7bc8acf0d3bd/776326a8-3a31-4fc6-8314-7bc8acf0d3bd3.gif)
![[计算机软件及应用]第2章 数据类型、运算符和表达式.ppt_第4页](http://file.renrendoc.com/FileRoot1/2018-12/23/776326a8-3a31-4fc6-8314-7bc8acf0d3bd/776326a8-3a31-4fc6-8314-7bc8acf0d3bd4.gif)
![[计算机软件及应用]第2章 数据类型、运算符和表达式.ppt_第5页](http://file.renrendoc.com/FileRoot1/2018-12/23/776326a8-3a31-4fc6-8314-7bc8acf0d3bd/776326a8-3a31-4fc6-8314-7bc8acf0d3bd5.gif)
已阅读5页,还剩77页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 数据类型、运算符和表达式 数据是程序处理的对象,是程序设计中 的重要组成部分。C语言为我们提供了丰富的 数据类型和运算符及语法规则。 内容:C语言的基本数据类型、标识符和 关键字、常量和变量,运算符与表达式以及数 据类型之间的转换等。 要求:掌握C语言数据和数据类型的相关 知识,熟练掌握运算符和表达式的使用方法。 2.1.1 数据类型概述 整型(int) 数据类型 基本类型 整型 单精度型(float) 字符型(char) 长整型(long) 短整型(short) 实型 双精度型(double) 枚举类型(enum)(第9章) 共用体类型(union)(第9章) 构造类型 结构体类型(struct)(第9章) 数组类型(第6章) 空类型(void) 指针类型(*)(第8章) 2.1 数据类型 2.1.2 整型 根据存储长度的不同,C语言中的整型 又可分为:基本整型、短整型和长整型,分 别用int(基本整型)、short int或short( 短整型)、long int或long(长整型)来描 述。在这些类型标识符之前还可以加上修饰 符unsigned以表示数据是无符号数(0和正 整数),没有加unsigned的数据类型为有符 号类型,可以描述正整数、负整数和0。 2.1 数据类型 表2-1 整数类型 类 型 字节数 取 值 范 围 int2-32768 32767 即 -215 (215 1) unsigned int 20 65535 即 0 (216 1) short2-32768 32767 即 -215 (215 -1) unsigned short20 65535 即 0 (216 -1) long4-21474836482147483647 即 -231 (231 - 1) unsigned long404294967295 即 0 (232 -1) 整形数据的存储p18参考 2.1.3 实 型 实数类型的数据即通常的实型数据,例如 123.45、-36.9、0.0、-2.810-5等。由于计算 机中存储实型数据时小数点位置不确定,C语 言中实型数据又称浮点型数据。Turbo C提供 了三种表示实数的类型:单精度浮点数类型, 简称浮点类型,类型名为float;双精度浮点数 类型,简称双精度类型,类型名为double;长 双精度类型,类型名为long double。所有整数 类型和实数类型统称为算术类型。 表2-2 实数类型 类 型字节数有效数字数值范围 float47 -3.410-38 3.41038 double816 -1.710-308 1.710308 long double1019 -3.410-4932 3.4104932 以上数据为理论上的参考数据,实际上不同机器可能有 差异,例如在有的机器上测试为: -1.2E-383.4E+38(float) -2.3E-3081.7E+308(double) -9.0E-49286.3E+4931(long double)。 注意:在Turbo C 2.0中默认输出6位小数,输出 double时加l修饰,输出long double加L修饰。 2.1.4 字符型 字符类型的数据即通常的字符。 C语言中字符数据的书写形式是用单引号括 起的单个字符,例如用a、B、4分别表示a、 B、4字符等,以与源程序中所用的字符相区别 。 字符数据主要用于表示信息,例如程序的 输入和输出信息。此外,文字处理方面的应用程 序也必须能使用和处理字符形式的数据。 字符类型的数据包括计算机所用编码字符集 中的所有字符。常用的ASCII字符集,其中的字 符包括所有大小写英文字母、数字、各种标点符 号字符,还有一些控制字符,一共128个。扩展 的ASCII字符集包括ASCII字符集中的全部字符和 另外的128个字符,总共256个字符。 字符类型数据在内存中存储的是它的ASCII 码编码值,例如A和8分别存储ASCII值65和56 。一个字符通常占用内存一个字节。 2.1.4 字符型 字符数据与整型数据是相似的。C语言规定字符 类型与整型基本一致,即也有有符号和无符号两种类 型: 有符号类型用char(-128127)表示; 无符号类型用unsigned char(0255 )表示; 类类 型字节节数取 值值 范 围围 char1-128 127 即 -27 (27 1) unsigned char10 255 即 0 (28 -1) 2.1.4 字符型 2.2 标识符、常量与变量 2.2.1 标识符 1. 标识符 所谓标识符,是指程序中的变量、符号常量 、数组、函数、类型、文件等对象的名字。在C 语言中,标识符只能由字母、数字和下划线组成 ,且第一个字符必须为字母或下划线。使用标识 符的具体规则如下: 1. 标识符使用规则 (1) 标识符只能由下划线、数字09与大小写字母az, AZ构成。Turbo C最多识别由32个字符组成的标识符, Microsoft C最多识别由8个字符组成的标识符。 (2) 标识符的首个字符必须是字母或下划线,而不能是数 字或其它符号。 (3) C语言中大小写字母是敏感的,即在标识符中,大写 字母和小写字母代表不同的意义。例如:Name和name 是两个不同的标识符。 (4) 标识符不能使用系统的关键字(p12),因为关键字 是系统保留的,它们已有特定的含义。 (5) 系统预定义标识符,如预编译命令名(define、 include)、系统函数名(scanf、printf、getchar、 putchar)等可作为用户标识符,但建议不作它用。 (6) 尽量作到“见名知义”,例如max、score等,而 不用象abc、x1、y2等标识符。 (7) 避免使用易混字符,如1、l、i;0、o;2、z等 。 1. 标识符使用规则 2. 关键字 关键字是指系统预定义的保留标识符,又称之为 保留字。它们有特定的含义,不能再作其它用途 使用。ANSI C定义的关键字共32个: autodoubleintstructbreakelse longswitchcaseenumregistertypedef charexternreturnunionconstfloat shortunsigned continue forsignedvoid default gotosizeofvolatile doif whilestatic 2.2.2 常 量 1.整型常量 (1) 十进制整数:如154、-565、6523。十进制写法中除非要 写的整数本身就是0否则第一个数字字符不能为0。 如果要说明是十进制无符号整数则在数据后加u或U,如 65535u,12345U等。 (2) 八进制整数:以0开头,由07八个数字组成的数是八进 制数。如0101、-045等是合法的八进制数,其中0101相当于 十进制数65。而0185、-02a3是错误的,不能表示八进制数 (为什么?)。 C语言中的数据有常量和变量之分,常量是指在程序运行过 程中其值不能被改变的量 (3) 十六进制整数:以0x或0X开头的数字序列表示 十六进制数。如0x12为十六进制数,它相当于十 进制数18。由于数字只有10个,而在十六进制写 法中需要015共16个数字,超过9的数字不能用 单个数字表示,C语言采用计算机领域通用的方式 ,用字母af或AF表示其余的6个十六进制数字 ,其对应关系如表2-4所示: 字 母 a,Ab,Bc,Cd,De,Ef,F 表示的数字 101112131415 表2-4 十六进制数字的表示方法 2.2.2 常 量 【注意】八进制、十进制和十六进制只是整数的不同书 写形式,提供多种写法只是为了使用方便,我们可以根据 需要选择适当的书写方式。日常生活中我们习惯使用十进 制数,而在计算机中存储的数据都是二进制的,由于二进 制与八进制和十六进制的换算关系简单,有些情况下用八 进制和十六进制的写法会更方便些。但无论何种写法,上 述数据类型仍然是整型,并不是其他新的类型。另外还要 注意:C语言中不用二进制形式表示整数。 2.2.2 常 量 长整型常量的表示方法: 在上述方法表示的整数后面后附一个字母l 或L 作后缀,即可表示该数据的类型是长整型的。 例如65L、-234234L表示十进制有符号长整型 数,345678lu,35LU等表示十进制无符号长整型数 。 2.2.2 常 量 2.实型常量 在C语言中,把带小数的数称为实数或浮点数。 实型常量只能用十进制形式表示。 表示方法: (1)小数形式。由数字序列和小数点组成,如 3.14159、-0.12、.5、2.等都是合法的实数形式。 (2) 指数形式。由一个整数或小数后面跟有一个 指数部分组成,指数部分以e或E开头跟一个正的 或负的整数,表示以10为底的指数。如:3.4e-4或 3.4E-4表示3.410-4,1.23E4、1.23E+4、1.23e4 或1.23e+4均表示1.23104。 2.2.2 常 量 注意:字母e或E之前(即尾数部分)必须有 数字,例如E2是不合法的表示。e或E后面的 指数部分必须是整数,指数部分无整数或为小数 均是错误的,例如1.0e 和4e-4.5均是不合法的表 示。 3.14159可表示为: 0.0314159102 C语言表示为0.0314159e+2; 或3141.5910-3 C语言表示为3141.59e-3 2.2.2 常 量 3.字符常量 字符型常量是由一对单引号括起来的单个字 符构成。 例如:a、B、2等 一个字符型常量的存储值是该字符集中对应 的ASCII编码值,常用字符的ASCII编码值如下: AZ(6590),az(97122),09(48 57),空格字符(32) 。 可以看出:大写字母、小写字母、数字字符 ASCII编码值都是连续的。 2.2.2 常 量 除了可见字符以外,还有一些特殊的控 制字符无法直接写出,例如换行符等。C语 言为它们规定了特殊写法:以反斜杠()开 头的一个字符或一个数字序列,这类字符称 为转义字符. 如:n、214等 ,具体见下表。 转义字符 2.2.2 常 量 字符形式功 能 n换换行,将光标标从当前位置移到下一行开头头 t横向跳格,光标标跳到下一个水平制表位, 一个制表位占8列 b退格,将当前位置移到前一列 r回车车,将光标标从当前位置移到本行开头头 f换页换页 ,将光标标从当前位置移到下一页页开头头 反斜杠字符“” 单单引号字符“” “双引号字符“” ddd1到3位8进进制数所代表的字符 xhh1到2位16进进制数所代表的字符 2.2.2 常 量 main() printf(“ab ct derftgn“); printf(“htibbj k“); 说明,这里为了方便学生阅读,使用代表空格,但学生在计算机进行程 序代码书写时直接按空格键即可。 通过程序调试可以看到程序运行结果如下: f gde h j k 例、分析下面程序运行的结果 4.字符串常量 字符串常量是由一对双引号括起的字符序列. 例如“abc”、“a”等,其中“a”的存储形式: 字符串常量与字符常量的区别: (1) 字符常量由单引号括起来,字符串常量由双引号括 起来 (2) 字符常量只占一个字节的内存空间,字符串常量存 储串中所有字符和串结束标记0,其ASCII值为0 (3) 字符常量只能表示单个字符;而字符串常量则可以 含一个或多个字符,甚至还可以没有字符。 a0 2.2.2 常 量 参考P15例 5.符号常量 以上介绍了C语言几种类型常量的直接表 示形式,又叫“直接常量”。与此相对应的还有 所谓的“符号常量”。符号常量就是使用标识符 定义一个常量,例如可用如下方法定义PI代表 3.14159: #define PI 3.14159 这种常量定义在C语言中被称之为“宏定义 ”,具体方法将在本书第11章中介绍。 2.2.2 常 量 /* EX2-1.C */ #define PI 3.14159 main() float r,c,s; scanf(“%f“, c=2*PI*r; s=PI*r*r; printf(“r=%f,c=%f,s=%fn“,r,c,s); 【例2-1】输入圆的半径,计算周长和面积 2.2.3 变 量 变量是指在程序运行过程中其值可以被改变的量 三个要素: 变量名 变量的存储单元 变量(存储单元存放)的值。 1.变量的定义 类型 变量名=初值,变量名=初值,; 例如下面的两条变量定义语句 int a; float f; int a,b,c,max; int a=1,b=2,c=3,max; 不能用 int a=b=c=3;int a=3,b=3,c=3; 2.2.3 变 量 (1)编译系统将根据定义检测函数中的变量名。 例如在语句: maxx=3; 中变量max错写成了maxx,编译系统将提示maxx没有被 定义的错误信息。 (2)编译系统将对每一个变量根据它被定义的类型分配相应的 存储单元。 例如对上述被定义的变量a、b、c和max分别分配2字节的 整型存储单元,对变量f分配4字节的单精度实型存储单元。 可以用长度运算符sizeof( )求出任意类型变量存储单元的字 节数。例如对int型变量a和float型变量f,sizeof(a)和sizeof(f)的 值分别为2和4。也可以用sizeof( )作用到类型标识符上,如: sizeof(int)和sizeof(float)得到同样的结果。 2.2.3 变量定义的作用 2.2.3 变量定义的作用 (3)编译系统根据变量被定义的类型检查该变量进行运算 的合法性。 例如上述整型变量a、b、c和max均可以参与求余运算, 例如b对c求余的结果赋给a: a=b%c; 是合法的,而实型变量f参加求余运算将是非法的。 (4)可以给变量赋初始值。如果没有赋初值,普通变量将 存储随机值,直到给它赋值为止。 定义变量应注意以下问题: (1)变量名可以是任何合法的标识符。 例如a、b2、c_1、_3y等均是合法的变量名,而 #abc、.com、¥b1、5fd2、for等均是不合法的变 量名。 .见名知义 . 区分大小写字母 (2)在一个函数中,同一个变量不能被定义两次。 2.2.3 变量定义的作用 2. 变量的赋值 变量的赋值就是给变量的存储单元存储一定 的值。赋值操作由赋值运算符“=”实现。 赋值方式: (1)在定义变量时给变量初始化赋值 (2)在程序运行时用赋值语句给变量赋值,如 : int a,b,c; a=3;b=5;c=7; 与初始化赋值不同,用赋值语句给多个变量 赋相同的值可以采用连续赋值的形式。如: a=b=c=26; 3.整型数据的存储 补码complement ) 216-|a| (-32768a = | printf(“%d,“, (int)x); printf(“%fn“, x); 【例2-7】强制类型转换 由于求余(取模)运算只能针对整型数据,因 此经常用强制类型转换的办法将一个实型量(变量 或常量)变换成整型,然后才能进行取模运算,例 如:(int)5.5%3。 4. 自增自减运算符:+和- - 自增自减运算符+和-是C语言中最常用也最 难掌握的两个单目运算符,具有右结合性。他们 的作用是:只作用于变量,使变量的值自增1或 自减1。如+i相当于i=i+1;-j相当于j=j-1,因此 +、- -实质也有赋值作用。由于不能对常量或表 达式赋值,因此象3+, (a+b)- -等都是错误的。 4. 自增自减运算符:+和- - +和-运算符的前缀运算与后缀运算 (1)前缀运算+i:相当于i=i+1且表达式的值与i的值 相同(先增值后引用);同样,-j相当于j=j-1且表达式的值 与j的值相同。 (2)后缀运算i+:先取i的值作为表达式的值,i再自 增1 (先引用后增值);同样,j-:先取j的值作为表达式的 值,j再自减1 (先引用后减值)。 例如:阅读下面程序,分析程序运行结果 main() int i=5,x,y,z; x=+i; y=i-; z=-i+; printf(“%d.%d,%d,%dn“,x,y,z,i); 运行结果为:6,6,-5,6 注意:由于+和是单目运算,优先级高于基本算术运算符 ,同其他单目运算符。如表达式-i+,由于-和+优先级相同,均 为右结合性,故等同于-(i+) 有关自增自减运算符使用中的若干问题 (以下为turbo c和MSC中的规定) 1)连续自增问题 例如:int i=3;(i+)+(i+)+ (i+)的值为9,i的值为6。运算时先 统一取值后逐步自增 int i=3;( + i)+( + i)+ ( + i)的值为9,i的值为6。运算时 先逐步自增后统一取值 2)连续自增作为printf()函数输出项问题(与上面1)不同) int i=3;printf(i+)+(i+)+ (i+)输出12,逐步取值和自 增 int i=3;printf( + i)+( + i)+ ( + i)输出15,逐步自增和 取值 3)printf()函数中多输出项问题。 在多数系统中对函数参数的求值顺序是自右而左 所以:int i=3;printf(“%d,%d”,i+2,i+)输出6,3 说明:C的运算符丰富、复杂,以上3中情况不提倡使用 /* EX2-8.C */ main() int i=5,j; j=+i+i+; printf(“i=%d,j=%dn“,i,j); i=5; j=(+i)+(+i)+(i+); printf(“i=%d,j=%dn“,i,j); printf(“%d %dn“,i+j,j+); 【例2-8】 输出下面程序中i、j的值 注意:C中有的运算符作为一个字符,有的运算符有两个字符组成,在表达式 中容易混淆,如:表达式i+j,这样的表达式容易引起歧义,最好避免使用。 自增自减运算符常用于循环语句中 2.3.2 赋值运算符与赋值表达式 1.赋值运算符 C语言中赋值运算符为“=”,它的作用的一般形 式为: 变量=表达式 即将“=”右边的表达式的值赋给其左边的变量。 如: a=5; /* 表示把一个常量5赋给变量a */ x=a+5; /* 表示将表达式a+5的值赋给变量x */ 如果赋值运算符两侧的类型不一致,在赋值时要 将表达式值的类型转换成变量的类型,然后再赋给变 量 几点说明: (1)“=”是赋值运算符,不是等于号(等于号是=)。 (2)赋值运算方向为自右向左。 (3)赋值运算的过程:先计算表达式,然后将计算结果转换成变 量的类型后存到变量的存储单元中,该变量原有的值被覆盖。 (4)赋值运算符左边只能是变量,不能是常量或表达式,如2=a 和a+b=c都是错误的。 (5)赋值运算符的优先级较低(只高于逗号运算符),因此一般 情况下表达式无须加括号,如a=2+7/3将值4赋给变量a。 (6)赋值运算是一个表达式,其值即赋值后变量的值,该值可赋 给其它变量 。如b=(a=9),赋值后b的值为9;x=y=z=10赋值 后x、y、z的值均为10; 2.3.2 赋值运算符与赋值表达式 C语言允许在赋值运算符“=”之前加上其他运算 符以构成复合的赋值运算符。 基本算术运算符和位运算符。有: +=,-=,*=,/=,%=,=, j=3; i=(k=j+1)+(j=5); 若先算后面括号,结果为i=11; 若先算前面括号,结果为i=9; i=(j=5)+(k=j+1); 4. 算术表达式的计算 优优先级级类类型 运算符结结合性 1结结构类类 ( ) 2单单目 +、-、+、-、sizeof( ) 3双目 *、/、% 4双目 +、- 5赋值类赋值类 =、+=、-=、*= 、 /= 、 %= 1.圆括号优先级最高,有多层圆括号从内向外运算 2.(类型名)(表达式)为强制类型转换运算; 3.先按运算符的优先级由高到低进行,如5*-2相当 于5*(-2),结果为-10;同级的运算符按结合方向进行 例:设有变量声明float a=3.0; int b=2; 计算表达式: 2+sqrt(1.0+a)*b+/2 解: 2+sqrt(1.0+a)*b+/2 2+sqrt(4.0)*b+/2 2+2.0*2/22+4.0/2 2+2.04.0 即表达式的值为4.0,同时b的值变为3,a的 值不变。 4. 算术表达式的计算 2.3.3 逗号运算符与逗号表达式 1.逗号运算符 , 用逗号运算符可以将两个表达式连接起来。如: 2+3,2+5 2.逗号表达式 用逗号运算符连接两个或两个以上表达式所形 成的新表达式就是逗号表达式,其一般形式为: (表达式1),(表达式2) , (表达式n) 求值过程:先求表达式1的值,再求表达式2的值 ,,最后求表达式n的值。表达式n的值就是整个逗 号表达式的值。 一个逗号表达式可以与另一个表达 式构成一个新的逗号表达式。例如: (a=2+3,a*5),a+10 优先级: 逗号运算符是所有运算符中级别 最低的. 结合性:逗号表达式的结合性为自左向 右的。 2.3.3 逗号运算符与逗号表达式 /* EX2-12.C */ main() int y=3,x=3,z=1; printf(“%d %dn“,(+x,y+),z+2); 【例2-9】 分析下面程序的运行结果 2.4 数据类型转换 2.4.1类型转换概述 三种方式: 类型自动转换、赋值类型转换和强制类型转换 1.不同数据类型的差异 数据类型的差异体现在存储数据的范围和精度,存储数据的范 围越大、精度越高,该类型越高级。 (1)floatdouble (2)(char,short,int,long)(float,double) (3)charshortintlong (4)signedunsigned C语言提供了丰富的数据类型,不同类型数据的存储长度和存储方式不同 ,一般不能直接进行运算,为了提高编程效率,C语言允许不同数据类型 相互转换。 2.数据类型转换产生的6种效果 (1)数据类型提升与降格 (2)为保持数值不变,整型短数据转换成整型长数据时将 产生符号位扩展与零扩展。 (3)最高位失去符号位功能(signed型转换成unsigned型 )与变成符号位(unsigned型转换成signed型):长度不 变,数值可能改变 (4)丢失精度 (5)截去高位(溢出)产生数值的变化:发生在长的整型数 据转换成较短类型的整型数据时。 (6)给实数赋值,float型只能接受7位有效数字, double型只能接受16位有效数字,多给无效。 2.4 数据类型转换 系统自动按运算顺序将低级的数据直接转换成高级 的数据,以保证运算的精度,具体规则为: (1) float 在运算时自动转换成double; (2) char和short在运算时自动转换成整型数据int; (3) int和unsigned混合运算时,将整型数据转换成 无符号整型数据,即是用补码参加运算,不会影响 结果的正确性; (4) int或unsigned与long混合运算时,都转换成 long型。 (5) int、unsigned、long与浮点型数据混合运算时 ,都转换成浮点型数据(double)。 2.4.2 自动类型转换 高 doublefloat long char,short unsigned 低 自动类型转换规则 int 2.4.2 自动类型转换 2.4.3 赋值类型转换 赋值运算时,如果赋值运算符两侧的类型 (指基本类型)不一致,系统自动将表达式的 值转换成变量的类型存到变量的存储单元,转 换的结果可能会: (1)当整型数据赋给浮点型变量时,数值上不 发生任何变化,但有效位增加。如: float f; f=4; /* 内存中变量f的值为4.000000 */ 2.4.3 赋值类型转换 (2)当单、双精度浮点型数据赋给整型变量时, 浮点数的小数部分将被舍弃。如: int x =4.35; /*内存中变量x的值为4,精度丢 失。如果赋的值绝对值很大则将溢出。*/ (3)将字符型数据赋给整型变量时,由于字符型 数据在运算时根据其ASCII码值自动转化为整型 数据,所以将字符型数据的ASCII码值存储到变 量中。如: int x; x=a; /* 内存中变量x的值为97 */ (4)将有符号的整型数据赋给长整型变量,系统 要进行符号位扩展。将无符号的整型数据赋给长 整型变量时,只需0扩展即可。 (5)将长整型数据赋给整型变量或将整型数据赋 给字符型变量,都有可能溢出。例如: char ch=321;溢出后ch的值为A。 2.4.3 赋值类型转换 (6)同长度有符号整型数据赋给无符号整型变量时 ,数据将失去符号位功能。例如: unsigned u=-1;则u的值为65535。 (7)同长度无符号整型数据赋给有符号整型变量时 ,数据将得到符号位功能。例如: int i=65535u;则i的值为-1。 以上(2)、(5)、(6)、(7)将可能改变所赋数据的值 。 2.4.3 赋值类型转换 2.4.4 强制类型转换 利用强制类型转换运算符将一个表达式的值强 制转换成所需类型。即: (类型名)(表达式) 强制类型转换的作用主要有:使某些数据 (例如实型数据)能够进行某种类型(例如求余 )运算设计四舍五入算法,例如将一个实数保 留两位小数:设实数f,则(int)(100*f+0.5)/100.0 即可实现该算法。利用动态存储分配建立链表 等等。强制类型转换由于是程序员主动进行的类 型转换,一般不会发生意想不到的问题。 本节我们介绍了C语言数据类型转换的问题, 在自动类型转换、赋值类型转换和强制类型转换中 ,我们重点要防止赋值类型转换中存在出现的问题 ,为此,我们在程序设计时要掌握几条原则: (1)要避免数值的变化:避免signed型与unsigned 型之间的数据转换;注意计算或输入中数值范围不 超过使用类型的数值范围,以防数据溢出,否则定 义较高数据类型。 (2)使用数据类型时应尽量避免丢失精度,必要时定 义较高的数据类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 难点详解人教版八年级上册物理光现象《光的反射》专项测试试题(含答案解析版)
- 城市危旧房改造技术方案
- 建筑智能化能源监测与优化方案
- 重难点解析人教版八年级上册物理声现象《声音的特性》专题攻克试题(含答案解析)
- 市政管道安装材料的储存与运输方案
- (新教材同步备课)2024春高中生物 第1章 发酵工程 第2节 微生物的培养技术及应用 1.2.1 微生物的基本培养技术说课稿 新人教版选择性必修3
- 混凝土工程风险评估方案
- 给水处理厂设备选型与安装方案
- 水泵站节能改造实施方案
- 基于LEARNS模式的营养干预在妊娠期糖尿病高危因素孕妇护理管理中的应用研究
- 2025年云南南方地勘工程有限公司招聘笔试参考题库含答案解析
- 工程部管理培训课件
- DB31/T 978-2016同步注浆用干混砂浆应用技术规范
- 夜场员工合同协议书
- 【DAMA】2025智变-AI赋能政府与央国企智能化转型白皮书
- 新教材部编版二年级上册《4.彩虹》教学设计
- 航空宠物知识培训课件
- 护理人员在职继续教育培训与考评制度
- 综合实践活动课程设计
- 2025年法官员额考试题及答案
- 备考2025年成人高考-专升本-政治考点及必背知识点大全
评论
0/150
提交评论