C语言程序设计_谭浩强_第二版_CH03

上传人:飞*** 文档编号:33925539 上传时间:2018-02-19 格式:PPT 页数:35 大小:619KB
返回 下载 相关 举报
C语言程序设计_谭浩强_第二版_CH03_第1页
第1页 / 共35页
C语言程序设计_谭浩强_第二版_CH03_第2页
第2页 / 共35页
C语言程序设计_谭浩强_第二版_CH03_第3页
第3页 / 共35页
C语言程序设计_谭浩强_第二版_CH03_第4页
第4页 / 共35页
C语言程序设计_谭浩强_第二版_CH03_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《C语言程序设计_谭浩强_第二版_CH03》由会员分享,可在线阅读,更多相关《C语言程序设计_谭浩强_第二版_CH03(35页珍藏版)》请在金锄头文库上搜索。

1、C程序设计,主讲人:兰强,第三章 数据类型、运算符与表达式,第三章 数据类型、运算符与表达式,主要内容:数据类型元算符表达式,第三章 数据类型、运算符与表达式,3.1的数据类型(Data Type)概念:A data type is a set of values and a set of operations on those values.,第三章 数据类型、运算符与表达式,3.2常量与变量3.2.1常量与符号常量常量定义:在程序运行过程中,其值不能被改变的量成为常量。3,-12,0,99(整型常量)5.3,-7.82(实型变量)M, P(字符常量)符号常量(通常采用宏定义)#define

2、 PRICE 30优点: (1)含义清楚;(2)“一改全改”,第三章 数据类型、运算符与表达式,3.2常量与变量3.2.1常量与符号常量例如:#define PRICE 30main()int num,total;num=10;total=num*PRICE;printf(“total=%d”,total);,第三章 数据类型、运算符与表达式,3.2常量与变量3.2.2变量定义:在程序运行过程中,其值可以改变的量称为变量。 用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为标识符(Identifier),标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字

3、母或下划线。例如:正确:_str, student, Weight, W_person, WINDOWS, day, Go, XyZpO, KFC,错误:M.D.John, ¥123, #_price, 3_name,第三章 数据类型、运算符与表达式,3.2常量与变量3.2.2变量变量的使用原则:先定义,后使用。变量的长度定义:Borland Turbo C 32字节Microsoft Visual C+ 6.0 2047字节,第三章 数据类型、运算符与表达式,3.3整型数据3.3.1整型常量的表示方法(1)十进制整数;123,-456,0(2)八进制整数;0123表示(123)8(3)十六进

4、制整数。0x123,(123)163.3.2整型变量数据在内存中是以二进制的形式存放的。数值是以该数的补码(complement)表示的。正数的补码和其原码的形式相同。负数的补码是将该数的绝对值的二进制形式,按位取反再加1。,第三章 数据类型、运算符与表达式,3.3整型数据例如:正整数:10 补码负整数:-10 10的原码 取反 补码,第三章 数据类型、运算符与表达式,3.3整型数据,第三章 数据类型、运算符与表达式,3.3整型数据ANSI标准定义的整型数据类型,第三章 数据类型、运算符与表达式,3.3整型数据3整型变量的定义 C规定在程序中所有用到的变量都必须在程序中定义,即“强制类型定义”

5、。例如:main()int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d, b+u=%dn”,c,d);,第三章 数据类型、运算符与表达式,3.3整型数据4整型数据的溢出例3.3:Main()int a,b;a=32767;b=a+1;printf(“%d,%d”,a,b);运行结果:32767,-32768,第三章 数据类型、运算符与表达式,3.4实型数据3.4.1实型常量的表示方法(1)十进制小数表示;123.123(2)指数形式。123E123E或e后面的指数必须为整数。123E123.123,第三章 数据类型

6、、运算符与表达式,3.4实型数据3.4.1实型变量1.存放形式一个实型数据在内存中占4个字节。2.实型变量的分类,第三章 数据类型、运算符与表达式,3.4实型数据3.4.1实型变量1.实型数据的舍入误差 应当避免将一个很大的数和一个很小的数直接向加或相减,否则就会“丢失”小的数。例3.4main()float a,b;a=123456.789e5;b=a+20;printf(“%f”,b);,第三章 数据类型、运算符与表达式,3.5字符型数据3.5.1字符常量 C的字符常量是用单引号括起来的一个字符。C还允许一种特殊形式的字符常量,就是以一个“”开头的字符序列。,第三章 数据类型、运算符与表达

7、式,3.5字符型数据3.5.1字符常量例3.5转义字符的使用main()printf(“ ab ct derftgn”);printf(“htibbj k”);,第三章 数据类型、运算符与表达式,3.5字符型数据3.5.2字符变量字符变量是用来存放字符常量,一个字符变量只能存放一个字符。字符变量的定义形式如下:char c1,c2;3.5.3字符数据在存放和使用字符常量是将其ASCII码存入字符变量的存储单元中的。C语言使用的字符数据和整型数据之间可以通用。,第三章 数据类型、运算符与表达式,3.5字符型数据3.5.3字符数据在存放和使用例3.6 向字符变量赋以整数main()char c1,

8、c2;c1=97;c2=98;printf(“%c %c”,c1,c2);printf(“%d %d”,c1,c2);,第三章 数据类型、运算符与表达式,3.5字符型数据3.5.3字符数据在存放和使用例3.7 大小写字母的转换main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“%c %c”,c1,c2)运行结果:A B,第三章 数据类型、运算符与表达式,3.5字符型数据3.5.4字符串常量字符串常量是一对双引号括起来的字符序列。如:“How do you do.”, “CHINA”, “$500.00”都是字符串常量。可以输出一个字符串,如

9、:printf(“How do you do.”);字符a和“a”的区别 C规定:在每一个字符的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定以0作为字符串结束标志。,第三章 数据类型、运算符与表达式,3.6变量符初值C语言允许在定义变量的同时使变量初始化。如:unsigned int count=70;float f=16.032;char grade_A=A;char grade_B=B;int a,b,c=5;/*只是对c赋值*/,第三章 数据类型、运算符与表达式,3.7各数值型数据间的混合运算整型、实型和字符型数据间可以混合运算。例如:10+a+1.5-8765.

10、1234*b10+a+i*f-d/e上述的类型转换是由系统自动进行的。,第三章 数据类型、运算符与表达式,3.8算术运算符和算术表达式,第三章 数据类型、运算符与表达式,3.8算术运算符和算术表达式1、运算符的优先级与结合性参看附表III:运算符和结合性2、强制类型转换运算符格式: (类型名)(表达式)例3.8强制类型转换main() float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);运行结果:x=3.600000,i=3,第三章 数据类型、运算符与表达式,3.8算术运算符和算术表达式3、自增、自减运算符+i,-i;(在使用i之前,先使i

11、的值加(减)1)i+,i-;(在使用i之后,先使i的值加(减)1)注意:(1)只能用于变量;(2)结合方向是“自右至左”。,第三章 数据类型、运算符与表达式,3.8算术运算符和算术表达式4、有关表达式使用中的问题(1)调用方向A=func1()+func2();例如: f(i)=(i+)+(i+)+(i+)(2)如何结合例如:i+j(3)实参数的求值顺序例如:printf(“%d,%d”,i,i+);,第三章 数据类型、运算符与表达式,3.9赋值运算符和赋值表达式1、赋值运算符 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋给一个变量。,第三章 数据类型、运算符与表达式,3.9赋值运算符

12、和赋值表达式2、类型转换(1)实型数据-整型变量(2)整型数据-单、双精度变量(3)double数据-float变量(4)字符型数据-整型变量(5)int,short,long数据-char变量(6)signed int数据-long int变量(7)unsigned int数据-long int变量,第三章 数据类型、运算符与表达式,3.9赋值运算符和赋值表达式2、类型转换例如:有符号数据传送给无符号变量main()unsigned a;int b=-1;a=b;printf(“%u”,a);运行结果:65535,第三章 数据类型、运算符与表达式,3.9赋值运算符和赋值表达式总结: 不同类型

13、的整型数据间的赋值归根结底就是一条,按存储单元中的存储形式直接传送。,第三章 数据类型、运算符与表达式,3.9赋值运算符和赋值表达式3、复合的赋值表达式a+=3;等价于 a=a+3;x*=y+8;等价于 x=x*(y+8);x%=3;等价于 x=x%3;4、赋值表达式 由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”格式:a=(b=4)+(c=6);(表达式的值为10,a=10,b=4,c=6)a=(b=10)/(c=2);(表达式的值为5,a=5,b=10,c=2),第三章 数据类型、运算符与表达式,3.10逗号运算符和逗号表达式 C语言提供了一种特殊的运算符逗号运算符,用

14、它将两个表达式连接起来。如:表达式1,表达式2,表达式3,表达式n(1)x=(a=3,6*3);(x=18)(2)x=a=3,6*a;(x=3)(3)printf(“%d,%d,%d”,(a,b,c),b,c);(结果为c,b,c),第三章 数据类型、运算符与表达式,本章总结:本章主要介绍了在C89标准下数据类型、运算符、表达式三个方面的内容。这些内容只是起到了一个抛砖引玉的作用,更多的细节内容,需要去查阅更多的相关资料。比如在C99标准下定义了更大的整型:signed long long intunsigned long long int以及布尔型、复数浮点型等。_Bool、float _Complexdouble _Complexlong double _Complex,

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

当前位置:首页 > 资格认证/考试 > 其它考试类文档

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