数据类型运算符与表达式

上传人:宝路 文档编号:48245351 上传时间:2018-07-12 格式:PPT 页数:76 大小:463.36KB
返回 下载 相关 举报
数据类型运算符与表达式_第1页
第1页 / 共76页
数据类型运算符与表达式_第2页
第2页 / 共76页
数据类型运算符与表达式_第3页
第3页 / 共76页
数据类型运算符与表达式_第4页
第4页 / 共76页
数据类型运算符与表达式_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《数据类型运算符与表达式》由会员分享,可在线阅读,更多相关《数据类型运算符与表达式(76页珍藏版)》请在金锄头文库上搜索。

1、第3章 数据类型、运算符与表达 式殷玉法 3.1 C的数据类型 3.2 常量与变量 3.3 整型数据 3.4 实型数据 3.5 字符型数据 3.6 变量赋初值 3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式3.1 C的数据类型一个程序应包括以下两方面内容: (1) 对数据的描述。在程序中要指定数据的类 型和数据的组织形式,即数据结构(data structure)。 (2) 对操作的描述。即操作步骤,也就是算法 (algorithm)。数据是操作的对象,操作的目的是对数据进 行加工处理,以得到期望的结果。打个

2、比方,厨师做菜肴,需要有菜谱。菜谱上一般应包括: 配料,指出应使用哪些原料; 操作步骤,指出如何使用这些原料按规定的步骤加工成所 需的菜肴。面对同一些原料可以加工出不同风味的菜肴。数据类型(Data Type)数据类型基本类型构造类型指针类型空类型整型实型(浮点型)字符型数组类型结构体类型共用体类型单精度实型双精度实型基本整型 长整型 短整型 无符号整型3.2 常量与变量 3.2.1 常量 在程序的运行过程中,其值不能改变的量称 为常量。 注意: 1、常量的类型通常由书写格式决定如: 123 (整型)4.56 (实型)A (字符型)2、符号常量: 用一个标识符代表一个常量#define PI

3、3.1416使用符号常量的好处: (1)含义清楚、见名知意。 (2)修改方便、一改全改。 例2-1:符号常量应用# #define PI 3.14 main() float area;area=10*10*PI;printf(“area=%fn“,area); 结果:area=314.000000加分号?通常用大写字母符号常量的优点# include int main(void) double r, s, v;scanf(“%lf“, s = 4.0*r*r*3.14 ; v = 4.0/3.0*r*r*r*3.14 ; .return 0; # include # define PI 3.1

4、4 int main(void) double r, s, v;scanf(“%lf“, s = 4.0*PI*r*r ; v = 4.0/3.0*PI*r*r*r ; .return 0; 3.141593.141593.14159在程序的运行过程中,其值可以改变的量注意:v一个变量必须有一个名字,在内存中占据一 定的存储单元,在该存储单元中存放变量的 值。 3.2.2 变量 注意:1 、变量名(用标识符表示)、变量在内存中占据的存储单元、变量值三者关系。变量名在程序运行过程中不会改变,变量的值可以改变。变量名遵守标识符准则。 变量名:标识符v 由英文字母、数字和下划线组成,大小写敏感 v

5、不可以是数字开头 v 直观,见名知意,便于记忆和阅读 最好使用英文单词或其组合 切忌汉语拼音 v 下划线和大小写通常用来增强可读性 variablename variable_name VariableName, variableName2、C语言中变量:“先定义,后使用”。 即就是说,C要求对所有用到的变量做强制定义 。 1)只有申明过的变量才可以在程序中使用,这 使得变量名的拼写错误容易发现。例如,如果在定义部分写了 int count; 而在程序中错写成conut,如:conut=5; 在编译时检查出conut未经定义,不作为变量名 ,因此输出“变量conut未经说明”的信息,便于用户

6、发现错误,避免变量名使用时出错。 2)申明的变量属于确定的类型,编译系统可方 便地检查变量所进行运算的合法性。 3)在编译时根据变量类型可以为变量确定存储 空间,“先定义后使用”使程序效率高。3.3 整型数据3.3.1 整型常量的表示方法v整型常量就是整常数。v在语言中,使用的整常数有八进制、十六进 制和十进制三种,使用不同的前缀来相互区分 。整型数据 包括 整型常量和整型变量(1) 八进制整常数以0作为八进制数的前缀。如0123表示八进制数123,即(123)8 ,等于十进制数83;-011表示八进制数-11,即(-11)8 ,等于十进制数-9。以下各数是合法的八进制数:015(十进制为13

7、),0101(十进制为65),0177777(十进制为 65535)。以下各数不是合法的八进制数:256(无前缀0),0382(包含了非八进制数码8)。(2) 十六进制整常数十六进制整常数的前缀为 0X 或 0x。如0x123表示十六进制数123,即(123)16 ,等于十进制数291; -0x11表示十六进制数-11,即(-11)16 ,等于十进制数-17。以下各数是合法的十六进制整常数:0X2A(十进制为42),0XA0 (十进制为160),0XFFFF (十进制 为65535)。以下各数不是合法的十六进制整常数:5A (无前缀0X),0X3H (含有非十六进制数码)。(3) 十进制整常数

8、十进制整常数没有前缀,数码取值为09。以下各数是合法的十进制整常数:237,-568,1627。以下各数不是合法的十进制整常数:023 (不能有前导0),23D (含有非十进制数码)。p在程序中是根据前缀来区分各种进制数的。因此在书写常 数时不要把前缀弄错,造成结果不正确。设设 整数在内存中用2个字节存储 1 000 0001 1000 0001 0 000 0001 1000 0001符号位 1:负数 0:正数3.3.2 整型变量 1. 整型数据在内存中的存放形式数据在内存中是以二进制形式存放的。实际上,数值是以补码 (complement) 表示的。数值的表示方法 原码 反码 补码v正数的

9、原码、反码和补码相同 1 的补码 0 000 0000 0000 0001 32767 的补码 0 111 1111 1111 1111 (215-1,2个字节的存储单元能表示的最大正数)v负数的原码、反码和补码不同 -1 原码 1 000 0000 0000 0001 反码 1 111 1111 1111 1110 原码取反 补码 1 111 1111 1111 1111 反码1原码 反码 补码 32767 补码 0 111 1111 1111 1111-32767 原码 1 111 1111 1111 1111 反码 1 000 0000 0000 0000 原码取反 补码 1 000 0

10、000 0000 0001 反码1-32768 = -32767-1 补码 1 000 0000 0000 0000 (2个字节的存储单元能表示的最小负数)-32768 -1 0 1 32767 32767 0111 1111 1111 11111 0000 0000 0000 00010 0000 0000 0000 0000-1 1111 1111 1111 1111-2 1111 1111 1111 1110-32767 1000 0000 0000 0001-32768 1000 0000 0000 000032767 + 1 = 32768 ? 1000 0000 0000 000

11、= -32768-32768 - 1 = -32769 ? 0111 1111 1111 1111 = 327672. 整型变量的分类整型变量的基本类型符为int。可以根据数值的 范围将变量定义为基本整型、短整型或长整型。在 int 之前可以根据需要分别加上修饰符 (modifier):short(短型)或long(长型)。因此有以 下三种整型变量: (1) 基本整型,以int表示。 (2) 短整型, 以short int表示,或以short表 示。 (3) 长整型, 以long int表示,或以long表示 。 在turbo c中一个int型的变量的值范围为-215 (215-1) ,即-3

12、276832767。在实际应用中,变量 的值常常是正的(如学号、库存量、年龄、存款额等)。为了充分利用变量的表数范围,此时 可以将变量定义为“无符号”类型。对以上三种都 可以加上修饰符unsigned,以指定是“无符号数” 。如果加上修饰符signed,则指定是“有符号数” 。 如果既不指定为signed,也不指定为unsigned, 则隐含为有符号(signed)。实际上signed是完全可 以不写的。归纳起来,可以用以下6种整型变量。即 :有符号基本整型 signed int 无符号基本整型 unsigned int 有符号短整型 signed short int 无符号短整型 unsig

13、ned short int有符号长整型 signed long int无符号长整型 unsigned long int基本数据类型整型扩展的整数类型:short long unsigned int 有符号整型 无符号整型 数据长度 int unsigned int 16或32 位 short int unsigned short int 16位 long int unsigned long int 32位有符号 short 1 000 0000 0000 0000 -32768 -215 0 111 1111 1111 1111 32767 215-1 无符号 unsigned short 0

14、000 0000 0000 0000 0 1111 1111 1111 1111 65535 216-1整数类型的取值范围int 32位 -2147483648 2147483647 -231 231-1 short int 16位 -32768 32767 -215 215-1 long int 32位 -2147483648 2147483647 -231 231-1unsigned int 32位 0 4294967295 0 232-1 unsigned short int 16位 0 65535 0 216-1 unsigned long int 32位 0 4294967295 0 232-13. 整型变量的定义前面已提到,c规定在程序中所有用到的变量都 必须在程序中定义,即“强制类型定义”。例如:int a,b; (指定变量a、b为整型)unsigned short c,d;(指定变量c、d为无符号短整型)long e,f; (指定变量e、f为长整型)例3.2整型变量的定义与使用。#include void main()int a,b,c,d; /*指定a、b、c、d为整型变量*/unsigned u; /*指定u

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

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号