运算符和表达式幻灯片.ppt
《运算符和表达式幻灯片.ppt》由会员分享,可在线阅读,更多相关《运算符和表达式幻灯片.ppt(73页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、运算符和表达式运算符和表达式第1页,共73页,编辑于2022年,星期三3.0 预备知识预备知识v计算机中数的表示及进制转换计算机中数的表示及进制转换数码、基与权数码、基与权v数码:表示数的符号数码:表示数的符号v基:数码的个数基:数码的个数v权:每一位所具有的值权:每一位所具有的值数制数制:二进制、八进制、十进制、十六进制二进制、八进制、十进制、十六进制各种进制之间的转换各种进制之间的转换v非十进制非十进制(二、八、十六进制二、八、十六进制)转换成十进制转换成十进制方法:方法:按权相加按权相加v十进制转换成非十进制十进制转换成非十进制(二、八、十六进制二、八、十六进制)方法:方法:除基反序取余
2、除基反序取余(整数部分整数部分)第2页,共73页,编辑于2022年,星期三v二进制与八进制之间的转换二进制与八进制之间的转换二进制转换成八进制:从右向左,每二进制转换成八进制:从右向左,每3位一组(不足位一组(不足3位左补位左补0),),转换成八进制转换成八进制八进制转换成二进制:用八进制转换成二进制:用3位二进制数代替每一位八进制数位二进制数代替每一位八进制数v二进制与十六进制之间的转换二进制与十六进制之间的转换二进制转换成十六进制:从右向左,每二进制转换成十六进制:从右向左,每4位一组(不足位一组(不足4位左补位左补0),转换成十六进制),转换成十六进制十六进制转换成二进制:用十六进制转换
3、成二进制:用4位二进制数代替每一位十六进制数位二进制数代替每一位十六进制数第3页,共73页,编辑于2022年,星期三v字节和位字节和位内存以字节为单元组成内存以字节为单元组成每个字节有一个地址每个字节有一个地址一个字节一般由一个字节一般由8个二进制位组成个二进制位组成每个二进位的值是每个二进位的值是0或或1v数值的表示方法数值的表示方法原码、反码和补码原码、反码和补码原码:最高位为符号位,其余各位为数值本身的绝对值原码:最高位为符号位,其余各位为数值本身的绝对值反码:反码:v正数:反码与原码相同正数:反码与原码相同v负数:符号位为负数:符号位为1,其余位对原码取反,其余位对原码取反补码:补码:
4、v正数:原码、反码、补码相同正数:原码、反码、补码相同v负数:最高位为负数:最高位为1,其余位为原码取反,再对整个数加,其余位为原码取反,再对整个数加1第4页,共73页,编辑于2022年,星期三原码原码反码反码补码补码数的范围数的范围0111111111111111(-127+127)0111111110000000(-127+127)0111111110000000(-128+127)(用一字节表示数)(用一字节表示数)第5页,共73页,编辑于2022年,星期三3.1 C语言的数据类型语言的数据类型数据类型数据类型基本类型基本类型构造类型构造类型指针类型指针类型空类型空类型void整型整型实
5、型实型字符型字符型char单精度型单精度型float数组型数组型双精度型双精度型double结构体类型结构体类型struct共用体类型共用体类型union枚举类型枚举类型enum有符号有符号无符号无符号基本整型基本整型int短整型短整型short长整型长整型long基本整型基本整型unsigned int短整型短整型unsigned short长整型长整型unsigned long自定义类型自定义类型typedef数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作第6页,共73页,编辑于2022年,星期三3.2 常量与变量常量与变量一、标识符一、标识符 1、定义:可用来标识
6、变量名、符号常量名、函数名、数组名、类型、定义:可用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。名、文件名的有效字符序列。2、命名规则:、命名规则:由字母、数字、下划线组成由字母、数字、下划线组成 以字母或下划线打头以字母或下划线打头 区分大小写区分大小写 命名尽量做到命名尽量做到“见名知义见名知义”Turbo C允许标识符最大长度允许标识符最大长度32个字符,建意不超过个字符,建意不超过8个字符个字符 不允许和关键字相同不允许和关键字相同第7页,共73页,编辑于2022年,星期三二、常量二、常量 1、常量:在程序运行过程中,值不变的量。、常量:在程序运行过程中,值
7、不变的量。2、直接常量直接常量:即常数。如:即常数。如 1、2、35、a。可以分为实型、整型、可以分为实型、整型、字符型。其特点是从字面上即可判定它们是某一类型的常量。也称字符型。其特点是从字面上即可判定它们是某一类型的常量。也称“字面常量字面常量”3、符号常量符号常量:在一个程序中指定用一个符号代表一个常量。:在一个程序中指定用一个符号代表一个常量。符号常量用符号常量用#define命令定义。其值不能改变。习惯上用大写。命令定义。其值不能改变。习惯上用大写。如在程序的开头有如下定义:如在程序的开头有如下定义:#define PI 3.1415926 则在整个程序中可用则在整个程序中可用“PI
8、”代替代替3.1415926进行运算进行运算第8页,共73页,编辑于2022年,星期三例例1:符号常量的应用:符号常量的应用#define PRICE 30 main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);第9页,共73页,编辑于2022年,星期三三、变量三、变量1、定义:在程序运行的过程中,值可以改变的量。、定义:在程序运行的过程中,值可以改变的量。2、变量的属性:、变量的属性:变量名:合法标识符。变量名:合法标识符。变量值:变量的存储空间中存放的变量的内容。变量值:变量的存储空间中存放的变量的内容。存储单元
9、:变量定义后,为其分配存储空间的起始位置。存储单元:变量定义后,为其分配存储空间的起始位置。12a变量名变量名(符号地址符号地址)变量值变量值存储单元存储单元(物理地址物理地址)第10页,共73页,编辑于2022年,星期三3、变量的使用、变量的使用:先定义,后使用先定义,后使用。原因:原因:1、编译程序不能翻译未定义变量。、编译程序不能翻译未定义变量。2、编译程序在编译时根据变量类型确定存储单元的数量。、编译程序在编译时根据变量类型确定存储单元的数量。3、编译程序在编译时根据变量类型进行语法检查。、编译程序在编译时根据变量类型进行语法检查。例例 :整型变量整型变量a、b可以进行可以进行“求余求
10、余”运算运算 a%b 若把若把a、b定义为实数,则上述运算非法。定义为实数,则上述运算非法。第11页,共73页,编辑于2022年,星期三一、整型常量:有三种表示形式一、整型常量:有三种表示形式 1、十进数形式:、十进数形式:1、98、345 2、八进数形式:、八进数形式:以以0 开头的数字开头的数字。01、076 3、十六进数形式:、十六进数形式:以以0 x开头的数字开头的数字。0 x3F、0 x7653.3 整型数据整型数据第12页,共73页,编辑于2022年,星期三二、整型变量二、整型变量:(有符号和无符号有符号和无符号)类型类型 有符号有符号 无符号无符号 基本型(简称整型)基本型(简称
11、整型)int unsigned int 短整型短整型 short或或short int unsigned short 长整型长整型 long或或long int unsigned long 说明:说明:无符号型无符号型加加unsigned修饰符表示,只表示正数,无符号位。修饰符表示,只表示正数,无符号位。各类型数据所占宽度和范围见书各类型数据所占宽度和范围见书43页表页表3.1第13页,共73页,编辑于2022年,星期三三、整型变量的定义三、整型变量的定义 1、变量的定义一般在函数的开头部分;也可以在其它位置,但定、变量的定义一般在函数的开头部分;也可以在其它位置,但定义的位置影响变量的作用范
12、围。义的位置影响变量的作用范围。2、一条定义语句可定义多个同种类型的变量,各变量之间用逗、一条定义语句可定义多个同种类型的变量,各变量之间用逗号分隔。号分隔。3、变量类型符与其后所定义变量之间用空格分隔。变量类型符与其后所定义变量之间用空格分隔。如如:int a;unsigned short b,c;long d;第14页,共73页,编辑于2022年,星期三四、整型常量的类型四、整型常量的类型整型常量赋值给整型变量时的注意事项整型常量赋值给整型变量时的注意事项:1、如果一个整型常量在、如果一个整型常量在-3276832767之间,可以赋给之间,可以赋给int 型型和变量和变量long int型
13、变量。型变量。2、如果一个整型常量在、如果一个整型常量在-231231-1之间,可以赋给之间,可以赋给long int型型变量变量 3、常量中没有无符号型,但非负常量可以赋给无符号变量、常量中没有无符号型,但非负常量可以赋给无符号变量 4、在一个整型常量后加一个字母、在一个整型常量后加一个字母 l 或或L,则编译器把该整型常量则编译器把该整型常量作为作为long类型处理。如:类型处理。如:123L、0L 第15页,共73页,编辑于2022年,星期三一、实型常量:实数又称为浮点数,有两种表示形式一、实型常量:实数又称为浮点数,有两种表示形式 1、十进制数形式十进制数形式:由数字和小数点组成(必须
14、有小数点):由数字和小数点组成(必须有小数点)如如:43.2、89.、.86 2、指数形式指数形式:即科学计数法。如:即科学计数法。如:45e2相当于相当于45102、34e5相当于相当于34105。字母。字母e前必须有数字,字母前必须有数字,字母e后必须是整数。后必须是整数。v “规范化指数形式规范化指数形式”:在指数形式中,小数部分中的小数:在指数形式中,小数部分中的小数点前点前有且只有有且只有一位非零数字。一位非零数字。3.4 实型数据实型数据第16页,共73页,编辑于2022年,星期三二、实型变量二、实型变量(分为三种类型分为三种类型)1、单精度型、单精度型(float):一般占一般占
15、4个字节,有效数位为个字节,有效数位为7位位 2、双精度型、双精度型(double):一般占一般占8个字节,有效数位为个字节,有效数位为15位位 3、长双精度型、长双精度型(long double):一般占一般占16个字节,有效数个字节,有效数位为位为18位位v 实型常量不分单、双精度。可任意赋值,但有效数位不同。实型常量不分单、双精度。可任意赋值,但有效数位不同。三、实型数据的舍入误差三、实型数据的舍入误差 第17页,共73页,编辑于2022年,星期三3.5 字符型数据字符型数据一、字符型常量:用一对一、字符型常量:用一对单引号单引号括起来的括起来的一一个字符。个字符。说明说明:单引号不是字
16、符常量的一部分,只是一种界定符。单引号不是字符常量的一部分,只是一种界定符。单引号内不能是单撇号或反斜杠。单引号内不能是单撇号或反斜杠。二、字符常量的分类:二、字符常量的分类:1、普通字符:、普通字符:如:如:1、a、A、*2、转义字符:转义字符:也称控制字符。也称控制字符。说明:说明:用反斜杠开头后面跟一个字母代表一个控制字符。用反斜杠开头后面跟一个字母代表一个控制字符。代表字符反斜杠;代表字符反斜杠;代表撇号字符代表撇号字符 反斜杠后面的字符失去原来的含义反斜杠后面的字符失去原来的含义第18页,共73页,编辑于2022年,星期三字符形式字符形式 功能功能 n 回车换行符回车换行符 t 横向
17、跳格:跳到下一个输出区(每一输出区为横向跳格:跳到下一个输出区(每一输出区为8 个字符位置)个字符位置)b 退格退格 r 回车不换行(回到本行起始字符位置)回车不换行(回到本行起始字符位置)f 走纸换页走纸换页 反斜杠字符反斜杠字符 单引号单引号(撇号撇号)ddd 13位八进制数所代表的字符。如位八进制数所代表的字符。如101表示表示A xhh 12位十六进制数所代表的字符。如位十六进制数所代表的字符。如x40表示表示A常用转义字符形式及功能常用转义字符形式及功能第19页,共73页,编辑于2022年,星期三二、字符变量:用来存放字符常量。二、字符变量:用来存放字符常量。说明:说明:一个字符变量
18、占一个字节一个字符变量占一个字节 一个字符变量只能存放一个字符一个字符变量只能存放一个字符 字符变量的定义用字符变量的定义用char三、字符数据在内存中的存储形式及其使用方法三、字符数据在内存中的存储形式及其使用方法1、字符常量与整型常量存储时都以、字符常量与整型常量存储时都以ASCII码形式存放码形式存放2、字符常量可以以整型常量形式输出,反之亦可、字符常量可以以整型常量形式输出,反之亦可3、字符常量可以赋值给整型变量,反之亦可、字符常量可以赋值给整型变量,反之亦可第20页,共73页,编辑于2022年,星期三例2:main()char c1,c2;/*定义两个字符型变量定义两个字符型变量*/
19、c1=97;c2=98;/*分别给两个变量赋整型常量的值分别给两个变量赋整型常量的值*/printf(“%c%c”,c1,c2);/*以字符格式输出两个字符型数据以字符格式输出两个字符型数据*/输出:a b第21页,共73页,编辑于2022年,星期三例3:main()char c1,c2;/*定义两个字符型变量定义两个字符型变量*/c1=a;c2=b;/*赋字符型常量赋字符型常量*/c1=c1-32;c2=c2-32;/*分别减去分别减去32*/printf(“%c%c”,c1,c2);/*输出两个字符型数输出两个字符型数据据*/输出:输出:A B第22页,共73页,编辑于2022年,星期三四
20、、字符串常量:四、字符串常量:1、概念:由一对双撇号括起来的零个或多个字符序列、概念:由一对双撇号括起来的零个或多个字符序列 如如:“hello”、“programming”、“A”等。等。2、说明:、说明:双撇号是界定符,不属于字符串内容双撇号是界定符,不属于字符串内容 “”表示一个空字符串,在内存中占一个字节表示一个空字符串,在内存中占一个字节 “”表示一个空格字符串,在内存中占表示一个空格字符串,在内存中占2个字节个字节 “A”表示一个字符串,表示一个字符串,A表示一个字符表示一个字符第23页,共73页,编辑于2022年,星期三3、字符串常量与字符常量的区别:、字符串常量与字符常量的区别
21、:一个字符常量可以赋值给一个字符变量,而字符串不可以一个字符常量可以赋值给一个字符变量,而字符串不可以 二者界定符不同二者界定符不同 二者的存储方式不同:存储字符串时,在其末尾加一个二者的存储方式不同:存储字符串时,在其末尾加一个0作为结束标志,但不输出。即存储字符串时,比字符串中作为结束标志,但不输出。即存储字符串时,比字符串中所有字符个数加起来多一个。所有字符个数加起来多一个。“0”的含义是的含义是“空操作空操作”,不产生任何作用,只起标志作,不产生任何作用,只起标志作用用 无字符串变量,但可用字符型数组进行存储无字符串变量,但可用字符型数组进行存储第24页,共73页,编辑于2022年,星
22、期三一、赋值:向变量所代表的存储单元传送数据的操作,用一、赋值:向变量所代表的存储单元传送数据的操作,用“=”表示表示二、赋值的一般形式:变量二、赋值的一般形式:变量=表达式;表达式;三、可以先定义变量,后赋值;也可以在定义变量时直接赋值三、可以先定义变量,后赋值;也可以在定义变量时直接赋值四、对几个变量同时赋值:四、对几个变量同时赋值:1、int a,b,c=5;2、int a=3,b=3,c=3;3、int a;a=3;4、int a,b,c;c=5;3.6 变量赋初值变量赋初值第25页,共73页,编辑于2022年,星期三3.7 各类型数值数据间的混合运算各类型数值数据间的混合运算一、转换
23、原因:不同类型之间进行运算,必须先转换为同一类型一、转换原因:不同类型之间进行运算,必须先转换为同一类型二、转换的类型:实型、整型、字符型二、转换的类型:实型、整型、字符型三、转换规则:三、转换规则:doublefloatlongunsignedintchar,short 1、按、按“向高看齐向高看齐”的原则,将的原则,将“较低较低”的类型进行提升的类型进行提升 2、所有、所有char 或或short型全部自动转换为型全部自动转换为int型型 3、所有、所有float型转换成型转换成double型型图形注解:纵向箭头表示转换方向图形注解:纵向箭头表示转换方向 横向箭头表示必然转换横向箭头表示必
24、然转换第26页,共73页,编辑于2022年,星期三注意:注意:箭箭头头方方向向只只表表示示数数据据类类型型由由低低向向高高转转换换,不不要要理理解解为为int型型先先转转换换成成unsigned型型,再再转转换换成成long型,最后转换成型,最后转换成double型。型。第27页,共73页,编辑于2022年,星期三3.8 算术运算符和算术表达式算术运算符和算术表达式(一)按功能划分:(一)按功能划分:1、算术运算符:、算术运算符:+、-、*、/、%2、关系运算符:、关系运算符:、=、=、!=3、逻辑运算符:!、逻辑运算符:!、&、|4、位运算符:、位运算符:、|、&5、赋值运算符:、赋值运算符
25、:=、+=、-=、*=、/=6、条件运算符:、条件运算符:?,:7、逗号运算符:,、逗号运算符:,8、指针运算符:、指针运算符:*、&9、求字节数运算符:、求字节数运算符:sizeof 10、强制类型转换运算符:强制类型转换运算符:(类型名类型名)11、分量运算符:、分量运算符:12、下标运算符:、下标运算符:13、其它:函数运算符、其它:函数运算符一、一、C运算符分类运算符分类第28页,共73页,编辑于2022年,星期三(二)按所需操作数个数划分(二)按所需操作数个数划分 1、单目运算符、单目运算符 2、双目运算符、双目运算符 3、三目运算符、三目运算符第29页,共73页,编辑于2022年,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 运算 表达式 幻灯片
限制150内