C语言程序设计第二章.ppt
《C语言程序设计第二章.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第二章.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第2 2 2 2章章章章 数据类型数据类型数据类型数据类型、运算符运算符运算符运算符与表达式与表达式与表达式与表达式 程序是解决某种问题的一组指令的有序集合。著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:程序=数据结构+算法 u学习的意义学习的意义 程序是什么?程序是什么?对数据的描述。对数据的描述。对数据的描述。对数据的描述。在在在在C C C C语语语语言中,体现为言中,体现为言中,体现为言中,体现为数据类数据类数据类数据类型型型型的描述!的描述!的描述!的描述!对数据处理的描述。对数据处理的描述。对数据处理的描述。对数据处理的描述。是为解决是为解决是为解决是为
2、解决一个问题而采取的方法和步骤,一个问题而采取的方法和步骤,一个问题而采取的方法和步骤,一个问题而采取的方法和步骤,是程序的灵魂!是程序的灵魂!是程序的灵魂!是程序的灵魂!结论:学好结论:学好C C语言首先语言首先就必须十分了解就必须十分了解C C语言语言的数据类型、的数据类型、运运算符算符与表达式。与表达式。C C C C数数数数据据据据类类类类型型型型基本类型基本类型基本类型基本类型构造类型构造类型构造类型构造类型指针类型指针类型指针类型指针类型空类型空类型空类型空类型voidvoid字符类型字符类型字符类型字符类型charchar枚举类型枚举类型枚举类型枚举类型enumenum整整整整数
3、数数数型型型型浮点型浮点型浮点型浮点型单精度型单精度型单精度型单精度型floatfloat双精度型双精度型双精度型双精度型doubledouble数组数组数组数组结构体结构体结构体结构体structstruct共用体共用体共用体共用体unionunion短整型短整型短整型短整型shortshort长整型长整型长整型长整型longlong整型整型整型整型intint本章所介绍的数本章所介绍的数本章所介绍的数本章所介绍的数据类型据类型据类型据类型2.1 常量与变量1.标识符定义:用来标识变量、常量、函数等的字符序列组成:只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线C语言的关键字不能
4、用作变量名 大小写敏感长度:有效长度为32个字符。随系统而异,但至少前8个字符有效命名原则:变量名和函数名中的英文字母一般用小写,以增加可读性 见名知意不宜混淆 如l与I,o与0 在在在在TC2.0TC2.0TC2.0TC2.0及及及及BC3.1BC3.1BC3.1BC3.1中,变量名(标中,变量名(标中,变量名(标中,变量名(标识符)的有效长度为个字符,识符)的有效长度为个字符,识符)的有效长度为个字符,识符)的有效长度为个字符,缺省值为,但在缺省值为,但在缺省值为,但在缺省值为,但在VCVCVCVC中其长度可达中其长度可达中其长度可达中其长度可达到到到到255 255 255 255 例:
5、判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name#33 lotus_1_2_3 char ab _above$1233days#33char$123ab .字符非法字符非法字符非法字符非法 数字数字数字数字3 3 3 3不可作首字符不可作首字符不可作首字符不可作首字符#字符非法字符非法字符非法字符非法 charcharcharchar是关键字是关键字是关键字是关键字 字符非法字符非法字符非法字符非法$不可作首字符不可作首字符不可作首字符不可作首字符2.常量定义:程序运行时其值不能改变的量(即常数)常量的分类:直接常量(值常量)整型常
6、量:10、15、-10、-30 实型常量:12.5、30.0、-1.5 字符常量:A、b、c 字符串常量:“sum”、“A”、“123”符号常量 用标识符来代表常量。其定义格式为:#define define define define 符号常量符号常量符号常量符号常量 常量常量常量常量#define NUM 20#define PI 3.1415926#include#include#define PRICE 30#define PRICE 30void main()void main()int num,total;int num,total;num=10;num=10;total=num*
7、total=num*PRICEPRICE;printf(total=%d,total);printf(total=%d,total);运行结果:运行结果:total=300 行尾不能有分号行尾不能有分号行尾不能有分号行尾不能有分号 definedefinedefinedefine前面一定要有前面一定要有前面一定要有前面一定要有#符号常量名最好使用大写符号常量名最好使用大写符号常量名最好使用大写符号常量名最好使用大写 符号常量名最好有意义符号常量名最好有意义符号常量名最好有意义符号常量名最好有意义 3.变量定义:程序运行时其值可以被改变的量 变量的两要素:变量名、变量值变量的定义格式:变量的初始
8、化:定义时赋初始值变量的使用:先定义,后赋值变量定义位置:一般放在函数开头 存储类型存储类型存储类型存储类型 数据类型数据类型数据类型数据类型 变量名变量名变量名变量名1111,变量名,变量名,变量名,变量名2 2 2 2,变量名,变量名,变量名,变量名nnnn;int x,y,z;float radius,length,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;例1:int student;stadent=19;/Undefined
9、 symbol statent in function main 例2:float a,b,c;c=a%b;/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);3.3 整型数据1.整型整型常量常量 三种表示形式三种表示形式三种表示形式三种
10、表示形式 l l 十进制整数:十进制整数:十进制整数:十进制整数:由数字由数字由数字由数字0 0 0 09 9 9 9和正负号表示和正负号表示和正负号表示和正负号表示.如如如如:123,-456,0:123,-456,0:123,-456,0:123,-456,0l l八进制整数:由数字八进制整数:由数字八进制整数:由数字八进制整数:由数字0 0 0 0开头,后跟数字开头,后跟数字开头,后跟数字开头,后跟数字0 0 0 07 7 7 7表示表示表示表示.如如如如:0123,011:0123,011:0123,011:0123,011l l十六进制整数:由十六进制整数:由十六进制整数:由十六进制
11、整数:由0 x0 x0 x0 x或或或或0X0X0X0X开头开头开头开头,后跟后跟后跟后跟0 0 0 09,a9,a9,a9,af,Af,Af,Af,AF F F F表示表示表示表示.如如如如0 x123,0Xff 0 x123,0Xff 0 x123,0Xff 0 x123,0Xff 定义整数的符号常量定义整数的符号常量#define NUM1 20 /#define NUM1 20 /十进制数十进制数2020#define NUM2 020 /#define NUM2 020 /八进制数(十进制八进制数(十进制1616)#define NUM3 0 x2a /#define NUM3 0
12、x2a /十六进制数(十进制十六进制数(十进制4242)思考题:下列整型常量哪些是非法的?思考题:下列整型常量哪些是非法的?012012,oX7AoX7A,0000,078078,0 x5Ac0 x5Ac,-0 xFFFF-0 xFFFF,00340034,7B7B。首字符不能首字符不能是字母是字母o o 八进制数中不八进制数中不能有数字能有数字8 8 十进制数中不十进制数中不能有字母能有字母B B 2.整型变量整型变量整型变量的定义整型变量的定义整型变量的定义整型变量的定义int int int int 变量名变量名变量名变量名 ,变量名变量名变量名变量名2 2 2 2,变量名,变量名,变量
13、名,变量名nnnn;intintintint必须小写必须小写必须小写必须小写至少一个空格至少一个空格至少一个空格至少一个空格必须为合法的标识符必须为合法的标识符必须为合法的标识符必须为合法的标识符以逗号以逗号以逗号以逗号,分隔分隔分隔分隔以分号以分号以分号以分号;结尾结尾结尾结尾定义时可以赋初值,方法:在变量名后面增加定义时可以赋初值,方法:在变量名后面增加定义时可以赋初值,方法:在变量名后面增加定义时可以赋初值,方法:在变量名后面增加“=数值数值数值数值”例:例:int a;int x,y,z;int m=2,y=-3;整型变量的分类整型变量的分类整型变量的分类整型变量的分类 基本整型:基本
14、整型:基本整型:基本整型:intintintint 控制变量是否有符号:控制变量是否有符号:控制变量是否有符号:控制变量是否有符号:signedsignedsignedsigned(有符号)和(有符号)和(有符号)和(有符号)和unsignedunsignedunsignedunsigned(无符号)(无符号)(无符号)(无符号)控制整型变量的值域范围控制整型变量的值域范围控制整型变量的值域范围控制整型变量的值域范围 :shortshortshortshort(短)和(短)和(短)和(短)和longlonglonglong(长)。(长)。(长)。(长)。有符号基本有符号基本有符号基本有符号基本
15、整整整整型(型(型(型(intintintint 或或或或 signed signed signed signed intintintint):最高位为符号位,其它的为数据位最高位为符号位,其它的为数据位最高位为符号位,其它的为数据位最高位为符号位,其它的为数据位 无无无无符号基本型(符号基本型(符号基本型(符号基本型(unsingedunsingedunsingedunsinged 或或或或 unsingedunsingedunsingedunsinged intintintint):都是数据位都是数据位都是数据位都是数据位不管是由符号还是无符号,整型不管是由符号还是无符号,整型不管是由符号
16、还是无符号,整型不管是由符号还是无符号,整型占一个机器字大小的内存单元。占一个机器字大小的内存单元。占一个机器字大小的内存单元。占一个机器字大小的内存单元。TCTC或或或或BC3.1BC3.1下下下下,整型整型整型整型变量占变量占变量占变量占2 2个字节(个字节(个字节(个字节(1616位)的内存单元位)的内存单元位)的内存单元位)的内存单元,所以对于有符号基本整型,其表示,所以对于有符号基本整型,其表示,所以对于有符号基本整型,其表示,所以对于有符号基本整型,其表示范围为(范围为(范围为(范围为(-2-21515221515-1-1),对于无符号基本整型,其表示范围为(对于无符号基本整型,其
17、表示范围为(对于无符号基本整型,其表示范围为(对于无符号基本整型,其表示范围为(02021616-1-1);VC6.0VC6.0下,变量占下,变量占下,变量占下,变量占4 4个字节(个字节(个字节(个字节(3232位)的内存单元。位)的内存单元。位)的内存单元。位)的内存单元。如果定义变量时,不指定如果定义变量时,不指定如果定义变量时,不指定如果定义变量时,不指定signedsignedsignedsigned,也不指定,也不指定,也不指定,也不指定unsignedunsignedunsignedunsigned,则默认为,则默认为,则默认为,则默认为signedsignedsignedsig
18、ned(有符号)(有符号)(有符号)(有符号)int a=2;int a=2;unsigned unsigned intint b b=2;=2;在内存中存储的形式为:在内存中存储的形式为:在内存中存储的形式为:在内存中存储的形式为:int a=-2;int a=-2;/定义一个无符号整型变量定义一个无符号整型变量定义一个无符号整型变量定义一个无符号整型变量a a a a,并赋初值,并赋初值,并赋初值,并赋初值-2-2-2-2 unsigned unsigned b b=-2;=-2;在内存中的存储形式为:在内存中的存储形式为:在内存中的存储形式为:在内存中的存储形式为:00000000000
19、000101111111111111110 对于对于对于对于a a而言,它的最高位是符号位,所以计算机在使用而言,它的最高位是符号位,所以计算机在使用而言,它的最高位是符号位,所以计算机在使用而言,它的最高位是符号位,所以计算机在使用a a时,先对时,先对时,先对时,先对a a的最高位的最高位的最高位的最高位进行判断,若最高位为进行判断,若最高位为进行判断,若最高位为进行判断,若最高位为1 1,表明该数为负数,计算机会对后面的,表明该数为负数,计算机会对后面的,表明该数为负数,计算机会对后面的,表明该数为负数,计算机会对后面的1515位进行取反位进行取反位进行取反位进行取反加加加加1 1操作,
20、得到操作,得到操作,得到操作,得到a a的绝对值;对于的绝对值;对于的绝对值;对于的绝对值;对于b b而言,它的而言,它的而言,它的而言,它的1616位均为数据位,所以位均为数据位,所以位均为数据位,所以位均为数据位,所以b b的值其的值其的值其的值其实等于实等于实等于实等于6553465534。结论结论:对于有符号数也好还是无符号数也好,其实在计算机内存中表示是不对于有符号数也好还是无符号数也好,其实在计算机内存中表示是不加区分的,都是以其补码形式表示,只是我们怎样看待最高二进制位的问题,如加区分的,都是以其补码形式表示,只是我们怎样看待最高二进制位的问题,如果把最高位当成符号位看待,则为有
21、符号数,如果把最高位当成数据位看待,则果把最高位当成符号位看待,则为有符号数,如果把最高位当成数据位看待,则变为无符号数。变为无符号数。有符号短整型(有符号短整型(有符号短整型(有符号短整型(short intshort intshort intshort int或或或或shortshortshortshort)short int a=2;short int a=2;/定义一个有符号短整型变量定义一个有符号短整型变量定义一个有符号短整型变量定义一个有符号短整型变量a a a a,并赋初值,并赋初值,并赋初值,并赋初值2 2 2 2 或或或或 short a=2;short a=2;占用的内存单
22、元为占用的内存单元为占用的内存单元为占用的内存单元为2 2 2 2个字节,无论是个字节,无论是个字节,无论是个字节,无论是TCTCTCTC、BCBCBCBC,还是,还是,还是,还是VCVCVCVC。无符号短整型(无符号短整型(无符号短整型(无符号短整型(unsigned short intunsigned short intunsigned short intunsigned short int或或或或unsigned shortunsigned shortunsigned shortunsigned short)unsigned short int a=2;unsigned short in
23、t a=2;/定义一个无符号短整型变量定义一个无符号短整型变量定义一个无符号短整型变量定义一个无符号短整型变量a a a a,并赋初值,并赋初值,并赋初值,并赋初值2 2 2 2 或或或或 unsigned short a=2;unsigned short a=2;占用的内存单元字节数同占用的内存单元字节数同占用的内存单元字节数同占用的内存单元字节数同shortshortshortshort类型。类型。类型。类型。在在在在TC2.0TC2.0TC2.0TC2.0和和和和BC3.1BC3.1BC3.1BC3.1下,下,下,下,unsigned shortunsigned shortunsigne
24、d shortunsigned short类型与类型与类型与类型与unsigned intunsigned intunsigned intunsigned int类型是等价的类型是等价的类型是等价的类型是等价的。有符号长整型(有符号长整型(有符号长整型(有符号长整型(long intlong intlong intlong int或或或或longlonglonglong)long int a=234567;long int a=234567;/定义一个有符号长整型变量定义一个有符号长整型变量定义一个有符号长整型变量定义一个有符号长整型变量a a a a,并赋初值,并赋初值,并赋初值,并赋初值2
25、34567234567234567234567 或或或或 long a=234567;long a=234567;占用的内存单元为占用的内存单元为占用的内存单元为占用的内存单元为4 4 4 4个字节,无论是个字节,无论是个字节,无论是个字节,无论是TCTCTCTC、BCBCBCBC,还是,还是,还是,还是VCVCVCVC。无符号长整型(无符号长整型(无符号长整型(无符号长整型(unsigned long intunsigned long intunsigned long intunsigned long int或或或或unsigned longunsigned longunsigned lon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第二
限制150内