第3章数据类型(新)



《第3章数据类型(新)》由会员分享,可在线阅读,更多相关《第3章数据类型(新)(42页珍藏版)》请在文档大全上搜索。
1、第三章l 本章要点本章要点l 主要内容主要内容3.1 C3.1 C的数据类型的数据类型3.2 3.2 常量与变量常量与变量3.3 3.3 整型数据整型数据3.4 3.4 浮点型数据浮点型数据3.5 3.5 字符型数据字符型数据 3. 3.变量赋初值变量赋初值 3.7 3.7 各类数值型数据间的混合运算各类数值型数据间的混合运算 3.8 3.8 算术运算符和算术表达式算术运算符和算术表达式 3.9 3.9 赋值运算符和赋值表达式赋值运算符和赋值表达式 3.10 3.10 逗号运算符和逗号表达式逗号运算符和逗号表达式 3.1 C的数据类型的数据类型数据?数据?数据类型?数据类型?常量与变量?常量与
2、变量?字符型字符型-char实实 型型单精度型单精度型-float双精度型双精度型-double整型整型-int数数据据类类型型数数据据常量常量 : Constants 变量变量: Variable 3.2 常量与变量常量与变量3.2.1 常量和符号常量常量和符号常量在程序运行过程中在程序运行过程中, ,其值不能被改变的量称为常量其值不能被改变的量称为常量整型整型 100100,125125,-100-100,0 0实型实型 3.14 3.14 , 0.1250.125,-3.789-3.789字符型字符型 a, ba, b,22字符串字符串 a, aba, ab,12321232常量常量例3
3、.1 符号常量的使用#include #include #define PRICE 30#define PRICE 30void main ( )void main ( ) int num, total;int num, total; num = 10;num = 10; total = num total = num * * PRICE; PRICE; printf(total=%dn,totalprintf(total=%dn,total);); 用一个标识符代表一个常量。符号常量的值在其作用域内不能改变,也不能再被赋值。 运行结果:运行结果: total=300total=300 程序中
4、用#define命令行定义PRICE代表常量30,此后凡在本文件中出现的PRICE都代表30,可以和常量一样进行运算如再用赋值语句给PRICE赋值是错的 PRICE=40;/* 错误,不能给符号常量赋值都是常量都是常量 3.2 常量与变量常量与变量3.2.2变量变量运行中,其值允许改变。运行中,其值允许改变。用类型用类型标识符标识符定义的。定义的。是临时存放数据的是临时存放数据的空间空间。分类:分类:整型、实型、字符型整型、实型、字符型定义变量的方法:定义变量的方法:数据类型数据类型 变量名列表变量名列表; ;intint age; age;floatfloat radius, area; r
5、adius, area; double double distance, speed distance, speed,score;score; 数据类型关键字数据类型关键字变量名,用户自定义标识符变量名,用户自定义标识符组成:组成: 下划线下划线 字母字母 数字数字 _ a-z,A-Z 0-9 标识符:标识符:描写变量描写变量/常量名字符序列,即名字常量名字符序列,即名字变量命名注意事项:变量命名注意事项: 不能用关键字;不能用关键字;intint forfor C C中大小写敏感;中大小写敏感; 尽可能做到见文知义尽可能做到见文知义; ;age, scoreage, scoreSum/sum
6、/SUM-3Sum/sum/SUM-3个不同个不同 数字不能作首字符;数字不能作首字符; 2a2a非法非法main( ) int a, b; a=5; b=6; int sum; sum=a+b; printf(“%dn” , sum); 下面程序是否正确?下面程序是否正确?变量必须先定义后使用变量名要简单明了、见名知意变量名要简单明了、见名知意 定义变量定义变量 int a; 制造容器制造容器 a 不定值不定值a=5; 5a=6; 6printf(“a=%d”,a); 输出输出 a=6注意:注意:a代表存储单元代表存储单元6是存储单元中的内容是存储单元中的内容 3.3 整型数据整型数据3.3
7、.1整型常量的表示方法整型常量的表示方法 整型常量即整常数。在语言中,整常数可用以下三种整型常量即整常数。在语言中,整常数可用以下三种形式表示:形式表示:(1)(1)十进制整数。十进制整数。 如:如:123, -456.4123, -456.4。(2)(2)八进制整数。八进制整数。以以0 0头的数是八进制数。头的数是八进制数。 如:如:01230123表示八进制数表示八进制数123123,等于十进制数,等于十进制数83,-01183,-011表表示八进制数示八进制数-11,-11,即十进制数即十进制数-9-9。(3)(3)十六进制整数。十六进制整数。以以0 x0 x开头的数是开头的数是1616
8、进制数。进制数。 如:如:0 x1230 x123,代表,代表1616进制数进制数123,123,等于十进制数等于十进制数 291291。 - -0 x120 x12等于十进制数等于十进制数1010。 整数类型的有关数据:3.3.2 整型变量整型变量-只能存放只能存放整型数据整型数据以上为在以上为在Visual C+ 编译环境中数据编译环境中数据所占的空间大小所占的空间大小超出取值范围会怎样? 如果在Visual环境中,定义了一个int型数据,但把一个大于2147483647的值赋给它,会如何呢?溢出(Overflow)造成的危害 3.4 浮点型数据浮点型数据3.4.13.4.1浮点型常量的表
9、示方法浮点型常量的表示方法两种表两种表示形式示形式小数小数指数指数0.1230.1233e-33e-3注意注意: :字母字母e(e(或或E)E)之前必须有数字,且之前必须有数字,且e e后面的指数必须为整数后面的指数必须为整数 3.4 浮点型数据浮点型数据3.4.2 浮点型变量浮点型变量 浮点型变量分为单精度(浮点型变量分为单精度(floatfloat型)、双精度型)、双精度(doubledouble型)和长双精度型(型)和长双精度型(long doublelong double)三类)三类形式。形式。#include main()float f; /double f;f = 123.456;
10、if (f = 123.456)printf(f is equal to 123.456 indeed.);elseprintf(In fact, f is equal to %fn, f);以下程序段的运行结果如何?以下程序段的运行结果如何? 3.5 字符型数据字符型数据 3.5.1 字符常量字符常量(1)用单引号包含的一个字符是字符型常量(2)只能包含一个字符a,Aa,A, 1, 1abcabc、“a”a” 3.5 字符型数据字符型数据 有些以有些以“”开头的特殊字符称为转义字符开头的特殊字符称为转义字符字符形式字符形式含义含义ASCII码n换行换行10t水平制表(跳到下一个tab位-8位
11、)9b退一格退一格8r光标移到本行首光标移到本行首13反斜杠字符反斜杠字符92 单撇号单撇号在单引号中再次出现时39 双撇号双撇号-在双引号中再次出现时34例3.5 转义字符的使用#include stdio.h#include void void ()() printfprintf (C:windowssystem (C:windowssysteminfninfn););printfprintf (hello wordn); (hello wordn);printfprintf (char a = An); (char a = An);显示屏上的运行结果:显示屏上的运行结果: C:windo