C语言课件-3数据类型、运算符与表达式.ppt
《C语言课件-3数据类型、运算符与表达式.ppt》由会员分享,可在线阅读,更多相关《C语言课件-3数据类型、运算符与表达式.ppt(80页珍藏版)》请在三一办公上搜索。
1、第三章 数据类型、运算符与表达式,3.1 语言的字符集3.2 语言的数据类型3.3 常量与变量3.4 变量的定义与赋值3.5 符号常量3.6 运算符与表达式3.7 各类型数据的混合运算3.8 不同类型赋值的结果,3.1 语言的字符集,3.1.1 语言字符集:1、字母:小写字母az、大写字母AZ。2、数字:09共10个。3、空白符:空格符、制表符、换行符等。4、标点和特殊字符。5、字符常量,字符串常量和注释中还可以使用汉字或其它可表示的图形符号。,字符是组成语言的最基本的元素。,3.1.2 语言词汇(六类),1、标识符:变量名、函数名、标号等。2、关键字:关键字是由语言规定的具有特定意义的字符串
2、,通常也称为保留字。用户定义的标识符不应与关键字相同。P365(1)类型说明符:用于定义、说明变量、函数或其它数据结构的类型。(2)语句定义符:用于表示一个语句的功能。(3)预处理命令字:用于表示一个预处理命令。,标识符:由英文字母、数字和下划线这三种字符组成且第一个字符必须为字母或下划线。作用:用来给变量、函数等命名 注意:1.区分大小写英文字母 2.关键字(保留字)不能作标识符 例:book、Book、int1、Int、printf、_a12 都可作标识符 5a、$、p#、int、x+y 都不可作标识符,函数名不是保留字,保留字,I大写,3、运算符:运算符与变量,函数一起组成表达式,表示各
3、种运算功能。运算符由一个或多个字符组成。4、分隔符 在语言中采用的分隔符有逗号和空格两种。5、常量:在后面章节中将专门给予介绍。6、注释符:C语言的注释符是以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。程序编译时,不对注释作任何处理。注释可出现在程序中的任何位置。注释用来向用户提示或解释程序的意义。,其值不可以再分解为其它类型。,值用来表示某个变量在内存储器中的地址,根据已定义的一个或多个数据类型用构造的方法来定义的。构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。,3.2 语言的数据类型,在调用函数值时,通常返回一
4、个函数值,这个函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明。但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。其类型说明符为void。,3.3 常量与变量,基本数据类型分为:1、常量:在程序执行过程中,其值不发生改变的量 2、变量:其值可变的量称为变量。,在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。,3.3.1 常量,直接常量(字面常量):n整型常量:12、0、-3;n实型常量:4.6、-1.23;n字符常量:a、b。n字符串常量:“ABC”、“123”。标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件
5、名的有效字符序列。符号常量:用标示符代表一个常量。在语言中,可以用一个标识符来表示一个常量,称之为符号常量。,在使用之前必须先定义,#define,一、整型常量:1.十进制整数:123、-76、0 2八进制整数:076、-0253 076转换成十进制:7*8+6 3十六制整数:0 xa、0 x20、0 xf4 0 xf4转换成十进制:15*16+4,程序执行过程中值不发生改变的量,只有整数,标识符号,常量,整型数据在内存中的存放形式:,如果定义了一个整型变量i:int i;i=10;十进制数10是以二进制形式表示的:1010,每一个整形变量在内存中占内2字节,存放示意图为:事实上,数值是以补码
6、表示的:n正数的补码和原码相同;n负数的补码:将该数的绝对值的二进制形式按位取反再加1。,例如:求-10的补码:10的原码:取反:再加1,得-10的补码:由此可知,左面的第一位是表示符号的。,二、实型常量(浮点型):也称为实数或者浮点数。实数只采用十进制,有二种形式:,小数形式,指数形式,由数码0 9和小数点组成。小数形式必须有小数点。,由十进制数、加阶码标志“e”或“E”、阶码(只能为整数,可以带符号)组成。其一般形式为:a E n(a为十进制数,n为十进制整数)其值为:a*10n。,实型常量实例:,小数形式:12.、.71、0.71、3.14 指数形式:6.945 e-8 注意:指数形式(
7、科学表示法)中,尾数和阶码都不能省略、阶码只能为整型常量、只有十进制形式 6.945 e 8,尾数,阶码,6.945*10-8,小数点不能省略,注:任一字符都可用ddd或xhh表示,其中ddd为该字符的ASCII码八进制形式、hh为该字符的ASCII码十六进制形式 例:A、101、x41均表示A,三、字符常量(一个字符)两种表示方式:1在字符前后加单撇号:y、3、$2用转义字符表示(P48表3.3):,n 换行,r 回车,”表示”,12 换行,15 回车,xa 换行,134,xd 回车,x5c,0-7,0-9a-f,整型常量与转义字符不能混淆,四、字符串常量:由两个双撇号括起来一串字符,其中字
8、符个数=0个,字符串常量和字符常量区别:1)字符常量由单引号括起来,字符串常量由双引号括起来。字符常量只能是单个字符,字符串常量则可以含一个或多个字符。2)可以把一个字符常量赋予一个字符变量,不能把一个字符串常量赋予一个字符变量。3)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符0(ASCII码为0)。这是字符串结束的标志。,常量总结,一、整型常量:二、实型常量:三、字符常量:四、字符串常量:,以0结束。,例如:字符串“C program”在内存中所占的字节为:字符常量a和字符串常量“a”在内存中的区别:a在内存中占一个字节,可表示为:a
9、在内存中占二个字节,可表示为:,例:-3、3、3、“3”在内存中的存放形式:3:3:“3”:-3:,?,0,ASCII码值为(51)10(110011)2,1、计算字符串长度(其中字符个数)时要认 真区分转义字符与一般字符如:”x1818qw+1681676”中字符个数为?2、字符串存储到内存中所占的字节数为:字符个数+1,字符串常量可用转义字符表示 例:”This is a C programn”是字符串常量,它也可表示为:”This is a 103x20programn”,*若把字符串存储到内存中,系统会自动在其末尾加一个0,8*8+3=67,2*16=32,10,例1.main()pr
10、intf(”abtttpracticetbookn”);结果 ab t practice book,*转义字符的使用例子 n换行、r回车、t水平跳到下一个tab位置b退格、f换页,8个字符,9,17,33,例.void main()printf(”pencilbbbxxxn”);,先显示pencil再退三格用xxx覆盖cil,先打印pencil再重复打印xxx覆盖cil,退格,显示结果:penxxx,例.void main()printf(”room”);printf(”penciln1234567890r0t1”);显示结果:roompencil 0 10打印结果:roompencil 12
11、34567890,换行,回车,水平跳到下一个Tab位,0,1,先显示1234567890,用标识符命名,习惯用小写 1、整型变量类型:(1)signed int(2)signed short int(3)signed long int(4)unsigned int(5)unsigned short int(6)unsigned long int区别:每个变量在内存中所占字节数 所能存放的数值范围,3.3.2 变量,2字节16位,4字节32位,P43表3.1,-3276832767,0 65535,各类整型量所分配的内存字节数及数的表示范围,以13为例:int型:short int型:long
12、int型:unsigned int型:unsigned short int型:unsigned long int型:,整型数据的溢出,void main()int a,b;a=32767;b=a+1;printf(%d,%dn,a,b);,32767:,运行结果:32767,-32768,-32768:,2、字符型变量类型:*字符型变量是用来存放单个字符常量的ASCII码,不是字符本身。整型变量与字符型变量可混淆使用。例如:char a,b;(1)char(2)unsigned char区别:对变量值ASCII码的理解 char 一个数的补码 unsigned char一个不带正负号的整数,字
13、符变量的类型说明符,字符数据在内存中的存储形式及使用方法,每个字符变量分配一个字节的内存空间,因此只能存放一个字符。字符值以ASCII码的形式存放。如:x的十进制ASCII码是120 y的十进制ASCII码是121x:y:允许对整型变量赋以字符值,或对字符变量赋以整型值。允许把字符变量按整型量输出,或把整型量按字符量输出。整型量为二字节量,字符量为单字节量,当整型量按字符型量处理时,只有低八位字节参与处理。,120的二进制代码,3、实型变量类型(1)float(2)double*(3)long double 区别:每个变量在内存中所占字节数 float4、double8 所能存放的数值范围 f
14、loat 10-381038 double 10-30810308 有效数字位数float7、double16,实数3.14159在内存中的存放形式如下:,数符,指数,小数部分,占的位数愈多,数的有效数字愈多,精度愈高。,占的位数愈多,能表示的数值范围愈大。,实型数据的舍入误差。void main()float a,b;a=123456.789e5;b=a+20;printf(%fn,a);printf(%fn,b);注意:1.0/3*3的结果并不等于1。,大数加小数,有效数字7 位,前7位有效,void main()float a;double b;a=33333.33333;b=33333
15、.33333333333333;printf(%fn%fn,a,b);结果:33333.332031 33333.333333,a是单精度浮点型,有效位数七位。整数已占五位,故小数二位之后均为无效数字,b是双精度型,有效位为十六位。但Turbo C 小数后最多保留六位,其余部分四舍五入。,一、定义变量类型:;若变量表中含有多个变量,它们之间 用逗号隔开。最后一个变量名之后必须以“;”号结尾 例:unsigned int i,j;或 unsigned i,j;,3.4 变量定义与赋值,一般所有变量都在声明部分定义类型,二、给变量赋值 把“=”右侧的值赋给“=”左侧的变量,1、赋初值:定义变量类型
16、时给变量赋值 在相应变量后写=例:int a=123,b=456,sum;2、赋值表达式:=赋值语句:=;例:a=123 sum=a+b a=123;sum=a+b;,表达式末尾加“;”后即变成语句,等价于,int a,b,sum;a=123;b=456;,表达式本身有值的概念,其值同“=”左边变量相同;而语句本身无值的概念;表达式是用来构成语句的。注:表达式中变量可用给该变量赋值的赋值表 达式代替(应加圆括号)例:a=123;b=456;sum=a+b;可改为:sum=(a=123)+(b=456);注意:在定义中不允许连续赋值,如:int a=b=c=5是不合法的 而int a,b,c;a
17、=b=c=5则是合法的,void main()char a,b;a=120;b=121;printf(%c,%cn,a,b);printf(%d,%dn,a,b);运行结果:x,y 120,121,向字符变量赋以整数,定义a,b为字符型,赋值语句中赋以整型值,格式符c“,输出字符,格式符为d,输出整数,void main()char a,b;a=a;b=b;a=a-32;b=b-32;printf(%c,%cn%d,%dn,a,b,a,b);运行结果:A,B 65,66,a,b被定义为字符变量并赋予字符值,用字符的ASCII 码参与运算,大小写字母的ASCII 码相差32,因此运算后把小写字母
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 数据类型 运算 表达式
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6504335.html