C语言-基本数据类型、运算符与表达式

上传人:平*** 文档编号:46194806 上传时间:2018-06-23 格式:PPT 页数:52 大小:1.40MB
返回 下载 相关 举报
C语言-基本数据类型、运算符与表达式_第1页
第1页 / 共52页
C语言-基本数据类型、运算符与表达式_第2页
第2页 / 共52页
C语言-基本数据类型、运算符与表达式_第3页
第3页 / 共52页
C语言-基本数据类型、运算符与表达式_第4页
第4页 / 共52页
C语言-基本数据类型、运算符与表达式_第5页
第5页 / 共52页
点击查看更多>>
资源描述

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

1、第第2 2章章 基本数据类型、基本数据类型、运算符与表达式运算符与表达式程序是解决某种问题的一组指令的有序集合。著名计算机科学家沃思(Nikiklaus Wirth)提 出一个公式:程序 = 数据结构 + 算法 程序是什么?程序是什么?对数据的描述。对数据的描述。 在在C C语言中,体语言中,体 现为现为数据类型数据类型的的 描述!描述!对数据处理的描述。对数据处理的描述。 是为解决一个问题而是为解决一个问题而 采取的方法和步骤,采取的方法和步骤, 是程序的灵魂!是程序的灵魂! 结论:学好结论:学好C C语言首先语言首先 就必须十分了解就必须十分了解C C语言语言 的数据类型、与算符的数据类型

2、、与算符 与表达式。与表达式。掌握变量和常量的概念; 理解各种类型的数据在内存中的存放形式; 掌握各种类型数据的常量的使用方法; 掌握各种整型、字符型、浮点型变量的定义和引 用方法; 了解调用printf函数输出各种类型数据的方法; 掌握数据类型转换的规则以及强制数据类型转换 的方法; 掌握赋值运算符、算术运算符、位运算符、逗号 运算符以及sizeof的使用方法; 理解运算符的优先级和结合性的概念,记住所学 的各种运算符的优先级关系和结合性。uu学习目标学习目标 2.1 C语言数据类型C C数数 据据 类类 型型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型voidvoid定义类

3、型定义类型typedeftypedef字符类型字符类型charchar枚举类型枚举类型enumenum整整 型型实型实型单精度型单精度型floatfloat双精度型双精度型doubledouble数组数组结构体结构体structstruct共用体共用体unionunion短整型短整型shortshort长整型长整型longlong整型整型intint数据类型决定:数据类型决定: 1. 1. 数据占内存字节数数据占内存字节数 2. 2. 数据取值范围数据取值范围 3. 3. 其上可进行的操作其上可进行的操作本章所介绍本章所介绍 的数据类型的数据类型2.2 常量、变量和标识符 1. 标识符 定义:

4、用来标识变量、常量、函数等的字符序列 组成: 只能由字母、数字、下划线组成,且第一个字母必须是字母或 下划线 C语言的关键字不能用作变量名 大小写敏感 长度:有效长度为32个字符。随系统而异,但至少前8 个字符有效 命名原则: 变量名和函数名中的英文字母一般用小写,以增加可读性 见名知意 不宜混淆 如l与I, o与0在在TC2.0TC2.0及及BC3.1BC3.1中,变量名(标中,变量名(标 识符)的有效长度为个字符识符)的有效长度为个字符 ,缺省值为,但在,缺省值为,但在VCVC中其长度可中其长度可 达到达到255 255 例:判断下列标识符号合法性 sum Sum M.D.John day

5、 Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days #33 char$123ab.字符非法字符非法 数字数字3 3不可作首字符不可作首字符# #字符非法字符非法charchar是关键字是关键字 字符非法字符非法$ $不可作首字符不可作首字符2.2 常量、变量和标识符 2. 常量 定义:程序运行时其值不能改变的量(即常数) 常量的分类 : 直接常量( 值常量)整型常量: 10、15、-10、-30实型常量: 12.5、 30.0、-1.5字符常量: A、b、c字符串常量: “sum”、“A”、“123

6、” 符号常量用标识符来代表常量。其定义格式为: #define define 符号常量符号常量 常量常量#define NUM 20#define PI 3.1415926 #include #define PRICE 30#define PRICE 30void main ( )void main ( ) intint num, total; num, total;num = 10; num = 10;total = num * total = num * PRICEPRICE; ;printfprintf (“total = %d“, total); (“total = %d“, tota

7、l); 运行结果:total = 300 行尾不能有分号行尾不能有分号 definedefine前面一定要有前面一定要有# # 符号常量名最好使用大写符号常量名最好使用大写 符号常量名最好有意义符号常量名最好有意义 2.2 常量、变量和标识符3. 变量 定义:程序运行时其值可以被改变的量 变量的两要素 :变量名 、变量值 变量的定义格式 : 变量的初始化:定义时赋初始值 变量的使用:先定义,后赋值 变量定义位置:一般放在函数开头 存储类型存储类型 数据类型数据类型 变量名变量名11,变量名,变量名2 2,变量名,变量名nn;int x, y, z; float radius, length,

8、area; char ch;决定分配字节数 和数的表示范围合法标识符例:int a = 2, b, c = 4;float data = 3.67;char ch = A;int x = 1, y = 1, z = 1;int x = y = z = 1;编译程序根据变量定义为其 分配指定字节的内存单元地址short int a=1, b=-3, c;abc2字节2字节2字节地址地址内存.1-3随机数例1: int student;stadent = 19; /Undefined symbol statent in function main 例2: float a,b,c;c = a % b

9、; /Illegal use of floating point in function main void main ( ) int a, b = 2;float data;a = 1;data = (a + b) * 1.2;printf (“data=%fn”, data); 变量定义可执行语句void main ( ) int a, b = 2;a = 1;float data;data = (a + b) * 1.2;printf(“data=%fn”,data); 2.3 简单数据类型与表示范围 1. 1. 整型数据整型数据 整型常量整型常量 l l 十进制整数:十进制整数:由数字

10、由数字0 09 9和正负号表示和正负号表示 . . 如如:123,-456,0:123,-456,0l l八进制整数:由数字八进制整数:由数字0 0开头,后跟数字开头,后跟数字0 07 7表示表示. .如如:0123,011:0123,011 l l十六进制整数:由十六进制整数:由0x0x或或0X0X开头开头, ,后跟后跟0 09,a9,af,Af,AF F表示表示. .如如 0x123,0Xff 0x123,0Xff 定义整数的符号常量#define NUM1 20 /十进制数20#define NUM2 020 /八进制数(十进制16)#define NUM3 0x2a /十六进制数(十进

11、制42)思考题:下列整型常量哪些是非法的?012,oX7A,00,078,0x5Ac,-0xFFFF,0034,7B。首字符不能 是字母o 八进制数中不 能有数字8 十进制数中不 能有字母B 2. 2. 整数在内存中的表示整数在内存中的表示整数的数值在内存中用补码的形式存放。整数的数值在内存中用补码的形式存放。求一个整数补码的方法:求一个整数补码的方法:(假设用(假设用n n个二进制位的内存单个二进制位的内存单 元来存储它)元来存储它) 如果是正整数如果是正整数,采用符号,采用符号- -绝对值表示,即最高有效位(绝对值表示,即最高有效位( 符号位)为符号位)为0 0表示正,数的其余部分则表示数

12、的绝对值;表示正,数的其余部分则表示数的绝对值; 如果是负整数如果是负整数,则先写出与该负数相对应的正数的补码,则先写出与该负数相对应的正数的补码 表示,然后将其按位求反,最后在末位(最低位)加表示,然后将其按位求反,最后在末位(最低位)加1 1; 然后将上述求得的补码的低然后将上述求得的补码的低n n位存放于内存单元之中,就位存放于内存单元之中,就 得到了该整数在内存中的表示,内存单元的最高位是符号得到了该整数在内存中的表示,内存单元的最高位是符号 位(位(0 0表示正,表示正,1 1表示负)。表示负)。在在TC2.0TC2.0或或BC3.1BC3.1下,一个整数默认情况下需要下,一个整数默

13、认情况下需要2 2 个字节(个字节(1616位)的内存单元存放;而在位)的内存单元存放;而在VC6.0VC6.0下下, ,则则 需要需要4 4个字节(个字节(3232位)。位)。 2. 2. 整数在内存中的表示整数在内存中的表示 十进制整数十进制整数 14:14: 对于对于1616位的内存单元位的内存单元:符号位符号位( (表示正表示正) )0000111000000000低字节高字节低地址高地址符号位十进制数十进制数+14+14两个字节的内存实际存放形式两个字节的内存实际存放形式 (+14)(+14)补补 = = 0 0000 000 00000000 00000000 1110 1110

14、2. 2. 整数在内存中的表示整数在内存中的表示 十进制整数十进制整数 14:14: 对于对于3232位的内存单元位的内存单元:符号位符号位( (表示正表示正) )低字节高字节低地址高地址十进制数十进制数+14+14四个字节的内存实际存放形式四个字节的内存实际存放形式 (+14)(+14)补补 = = 0 0000 000 00000000 00000000 00000000 00000000 00000000 0000 1110 0000 1110 00001110 00000000 00000000 00000000符号位记住:记住:数据在内存中的存放位置是高字节放在高地址数据在内存中的存

15、放位置是高字节放在高地址 的存储单元中,低字节放在低地址的存储单元中的存储单元中,低字节放在低地址的存储单元中。 对于负数对于负数 14:14: 对于对于1616位的内存单元位的内存单元:符号位符号位( (表示负表示负) )11110010 11111111低字节高字节低地址高地址符号位十进制数十进制数-14-14两个字节的内存实际存放形式两个字节的内存实际存放形式 (+14)(+14)补补 = = 0 0000 000 00000000 00000000 1110 1110 (-14)(-14)补补 = = 1 1111 1111 111 1111 11111111 0010 0010 按位求反,末位加按位求反,末位加1 1 2. 2. 整数在内存中的表示整数在内存中的表示 十进制整数十进制整数 14:14: 对于对于3232位的内存单元位的内存单元:符号

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

当前位置:首页 > 高等教育 > 大学课件

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