kj-第2章数据类型、运算符和表达式ppt课件(全).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《kj-第2章数据类型、运算符和表达式ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《kj-第2章数据类型、运算符和表达式ppt课件(全).ppt(56页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2章章 数据类型、运算符与表达式数据类型、运算符与表达式 本章概述 本章的学习目标主要内容1本章概述本章概述l本本章章主主要要介介绍绍C程程序序中中经经常常用用到到的的常常量量、变变量量、基基本本数数据据类类型型(整整型型、实实型型、字字符符型型)、运运算算符符(算算术术运运算算符符、赋赋值值运运算算符符、强强制制类类型型转转换换运运算算符符、自自增增自自减减运运算算符符、逗逗号号运运算算符符、求求字字节节运运算算符符)、表表达达式式(算算术术表表达达式式、赋赋值值表表达达式式、逗逗号号表表达达式式)等等内容。内容。2本章的学习目标本章的学习目标l本章教学目的:l 掌握整型、实型和字符型常
2、量、变量的基本使用方法,掌握变量赋初值方法、混合运算规则、算术运算符和表达式的用法,理解赋值表达式和逗号表达式。l本章教学重点:l 整型、实型和字符型常量、变量的基本使用方法,算术运算符和表达式的用法l本章教学难点:l 混合运算规则、赋值表达式和逗号表达式3主要内容主要内容l2.1 C语言的数据类型语言的数据类型 l2.2 常量和变量常量和变量 l2.3 整型数据整型数据l2.4 实型数据实型数据 l2.5 字符型数据字符型数据l2.6 算术运算符和算术表达式算术运算符和算术表达式l2.7 赋值运算符和赋值表达式赋值运算符和赋值表达式l2.8 其它运算符和表达式其它运算符和表达式 42.1 C
3、语言的数据类型语言的数据类型 52.2 常量和变量常量和变量 2.2.1 常量常量l在程序运行过程中,其值不能被改变的量称为常量。在程序运行过程中,其值不能被改变的量称为常量。l常量分为:常量分为:l(1)整型常量(如)整型常量(如369、0、-547););l(2)实型常量(如)实型常量(如2.71828、-9.8、3.14159););l(3)字符常量(如)字符常量(如A、a、#、3););l(4)符号常量)符号常量用一个标识符代表一个常量。例如若用一个标识符代表一个常量。例如若在程序开始有这样的预处理命令:在程序开始有这样的预处理命令:“#define N 10”,那,那么么C预处理程序
4、会将程序中所有的预处理程序会将程序中所有的N用用10代替。代替。6l2.2.2 变量变量l在程序运行过程中,其值可以被改变的量称为变在程序运行过程中,其值可以被改变的量称为变量。量。l在使用一个变量前,必须先定义该变量,就是为在使用一个变量前,必须先定义该变量,就是为该变量起个名字并声明它的数据类型。根据定义,该变量起个名字并声明它的数据类型。根据定义,编译系统在内存中为该变量分配存储单元,在该编译系统在内存中为该变量分配存储单元,在该存储单元中存放该变量的值。存储单元中存放该变量的值。l用来标识变量名(或符号常量名、函数名、数组用来标识变量名(或符号常量名、函数名、数组名、类型名、文件名)的
5、有效字符序列称为标识名、类型名、文件名)的有效字符序列称为标识符。符。C语言规定,标识符只能由英文字母、数字、语言规定,标识符只能由英文字母、数字、下划线三种字符组成,并且第一个字符必须是字下划线三种字符组成,并且第一个字符必须是字母或下划线。母或下划线。7l注意,大写英文字母和小写英文字母是不同的字符,注意,大写英文字母和小写英文字母是不同的字符,例如例如aver和和Aver是两个不同的标识符。为变量起名是两个不同的标识符。为变量起名字时一般用小写英文字母。字时一般用小写英文字母。l变量定义的一般格式:变量定义的一般格式:l 存储类型存储类型 数据类型数据类型 变量名变量名1,变量名变量名2
6、;l例如:例如:int a,b,number,sum;l称在定义变量的同时对变量进行赋初值的操作为变量称在定义变量的同时对变量进行赋初值的操作为变量初始化。初始化。l变量初始化的一般格式:变量初始化的一般格式:l存储类型存储类型 数据类型数据类型 变量名变量名1=初值初值1,变量名变量名2=初值初值2;l例如:例如:float radius=2.5,length=3.6,area;82.3 整型数据整型数据l整型常量即整常数,在语言中,整型常量可整型常量即整常数,在语言中,整型常量可用三种形式表示:用三种形式表示:l(1)十进制,例如)十进制,例如456、0、-789。l(2)八进制(以数字开
7、头),例如)八进制(以数字开头),例如0123,即即(123)8,等于十进制的等于十进制的83。l(3)十六进制(以数字)十六进制(以数字+小写字母小写字母x开头)开头),例如例如0 x23,即即(23)16,等于十进制的等于十进制的35。l2.3.1 整型常量整型常量9l2.3.2 整型变量整型变量l根据变量的取值范围,整型变量可分为:基本整型(类型关键字根据变量的取值范围,整型变量可分为:基本整型(类型关键字为为int)、短整型(类型关键字为)、短整型(类型关键字为short int)、长整型(类型关)、长整型(类型关键字为键字为long int)。)。l对以上三种都可以加上修饰符对以上三
8、种都可以加上修饰符unsigned,指定是,指定是“无符号数无符号数”。不加修饰符不加修饰符unsigned的,隐含是有符号(的,隐含是有符号(signed)。即有符号)。即有符号的,的,signed可以省略不写。可以省略不写。l归纳起来,整型变量有以下归纳起来,整型变量有以下6种:种:l有符号基本整型有符号基本整型 signed intl无符号基本整型无符号基本整型 unsigned intl有符号短整型有符号短整型 signed short intl无符号短整型无符号短整型 unsigned short intl有符号长整型有符号长整型 signed long intl无符号长整型无符号长
9、整型 unsigned long intl(方括弧内的部分可以省略,如(方括弧内的部分可以省略,如unsigned long int与与unsigned long等价。)等价。)10l数据在内存中是以二进制形式存放的。若数据在内存中是以二进制形式存放的。若不指定是无符号型不指定是无符号型unsigned或指定是有符或指定是有符号型号型signed,则存储单元的最高位是符号,则存储单元的最高位是符号位(位(0为正,为正,1为负)。为负)。l若指定是无符号型若指定是无符号型unsigned,则存储单元,则存储单元的全部二进制位(的全部二进制位(bit)都用来存放数本身,)都用来存放数本身,而不包括
10、符号。而不包括符号。11lC标准没有具体规定以上各类数据所占内存大小,只要求标准没有具体规定以上各类数据所占内存大小,只要求long型数据不短于型数据不短于int型,型,short型不长于型不长于int型,怎样实现型,怎样实现由计算机系统自行决定。例如在微机上,由计算机系统自行决定。例如在微机上,short和和int型占型占2个字节,个字节,long型占型占4个字节。个字节。l表表2.1列出了列出了ANSI标准定义的各种整数类型和有关数据,标准定义的各种整数类型和有关数据,其中其中“最小取值范围最小取值范围”是指不能低于此值,但可高于此值,是指不能低于此值,但可高于此值,如有的如有的C编译系统
11、规定一个编译系统规定一个int型数据占型数据占4个字节。个字节。表表2.1 ANSI2.1 ANSI标标准定准定义义的各种整数的各种整数类类型和有关数据型和有关数据类型字节数最小取值范围signed intunsigned intsigned short intunsigned short intsigned long int unsigned long int222244-3276832767 即 215(215-1)065535 即 0(216-1)-3276832767 即 215(215-1)065535 即 0(216-1)-21474836482147483647 即 231(23
12、1-1)04294967295 即 0(232-1)12l2.3.3 整型数据的输入输出整型数据的输入输出l可以使用可以使用scanf函数和函数和printf函数进行数据的输入输出。函数进行数据的输入输出。lscanf函数的功能是按照指定格式将标准输入设备输入的函数的功能是按照指定格式将标准输入设备输入的内容送入变量中,内容送入变量中,printf函数的功能是按照指定格式在标函数的功能是按照指定格式在标准输出设备上显示数据。准输出设备上显示数据。“指定格式指定格式”需要使用格式说明需要使用格式说明符符%和格式字符,显示整型数的格式字符有英文字母和格式字符,显示整型数的格式字符有英文字母d、o、
13、x、u等。等。l具体含义如下:具体含义如下:l%d表示把数据按十进制整型输入(输出);表示把数据按十进制整型输入(输出);l%o表示把数据按八进制整型输入(输出);表示把数据按八进制整型输入(输出);l%x表示把数据按十六进制整型输入(输出);表示把数据按十六进制整型输入(输出);l%u表示把数据按无符号整型输入(输出)。表示把数据按无符号整型输入(输出)。l除了除了%d格式之外,上面的其余几种格式都将数据作为无符格式之外,上面的其余几种格式都将数据作为无符号数输入(输出)。号数输入(输出)。l如果输入(输出)的是长整型数,一定要在转换字符的前如果输入(输出)的是长整型数,一定要在转换字符的前
14、面加字符面加字符l(字符(字符L的小写),否则显示可能不对。的小写),否则显示可能不对。13例例2.1 整型数据的输出。整型数据的输出。l#include lint main()l int a=200,b=100,c;l c=a+b+15;l printf(%d,%d,%d,%dn,a,b,c,a-b-70);l printf(%o,%o,%o,%on,a,b,c,a-b-70);l printf(%x,%x,%x,%xn,a,b,c,a-b-70);l return 0;ll运行结果如下:运行结果如下:l200,100,315,30l310,144,473,36lC8,64,13b,1e14
15、l#include lint main()l int a,b,c;unsigned d;long e;l scanf(%d,%o,%x,%u,%ld,&a,&b,&c,&d,&e);l printf(%d,%d,%d,%u,%ld n,a,b,c,d,e);l return 0;ll若输入为:若输入为:l10,10,10,65533,654321 (回车符)(回车符)l显示结果为:显示结果为:l10,8,16,65533,654321 例例2.2 整型数据的输入。整型数据的输入。152.4 实型数据实型数据2.4.1 实型常量实型常量l实数又称浮点数,有两种表示形式:实数又称浮点数,有两种表示
16、形式:l(1)十进制小数形式:由数字和小数点组成,必须有)十进制小数形式:由数字和小数点组成,必须有小数点,例如小数点,例如3.14159、0.0、9.0、.12345、-9.8等。等。l(2)指数形式:)指数形式:E(或(或e)。例如。例如1.23E3、2.71e-5(分别代表(分别代表1.23 103、2.71 10-5)等。注意:等。注意:E(或(或e)的两边必须有数字,且后面的指数)的两边必须有数字,且后面的指数必须是整数。必须是整数。l一个实数有多种指数表示形式。例如一个实数有多种指数表示形式。例如314.159可以表示可以表示为为3141.59E-1、314.159E0、3.141
17、59E2、0.314159E3等,把其中的等,把其中的3.14159E2称为称为“规范化的规范化的指数形式指数形式”,即小数点左边有且只有一位非零数字。,即小数点左边有且只有一位非零数字。16l实型变量分为单精度型和双精度型,有的实型变量分为单精度型和双精度型,有的C版本还支持长双版本还支持长双精度型精度型(long double)。l(1)单精度型。类型说明符为)单精度型。类型说明符为float,在内存中占个字节,在内存中占个字节(32位),有效数字的个数是位十进制数字,数值范围位),有效数字的个数是位十进制数字,数值范围-3.410-383.4 1038。l(2)双精度型。类型说明符为)双
18、精度型。类型说明符为double,在内存中占个字,在内存中占个字节(节(64位),有效数字的个数是位),有效数字的个数是15位十进制数字,数值范围位十进制数字,数值范围-1.710-3081.7 10308。l2.4.2 实型变量实型变量172.4.3 实型数据的输入输出实型数据的输入输出l可以使用可以使用%f和和%e控制输入(输出)控制输入(输出)float类型的数据,类型的数据,l可以使用可以使用%lf和和%le控制输入(输出)控制输入(输出)double类型的数据。类型的数据。18例例2.3 实型数据的输入输出。实型数据的输入输出。l#include lint main()l float
19、 a,b;double x,y;l scanf(%f,%e,%lf,%le,&a,&b,&x,&y);l printf(%f,%e,%lf,%le n,a,b,x,y);l return 0;ll若输入为:若输入为:l3.1415,314.15,123.456,12345.6 (回车符)(回车符)l显示结果为:显示结果为:l3.141500,3.14150e+02,123.456000,1.23456e+04l若输入为:若输入为:l3.1415926,666.666666,123456789.123456789,123456.7898765 l显示结果为:显示结果为:l3.141593,6.6
20、6667e+02,123456789.123457,1.23457e+05 从从显示可见:对于十显示可见:对于十进制小数形式,单精度型进制小数形式,单精度型和双精度型的有效数字分和双精度型的有效数字分别是别是7位和位和15位。对于十位。对于十进制指数形式,都是进制指数形式,都是6位位有效数字。有效数字。19lC的字符型常量是用一对单引号括起来的单个字符,例如,的字符型常量是用一对单引号括起来的单个字符,例如,A、3、a、?等都是字符型常量。注意等都是字符型常量。注意A和和a是不同的。是不同的。l还有一种特殊形式的字符型常量,就是以转义符还有一种特殊形式的字符型常量,就是以转义符“”开开头的一些
21、字符构成的转义序列。例如头的一些字符构成的转义序列。例如n表示表示“回车换回车换行行”。常见的转义字符如表。常见的转义字符如表2.2所示。所示。l表中表中ddd表示表示1到到3位位8进制数所代表的字符,例如进制数所代表的字符,例如101代表字符代表字符A,77代表字符代表字符?,43代表字符代表字符#。l表中表中xhh表示表示1到到2位位16进制数所代表的字符,例如进制数所代表的字符,例如x61代表字符代表字符a,x23代表字符代表字符#。l表中表中t表示横向跳格,跳到下一个制表位置,一个制表区表示横向跳格,跳到下一个制表位置,一个制表区占占8列,执行列,执行t就是将当前位置跳到下一个制表区的
22、就是将当前位置跳到下一个制表区的开头。开头。2.5 字符型数据字符型数据2.5.1 字符型常量字符型常量20表表2.2 常见转义字符及其含义常见转义字符及其含义字符形式含义abfnrt”dddxhh0警告声退格,将当前位置移到前一列换页,将当前位置移到下一页开头换行,将当前位置移到下一行开头回车,将当前位置移到本行开头横向跳格,跳到下一个tab位置反斜线字符单撇号字符双撇号字符1到3位8进制数所代表的字符1到2位16进制数所代表的字符字符串终止字符21例例2.4 转义字符的使用转义字符的使用l#include lint main()l printf(A102x43DEtbbx2343x61x6
23、2n);lprintf(A53101tb43141142x63bx64n);l return 0;ll显示结果为:显示结果为:l ABCDE#abl A+“A”#abd 222.5.2 字符串常量字符串常量l字符串常量是用一对双引号括起来的若干字符序字符串常量是用一对双引号括起来的若干字符序列。例如:列。例如:“How are you”,“No.345”。lC编译程序在存储字符串常量时自动采用字符编译程序在存储字符串常量时自动采用字符0作为字符串结束标志,字符作为字符串结束标志,字符0的的ASCII码值为码值为0,它不引起任何控制动作,也不是,它不引起任何控制动作,也不是一个可显示的字符。一个
24、可显示的字符。l因此,字符串因此,字符串“Good”在内存中要占在内存中要占5个字节数,个字节数,而不是而不是4个。个。l注意:注意:A和和“A”是不同的,是不同的,A是字符常量,是字符常量,在内存占在内存占1个字节数;个字节数;“A”字符串常量,在内存字符串常量,在内存占占2个字节数,包含个字节数,包含A和和0两个字符。两个字符。232.5.3 字符型变量字符型变量l字符变量的类型说明符为字符变量的类型说明符为char,例如:,例如:“char c1,c2;”表示定义了两个字符变量。表示定义了两个字符变量。l字符变量用来存储字符常量,一个字符变量只能存储字符变量用来存储字符常量,一个字符变量
25、只能存储1个个字符,即只能存储字符,即只能存储1个字节的信息,就是说一个字符变量个字节的信息,就是说一个字符变量在内存中占一个字节。例如用如下语句给上面定义的字符在内存中占一个字节。例如用如下语句给上面定义的字符变量变量c1、c2赋值:赋值:lc1=A;c2=B;l将一个字符常量放到一个字符变量中,实质上是将该字符将一个字符常量放到一个字符变量中,实质上是将该字符常量对应的常量对应的ASCII代码放到了字符变量中,系统为字符变代码放到了字符变量中,系统为字符变量所分配的一个字节的存储单元中,存放的是该字符常量量所分配的一个字节的存储单元中,存放的是该字符常量的二进制形式的的二进制形式的ASCI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- kj 数据类型 运算 表达式 ppt 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内