C2数据类型new.ppt
《C2数据类型new.ppt》由会员分享,可在线阅读,更多相关《C2数据类型new.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计计算机程序设计计算机程序设计2中北大学计算机系基础教研室中北大学计算机系基础教研室第二章第二章数据类型和表达式数据类型和表达式3中北大学计算机系基础教研室中北大学计算机系基础教研室程序程序程序程序=数据结构数据结构+算法算法 void main()void main()void main()void main()数据描述部分;数据描述部分;数据描述部分;数据描述部分;算法描述部分;算法描述部分;算法描述部分;算法描述部分;4中北大学计算机系基础教研室中北大学计算机系基础教研室2 数据类型与表达式数据类型与表达式数据是程序中必不可少的重要组成部分。数据是程序中必不可少的
2、重要组成部分。C C语言提供了丰富的数据类型,以便能准确地描语言提供了丰富的数据类型,以便能准确地描述现实世界中的各种问题。述现实世界中的各种问题。为了能方便有效地对数据进行加工处理,为了能方便有效地对数据进行加工处理,C C语言语言提供了相当丰富的运算符与表达式。提供了相当丰富的运算符与表达式。本章我们主要介绍本章我们主要介绍C C语言的基本元素语言的基本元素:数据和数据数据和数据类型、运算符和表达式。类型、运算符和表达式。5中北大学计算机系基础教研室中北大学计算机系基础教研室2 数据类型与表达式数据类型与表达式2-1 C语言的数据类型语言的数据类型2-2 常量和变量常量和变量2-3 运算符
3、与表达式运算符与表达式2-4 类型转换类型转换6中北大学计算机系基础教研室中北大学计算机系基础教研室2-1 C语言的数据类型语言的数据类型uC语言中,程序所能处理的数据被分成若语言中,程序所能处理的数据被分成若干种类型。干种类型。数据类型不同,它所占用的存数据类型不同,它所占用的存储空间、所能表示的数据范围、精度、以储空间、所能表示的数据范围、精度、以及所能进行的运算均不相同及所能进行的运算均不相同。uC语言的数据类型十分丰富,如图所示:语言的数据类型十分丰富,如图所示:7中北大学计算机系基础教研室中北大学计算机系基础教研室整型整型实型实型字符型字符型 char短整型短整型 short整型整型
4、 int长整型长整型 long单精度单精度 float双精度双精度 double数组数组结构体结构体 struct共用体共用体 union枚举类型枚举类型 enum基本类型基本类型构造类型构造类型指针指针空类型空类型 voidC数据类型数据类型数据类型决定:数据类型决定:数据类型决定:数据类型决定:1.1.数据占内存字节数数据占内存字节数数据占内存字节数数据占内存字节数2.2.数据取值范围数据取值范围数据取值范围数据取值范围3.3.其上可进行的操作其上可进行的操作其上可进行的操作其上可进行的操作无符号短整型无符号短整型 unsigned short无符号整型无符号整型 unsigned int
5、无符号长整型无符号长整型 unsigned long8中北大学计算机系基础教研室中北大学计算机系基础教研室类型类型 符号符号关键字关键字数的表示范围数的表示范围所占位数所占位数整整型型字字符符型型实实型型有有无无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有有float323.4e-383.4e38(67)有有double641.7e-
6、3081.7e308(1516)有有char8-128127无无unsigned char80255数据是组成程序的必要元素,根据数据在程序中值的变化数据是组成程序的必要元素,根据数据在程序中值的变化与否,数据在与否,数据在C C语言程序以语言程序以常量和变量常量和变量两种形式表示。两种形式表示。9中北大学计算机系基础教研室中北大学计算机系基础教研室2-2 常量和变量常量和变量数据是组成程序数据是组成程序的必要元素,根的必要元素,根据数据在程序中据数据在程序中值的变化与否,值的变化与否,数据在数据在C C语言程序语言程序以以常量和变量常量和变量两两种形式表示。种形式表示。#define PRI
7、CE 30#include“stdio.h”void main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);10中北大学计算机系基础教研室中北大学计算机系基础教研室1 常量常量整型常量整型常量浮点型常量浮点型常量单字符常量单字符常量字符串常量字符串常量符号常量符号常量常量常量:在整个程序的执行过程中值不能被改变的量。:在整个程序的执行过程中值不能被改变的量。常量一般从其字面表示形式可以判别,称为常量一般从其字面表示形式可以判别,称为直接常量直接常量。C C语言中使用的常量可以有不同的数据类型。语言中使用的常量可以有不
8、同的数据类型。11中北大学计算机系基础教研室中北大学计算机系基础教研室整型常量整型常量数据类型为整型的常量即为整型常量,又数据类型为整型的常量即为整型常量,又称整常数。称整常数。常量默认的类型是常量默认的类型是 int or long int常量有八进制、十六进制和十进制三种。常量有八进制、十六进制和十进制三种。其中八进制、十六进制用于表示整型常量其中八进制、十六进制用于表示整型常量的的机器码机器码;十进制表示外部数据,其值表;十进制表示外部数据,其值表示的是示的是真值真值。12中北大学计算机系基础教研室中北大学计算机系基础教研室十进制表示十进制表示:+、-、0 9,除表示整数,除表示整数0外
9、,不外,不能以能以0开头。例开头。例:345、51684、0、-23456 八进制表示八进制表示:以数字:以数字0开头的八进制数字序列。开头的八进制数字序列。+、-、0 7n例例:045、-078、06745、019、423 n八进制数用于表示某整型常量的八进制数用于表示某整型常量的机器码机器码,按照存按照存储判别真值的正负。储判别真值的正负。例例:0123、0177777 n八进制前的符号,表示对其所代表的真值取反八进制前的符号,表示对其所代表的真值取反 如如-0123,0123代表的真值为代表的真值为83,-0123代表的常代表的常量则为量则为-83 13中北大学计算机系基础教研室中北大学
10、计算机系基础教研室十六进制表示十六进制表示:以:以0X或或0 x开头的十六进制数字序列。开头的十六进制数字序列。+、-、0 9,A F或或 a fn例例:0 x10、0X25、0 xd4f、0X6A7、0A、12、0 x2p n十六进制数用于表示某整型常量的十六进制数用于表示某整型常量的机器码机器码。0 xffff n某数机器前面有符号是对其所代表的真值取反。某数机器前面有符号是对其所代表的真值取反。-0 xfffe (2)整型常数的后缀整型常数的后缀(显示明确常量类型的方式)显示明确常量类型的方式)n L(l)123l 0 xffffln U(u)123u 0177777un LU(lu)1
11、23lu 0 xfffffffflu14中北大学计算机系基础教研室中北大学计算机系基础教研室浮点型常量(实型常量)浮点型常量(实型常量)实型也称为浮点型。实型常量默认的实型也称为浮点型。实型常量默认的类型是类型是double,在在实型常量后加字母实型常量后加字母f或或F,认为它是认为它是float 型型。实数采用十进制方式表示。它有二种实数采用十进制方式表示。它有二种表示形式:表示形式:小数形式小数形式和和指数形式指数形式。15中北大学计算机系基础教研室中北大学计算机系基础教研室小数形式小数形式。由。由+、-、数码数码09和小数点组和小数点组成。成。当某浮点数整数部分或小数部分为零当某浮点数整
12、数部分或小数部分为零时,零可以省略,但小数点不可省略。时,零可以省略,但小数点不可省略。n例:例:4.23、0.15、0.56、78.0、0.0指数形式指数形式。以幂的形式表示,以字母。以幂的形式表示,以字母e或或E后跟一个以后跟一个以10为底的幂数。字母为底的幂数。字母e或或E之前之前必须要有数字,且字母必须要有数字,且字母e或或E后面的指数必后面的指数必须为整数,字母须为整数,字母e或或E的前后及数字之间不的前后及数字之间不得有空格。得有空格。例例 2.3e5、500e-2、4.5e0 e4、.5e3.6、.e5、e 0.15.15 0.56.56 78.0 78.0.0 0.0.0 .0
13、 0.0 .()2.3e5 2.3 105 500e-2 500 10-2 16中北大学计算机系基础教研室中北大学计算机系基础教研室单字符常量单字符常量定义定义:用用单引号单引号括起来的单个括起来的单个字符字符。字符常量的字符常量的值值:该字符的对应的:该字符的对应的ASCII码码值。值。如如 a A?n 101如如 A A6565,a a9797,0 048,48,nn1010字符常量字符常量表示形式表示形式:直接形式直接形式 八进制形式八进制形式十六进制形式十六进制形式 转义字符转义字符 17中北大学计算机系基础教研室中北大学计算机系基础教研室(1)直接形式)直接形式:单引号内直接书写字符
14、。单引号内直接书写字符。例如:例如:a、b、=、+、?直接形式只能表示直接形式只能表示ASCII字符表中可输入的字符。字符表中可输入的字符。(2)八进制形式)八进制形式:格式为格式为ddd,其中,其中“ddd”表示表示13位八进制数,其值代表的是某字符的位八进制数,其值代表的是某字符的ASCII值。值。“”是转义字符。是转义字符。例如:例如:101(等于(等于A)007,7,07(响铃控制字符)(响铃控制字符)343(表示(表示ASCII值为值为227的字符的字符)八进制形式可表示所有的字符。八进制形式可表示所有的字符。18中北大学计算机系基础教研室中北大学计算机系基础教研室(3)十六进制形式
15、)十六进制形式:格式为格式为xhh,其中,其中“hh”表示表示一到两位十六进制数,其值代表的是某字符的一到两位十六进制数,其值代表的是某字符的ASCII值。值。“”是转义字符,是转义字符,“x”是十六进制前是十六进制前缀。缀。例如:例如:x41(等于(等于A)x07(响铃控制字符)(响铃控制字符)xe3(表示(表示ASCII值为值为227的字符的字符)十六进制形式可以表示所有的字符。十六进制形式可以表示所有的字符。A-101-x41-6519中北大学计算机系基础教研室中北大学计算机系基础教研室(4)转义字符)转义字符:转义字符是一种特殊的字符常量。转义字符转义字符是一种特殊的字符常量。转义字符
16、以以反斜线反斜线“”开头,后跟一个或几个字符。开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符具有特定的含义,不同于字符原有的意义,故称“转义转义”字符。如:字符。如:n中的中的n不代表字母不代表字母n,表示的是换行,表示的是换行。常常见的转义字符见下表:见的转义字符见下表:转义字符及其含义:转义字符及其含义:转义字符转义字符含义含义nvradddtbfxhh转义字符转义字符含义含义换行换行垂直制表垂直制表回车回车响铃响铃单引号单引号3位位8进制数代表的字符进制数代表的字符水平制表水平制表退格退格换页换页反斜线反斜线双引号双引号2位位16进制数代表的字符进制
17、数代表的字符20中北大学计算机系基础教研室中北大学计算机系基础教研室以下是否是合法的单字符吗?12、789、483、xfx、d、g101、012、376、x61、60 101 -A 012 -n 376 -x61 -a 60 -0 21中北大学计算机系基础教研室中北大学计算机系基础教研室例例 转义字符举例转义字符举例#include stdio.hvoid main()printf(101 x42 Cn);printf(I say:How are you?n);printf(C Programn);printf(Turbo C);运行结果:运行结果:(屏幕显示屏幕显示)A B CI say:H
18、ow are you?C ProgramTurbo C例例#include stdio.h void main()printf(343Yb=n);运行结果:运行结果:屏幕显示:屏幕显示:=打印机输出:打印机输出:22中北大学计算机系基础教研室中北大学计算机系基础教研室字符串常量字符串常量定义定义:双引号括起的字符序列,可以没有字符,双引号括起的字符序列,可以没有字符,也可以只有一个字符。也可以只有一个字符。存储存储:每个字符串尾每个字符串尾自动自动加一个加一个 0 作为字作为字符串结束标志符串结束标志。字符常量与字符串常量不同字符常量与字符串常量不同字符串常量的长度字符串常量的长度:字符串有效
19、字符的个数是字符串有效字符的个数是第一个第一个“0”前字符的个数的总和,有效字符的前字符的个数的总和,有效字符的个数也称为字符串长度。个数也称为字符串长度。h e l l o 0例例:字符串字符串“hello”在内存中在内存中a a 0例例 a“a”computer 长度为长度为8。n 长度为长度为1。abcn3450china 长度为长度为5abcn3480china 长度为长度为6 长度为长度为3 长度为长度为023中北大学计算机系基础教研室中北大学计算机系基础教研室符号常量符号常量可以用一个标识符来可以用一个标识符来(习惯大写)表示一个习惯大写)表示一个常量,称之为常量,称之为符号常量。
20、符号常量。定义方式:使用定义方式:使用define预处理命令,称为预处理命令,称为宏定义宏定义#define 标识符标识符 常量常量 使用符号常量的好处是:使用符号常量的好处是:(1)符号常量含义清楚,便于程序阅读和理解符号常量含义清楚,便于程序阅读和理解(2)符号常量修改容易,便于程序的维护符号常量修改容易,便于程序的维护例例 符号常量举例符号常量举例#define PRICE 30#include stdio.hvoid main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);24中北大学计算机系基础教研室中北大学
21、计算机系基础教研室2 变量变量在程序运行过程中,其值可以改变的量称为在程序运行过程中,其值可以改变的量称为变量变量。变量名:变量名:每个变量都应有一个名字作为标识。每个变量都应有一个名字作为标识。n变量名是合法的标识符,习惯小写。变量名是合法的标识符,习惯小写。n变量名,可以表示在内存中的地址。变量名,可以表示在内存中的地址。变量的地址:变量的地址:&变量名变量名 一个变量有且只有一种一个变量有且只有一种类型类型,决定了变量存储,决定了变量存储所占的字节数及其存储类型。所占的字节数及其存储类型。变量在使用前必须有一个确定的变量在使用前必须有一个确定的值值。变量的三要素变量的三要素25中北大学计
22、算机系基础教研室中北大学计算机系基础教研室变量的定义变量的定义格式:格式:类型说明符类型说明符类型说明符类型说明符 变量变量变量变量1,1,变量变量变量变量2,2,变量变量变量变量nn;功能:功能:n功能是将变量表列中的变量定义为类型说明符确定的数功能是将变量表列中的变量定义为类型说明符确定的数据类型。据类型。n 是可选项。是可选项。注意:注意:n变量定义应该位于函数体的数据描述部分。变量定义应该位于函数体的数据描述部分。n“类型说明符类型说明符”和和“变量表列变量表列”应有空格作为分隔符。应有空格作为分隔符。inta;n变量名之间用逗号分割,变量定义的结束符是分号。变量名之间用逗号分割,变量
23、定义的结束符是分号。n所有变量必须所有变量必须“先定义,后使用先定义,后使用”。例例:int a,b,c;float data;double y;char letter;错误的定义:错误的定义:int m int u v w int a,b;float a;(假定在一个程序中)(假定在一个程序中)longint a;int unsigned a;26中北大学计算机系基础教研室中北大学计算机系基础教研室 类型类型 符号符号关键字关键字数的表示范围数的表示范围所占位数所占位数整型实型字符型有有无无signed intsigned shortsigned longunsigned intunsign
24、ed shortunsigned longfloatdouble char有16163216163232648-21474936482147493648-3276832767-32768327671.7e-3081.7e308065535065535042949672953.4e-383.4e38-128127变量的类型变量的类型例例:int a,b,c;float data;double y;char letter;unsigned int m,n;有unsigned char8025527中北大学计算机系基础教研室中北大学计算机系基础教研室变量的存储单元和地址变量的存储单元和地址int a
25、,b;a=3;b=a+2;E002HE002HE000HE000HabE000HE002Hab&a&b变量所占存储单元的首地址成为变量所占存储单元的首地址成为变量的地址变量的地址记为记为&变量名变量名 28中北大学计算机系基础教研室中北大学计算机系基础教研室变量的初始化变量的初始化变量在使用前应该有确定的值。变量在使用前应该有确定的值。在对定义变量的同时,给变量赋以初值,在对定义变量的同时,给变量赋以初值,称为称为初始化初始化。一般形式为:一般形式为:类型说明符类型说明符 变量变量1=1=值值1,1,变量变量2=2=值值2,;2,;#include“stdio.h”void main()int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C2 数据类型 new
限制150内