C基本数据类型课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基本数据类型第二章基本数据类型学习目标了解数据类型的一般概念、各种类型数据在内存中的存放形式。理解常量与变量的概念,掌握常量表示方法与变量定义。熟练掌握运算符及相关运算规则、混合类型表达式的计算。重、难点重点:各种数据类型的概念及其在内存中的存放形式、变量定义及其所占内存空间大小、运算符的优先级和结合性、混合类型表达式的计算。难点:数据在内存的存放形式、混合表达式的计算、自增自减运算。目录12C语言的数据类型常量与变量3整型数据4实型数据56字符型数据运算符和表达式2.1C语言的数据类型在C语言中,数据类型可分为:基本类型,构造类型,指针类型,空类型四大类数据类型空类型(void)指针类型构造类型结构体(struct)枚举(enum)联合体(union)数组(array)整型(int)基本类型字符型(char)双精度型(double)单精度型(float)实型2.2常量与变量C语言标识符1、C的标识符、关键字、语句和标准库函数等都是由C规定的基本字符组成,只有基本字符集中的字符才可出现在C语言源程序中。2、C语言的基本字符集,采用的是ASCII字符集。3、在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余可由用户自定义。C规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线“_”组成的字符串,且第一个字符必须是字母或下划线。2.2常量与变量C语言标识符如以下皆为合法的标识符:zz,x1,_5y,temp1,mum8而以下皆为非法的标识符:6s(错误原因:以数字开头)x*T(错误原因:出现非法字符“*”)-6x(错误原因:以减号开头zhue-1(错误原因:出现非法字符“-”)2.2常量与变量关键字关键字是C语言规定的具有特定意义的字符串,通常也称保留字。用户定义的标识符应与关键字不同。C中的关键字可分为:类型说明符用于定义、说明变量、函数或数据结构的类型。语句定义符语句定义符用于表明一个语句的功能。2.2常量与变量C语言常见关键字2.2常量与变量用户标识符用户根据需要定义的标识符称为用户标识符。一般用来给变量、函数、数组或文件等命名。但不能和关键字相同。用户标识符还应注意:1、标准C不限制标识符的长度,但它受各种版本C语言编译系统限制,同时也受具体机器的限制。2、C语言中,字母大小写有区别。例如BOOK和book是两个不同的标识符。3、因标识符是用于标识某个量的符号,故对其命名应尽量有意义,作到“顾名思义”,以提高程序的可读性。4、一般约定:变量名、函数名用小写,而符号常量用大写来标识。2.2常量与变量常量程序运行过程中其值不能改变的量称为常量。C语言中,常量可分为:整型常量(int)、实型常量(float)、字符常量(char))等多种。整型常量和实型常量也称数值型常量,有正负之分。C语言中,也可用一个标识符来表示一个常量,称为符号常量。符号常量在使用前必须先定义,定义符号常量的一般形式为:#define标识符常量2.2常量与变量#define指令:预处理命令名称一般大写,以便和其他标识符区别宏定义必须放在主函数之前,一行定义一个变量,不用分号结尾一旦定义,可以代替常量使用可理解为对常量进行命名目的与意义增强程序可读性,使用有意义的名字命名增强程序的可维护性,将值定义为符号常量,则程序中仅需要修改一次#includestdio.h#definePI3.14intmain(){floatr,area;r=3.0;area=PI*r*r;printf(“%f”,area);return0;}2.2常量与变量变量的定义:在程序执行过程中,其值改变的量。系统为每个变量分配合适的存储空间,以存放其值保存待处理的数据,中间与最终运算结果变量定义的一般格式是:类型名变量名变量可分成整型变量、字符型变量、实型变量等。不同类型变量,系统进行编译时会为其分配不同大小的存储空间。变量的四个基本特征:值(value),地址(address),名称(name),类型(type)。2.3整型数据基本数据类型的长度(位数)和取值范围与计算机和C编译器有关十进制表示以数字1~9开头的0~9序列,如9、–876、55十六进制表示以“0x”或“0X”开头的0~9、A/a~F/f序列,如0x55、0x1F、0x2a0x5516=8510八进制表示以0开头的0~7序列,如055055=45,注意不要与十进制混淆!整数有正负数之分2.3整型数据C语言中,长整型数用后缀“L”或“l”表示。例如:325L(十进制形式为325)、045L(十进制形式为37)、0X18L(十进制形式为24)。无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如:453U、0x67Au、872Lu均为无符号数。前缀,后缀可同时使用以表示各种类型的数。例如:0XB5Lu表示十六进制无符号长整数B5(十进制形式为181)。无符号常量不能表示成负数。例如:-369u是不合法的。2.3整型数据整型数据在内存中的表示内存中每8个二进制位称为一个字节,每种数据类型都占用一定的存储空间。如:整数占4字节,可以用32位二进制来表示。整数变量不考虑负数,称为无符号数,整数变量考虑负数,称为有符号数。无符号的范围表示:1字节可以表示无符号整数的范围。0~28-1,即0~255。2字节可以表示无符号整数的范围。0~216-1,即0~65535。2.3整型数据整型数据在内存中的表示真值与机器数符号数的表示符号数的范围表示:1字节可以表示无符号整数的范围。-27~27-1,即-128~127。2字节可以表示无符号整数的范围。-216~216-1。原码、反码和补码C中符号数用补码存放2.3整型数据基本型:类型说明符为int,在内存中占4个字节,取值为基本整常数。短整型:类型说明符为shortint或short,在内存中占2个字节。取值为短整常数。长整型:类型说明符为longint或long,在内存中占4个字节,取值为长整常数。无符号型:类型说明符为unsigned。无符号型可与上述三种类型结合而构成:无符号基本型类型说明符为unsignedint或unsigned。无符号短整型类型说明符为unsignedshort。无符号长整型类型说明符为unsignedlong各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。2.3整型数据类型标识符字节数范围[signed]int4-2147483648~214748364即-231~(231-1)[signed]short[int]2-32768~32767即-215~(215-1)[signed]long[int]4-2147483648~2147483647即-231~(231-1)unsigned[int]40~4294967295即0~(232-1)unsignedshort[int]20~65535即0~(216-1)unsignedlong[int]40~4294967295即0~(232-1)2.3整型数据变量的定义和初始化:在定义变量时设定初始值,一般格式:类型说明符变量名=表达式,变量名=表达式#includestdio.hmain(){inta=1,b=2,c;longx=29,y=2147483600;c=a;a=10;/*将变量a的值赋给变量c,给变量a重新赋值为10*/printf(\na+b=%d,x+y=%ld,c=%d\n,a+b,x+y,c);}程序的运行结果为:a+b=12,x+y=2147483629,c=12.3整型数据#includestdio.h//例2.3main(){shortd=-1;printf(%hd,%hu\n,d,d);}程序的运行结果为:-1,65535#includestdio.h//2.4main(){inti=65535shortj=i;printf(%i=d,j=%d\n,i,j);}程序的运行结果为:i=65535,j=-12.4实数数据实数型常量:实型也称浮点型,实型常量也称实数或浮点数。C语言中,实数只采用十进制,有小数形式和指数形式二种。一般形式:小数表示法由整数部分、小数点与小数部分组成例:3.1416、.0666、–2.71828、888.指数形式:科学计数法由尾数部分、字符‘E’/‘e’与指数部分组成例:3.14e3=3.14103、–2.7E–2=–2.710–2、0.55e52.4实数数据实型变量:分为单精度(float型)、双精度(double型)。一般系统中,一个float型数据在内存中占4个字节,一个double型数据占8个字节。单精度实数提供7~8位有效数字,双精度实数提供15~16位有效数字,数值的范围随机器系统而异。2.4实数数据分析以下程序的运行结果。#includestdio.hmain(){floatx=101235342.98345678;doubley=422222222345.11223344556677889900;printf(x=%f,y=%lf\n,x,y);}程序的运行结果为:x=101235344.000000,y=422222222345.1122402.5字符型数据字符型数据的表示:字符在计算机内存中是以ASCI码的形式来存储ASCII码表。2.5字符型数据字符型常量以单引号括起来的单一字符,计算机中占一个字节,如‘A’、‘c’单引号是定界符不是字符常量一部分字符常量按照其在字符集(一般为ASCII)中的编码值存储并参与运算反斜杠字符常量用来表示控制字符(如回车等)和用于功能定义的字符(如单引号,双引号,反斜杠等)以‘\’开头,后跟字符或数字,用于表示一个特定含义的字符,例如‘\n’表示换行字符,称为转义字符序列常与普通字符混杂于某个字符串中2.5字符型数据常用反斜杠字符常量2.5字符型数据分析以下程序的运行结果。main(){intx=19,y=2012;printf(y=%d\rx=%d\n,y,x);printf(%c%c%c\b%.1f\n,'C','+','+',6.0);}程序运行的结果为:x=1912C+6.02.5字符型数据字符变量字符变量的取值是字符常量,即单个字符。字符变量的类型说明符是char。字符值是以ASCII码的形式存放在变量的内存单元之中的。C语言允许对整型变量赋字符型值,也允许对字符变量赋以整型值。输出时,可把字符变量以整型量形式输出,也可把整型量以字符形式输出。但整型量为4字节量,字符量为单字节量,故当把整型量按字符型量处理时,只有低八位字节参与处理。2.5字符型数据分析以下程序的运行结果#includestdio.hmain(){chara=66;intb='A';printf(a=%d(%c),b=%d(%c),a+3=%c,b*10=%d\n,a,a,b,b,a+3,b*10);}程序的运行结果为:a=66(B),b=65(A),a+3=E,b*10=6502.5字符型数据以下程序实现大小写字母转换。#includestdio.hmain(){chara='x',b='Y';/*a,b被说明为字符变量并赋予字符值*/a=a-32;/*把小写字母换成大写字母*/b=b+32;printf(%c,%c\n,a,b);}程序的运行结果为:X,y2.5字符型数据输入整数5,输出字符5。#includestdio.hmain(){charc;scanf(%c”,&c);c=c+48;printf(%d,,c);printf(%c\n,c);}//输入5程序的运行结果为:53,52.5字符型数据字符串常量字符串:以双引号括起来的一串字符例:“Tsinghua”、“ProgramminginC”字符串的长度:其中的字符数目长度n,占用n+1字节,最后一个字节存储NULL字符‘\0’例:“Tsinghua”占用9个字节2.5字符型数据字符串常量#includestdio.h

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功