第03章运算符和表达式11.ppt
《第03章运算符和表达式11.ppt》由会员分享,可在线阅读,更多相关《第03章运算符和表达式11.ppt(61页珍藏版)》请在三一文库上搜索。
1、1,第三章 数据类型、运算符与表达式,C的数据类型 常量与变量 整型数据 实型数据 字符型数据 变量赋初值 各类数据型数据间的混合运算,算术运算符和算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式 关系运算符和关系表达式 逻辑运算符和逻辑表达式 位运算符和位运算,2,3.0 预备知识,计算机中数的表示及进制转换 数码、基与权 数码:表示数的符号 基:数码的个数 权:每一位所具有的值 数制:二进制、八进制、十进制、十六进制 各种进制之间的转换 非十进制 (二、八、十六进制) 转换成十进制 方法:按权相加 十进制转换成非十进制 (二、八、十六进制) 方法:除基反序取余(整数部分),3,二
2、进制与八进制之间的转换 二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制 八进制转换成二进制:用3位二进制数代替每一位八进制数 二进制与十六进制之间的转换 二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制 十六进制转换成二进制:用4位二进制数代替每一位十六进制数,4,字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1 数值的表示方法原码、反码和补码 原码:最高位为符号位,其余各位为数值本身的绝对值 反码: 正数:反码与原码相同 负数:符号位为1,其余位对原码取反 补码: 正数:原码、反码
3、、补码相同 负数:最高位为1,其余位为原码取反,再对整个数加1,5,(用一字节表示数),6,3.1 C语言的数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,7,3.2 常量与变量,一、标识符 1、定义:可用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。 2、命名规则: 由字母、数字、下划线组成 以字母或下划线打头 区分大小写 命名尽量做到“见名知义” Turbo C允许标识符最大长度32个字符,建意不超过8个字符 不允许和关键字相同,8,二、常量 1、常量:在程序运行过程中,值不变的量。 2、直接常量:即常数。如 1、2、
4、35、a。可以分为实型、整型、字符型。其特点是从字面上即可判定它们是某一类型的常量。也称“字面常量” 3、符号常量:在一个程序中指定用一个符号代表一个常量。 符号常量用# define命令定义。其值不能改变。习惯上用大写。 如在程序的开头有如下定义: # define PI 3.1415926 则在整个程序中可用“PI”代替3.1415926进行运算,9,例1: #define PRICE 30 main() int num, total; num = 10; total = num * PRICE; printf(“total = %d“, total); ,10,2.3变量 概念:其值可以
5、改变的量 变量名与变量值、变量地址 变量定义的一般格式: 数据类型 变量1,变量2,变量n;,变量初始化:定义时赋初值,例: int a,b,c; float data;,决定分配字节数 和数的表示范围,合法标识符,例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;,变量的使用:先定义,后使用,例1 int student; stadent=19; /Undefined symbol statent in function main,例2 float a,b,c; c=a%b; /Illegal
6、 use of floating point in function main,变量定义位置:一般放在函数开头,Ch2_005.c,11,三、变量 1、定义:在程序运行的过程中,值可以改变的量。 2、变量的属性: 变量名:合法标识符。 变量值:变量的存储空间中存放的变量的内容。 存储单元:变量定义后,为其分配存储空间的起始位置。,12,| &a2500H | 2501H |- 1250 - a=1250 &b2502H | 2503H |- - 2504H |- 123.67 - b=123.67 2505H |- - 2506H | 变量名、变量值、变量地址间的关系,地址、变量名和变量值区别
7、举例如: int a=1250; float b=123.67;,变量的属性:,13,一、整型常量:有三种表示形式 1、十进数形式:1、98、345 2、八进数形式:以0 开头的数字。01、076 3、十六进数形式:以0x开头的数字。0x3F、0x765,3.3 整型数据,14,例 整数的不同进制数表示及转换。 main( ) printf(“%d %x %on“,125,125,125); printf(“%d %x %on“,045,045,045); printf(“%d %x %on“,0x32,0x32,0x32); 执行结果: 125 7d 175 37 25 45 50 32 6
8、2,15,二、整型变量:(有符号和无符号) 类型 有符号 无符号 基本型(简称整型) signed int unsigned int 短整型 short或short int unsigned short 长整型 long或long int unsigned long 说明:无符号型加unsigned修饰符表示,只表示正数,无符号位。 各类型数据所占宽度和范围见书43页表3.1,16,三、整型变量的定义: 1、变量的定义一般在函数的开头部分;也可以在其它位置,但定义的位置影响变量的作用范围。 2、一条定义语句可定义多个同种类型的变量,各变量之间用逗号分隔。 3、变量类型符与其后所定义变量之间用空
9、格分隔。 如: int a; unsigned short b,c; long d;,17,四、整型常量的类型 整型常量赋值给整型变量时的注意事项: 1、如果一个整型常量在-3276832767之间,可以赋给int 型和变量long int型变量。 2、如果一个整型常量在-231231-1之间,可以赋给long int型变量 3、在一个整型常量后加一个字母 l 或L,则编译器把该整型常量作为long类型处理。如:123L、0L,18,一、实型常量:实数又称为浮点数,有两种表示形式 1、十进制数形式:由数字和小数点组成(必须有小数点) 如:43.2、89.、 .86 2、指数形式:即科学计数法。
10、如:45e2相当于45102、34e5相当于34105。字母e前必须有数字,字母e后必须是整数。 “规范化指数形式”:在指数形式中,小数部分中的小数点前有且只有一位非零数字。,3.4 实型数据,19,二、实型变量 (分为三种类型) 1、单精度型(float): 字节数:4,有效位 7 2、双精度型(double):字节数:8,有效位 15 3、长双精度型(long double):字节数:16,有效位 18 实型常量不分单、双精度。可任意赋值,但有效数位不同。 三、实型数据的舍入误差 四、存储方式:按指数形式,eg7.45623在内存中的存放形式,20,3.5 字符型数据,一、字符型常量:用一
11、对单引号括起来的一个字符。 二、字符常量的分类: 1、普通字符: 如:1、a、A、* 2、转义字符: 也称控制字符,如n。 说明: 用反斜杠开头后面跟一个字母代表一个控制字符。 反斜杠后面的字符失去原来的含义,21,字符形式 功能 n 回车换行符 t 横向跳格:跳到下一个输出区(每一输出区为8 个字符位置) b 退格 r 回车不换行(回到本行起始字符位置) f 走纸换页 反斜杠字符 单引号(撇号) ddd 13位八进制数所代表的字符。如101表示A xhh 12位十六进制数所代表的字符。如x40表示A,常用转义字符形式及功能,22,3、字符常量 定义:用单引号括起来的单个普通字符或转义字符.,
12、字符常量的值:该字符的ASCII码值,如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例: A-101-x41-65,如 A65, a97, 048 , n10,如 a A ? n 101,转义字符:反斜线后面跟一个字符或一个代码值表示,例 转义字符举例(ch2_001.c,ch2_004.c) main() printf(“101 x42 Cn“); printf(“I say:“How are you?“n“); printf(“C Programn“); printf(“Turbo C“); ,运行结果:(屏幕显示) A B C Isay:”How
13、are you?” C Program Turbo C,例 main() printf(“Yb=n”); ,运行结果: 屏幕显示:= 打印机输出:,23,二、字符变量:用来存放字符常量。 说明: 一个字符变量占一个字节 一个字符变量只能存放一个字符 定义字符变量的关键字char 如:char c;,三、字符数据在内存中的存储形式及其使用方法 1、字符常量与整型常量存储时都以ASCII码形式存放 2、字符常量、整型常量可通用。,24,例: main( ) char c1,c2; /*定义两个字符型变量*/ c1=97; c2=98; /*分别给两个变量赋整型常量的值*/ printf( “%c
14、%c”,c1,c2); /*以字符格式输出两个字符型数据*/ printf(“%d %d”,c1,c2); /*以十进制格式输出两个字符型数据*/ ,输出: a b 97 98,25,例3: main( ) char c1,c2; /*定义两个字符型变量*/ c1=a; c2=b; /*赋字符型常量*/ c1=c1-32; c2=c2-32; /*分别减去32*/ printf(“%c %c”,c1,c2); /*输出两个字符型数据*/ ,输出: A B,26,字符常量与字符串常量不同,四、字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志
15、,例: char ch; ch=“A”;,27,一、赋值:向变量所代表的存储单元传送数据的操作,用“=”表示 二、赋值的一般形式:变量=表达式; 三、可以先定义变量,后赋值;也可以在定义变量时直接赋值 四、对几个变量同时赋值: 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 变量赋初值,2、int a=b=c=3;,28,3.7 各类型数值数据间的混合运算,一、转换原因:不同类型之间进行运算,必须先转换为同一类型 二、转换的类型:实型、整型、字符型 三、转换规则:见下页,29,30,3.8 算术运
16、算符和算术表达式,(一)按功能划分: 1、算术运算符: +、-、*、/、% 2、关系运算符: 、=、 、|、& 5、赋值运算符: =、+=、-=、*=、/= 6、条件运算符: ? , : 7、逗号运算符: , 8、指针运算符: *、& 9、求字节数运算符: sizeof 10、强制类型转换运算符: (类型名) 11、分量运算符: 、 - 12、下标运算符: 13、其它:函数运算符,一、C运算符分类(见附录C,P365),31,(二)按所需操作数个数划分 1、单目运算符 2、双目运算符 3、三目运算符,学习运算符应注意: 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别
17、结合方向(解释见下页) 结果的类型,32,运算符的优先级与结合性,语言规定了运算符的优先级和结合性。 结合性:当一个操作数两侧的运算符具有相同的优先级时,该操作数是先与左边的运算符结合,还是先与右边的运算符结合。 自左至右的结合方向,称为左结合性。反之,称为右结合性。 除单目运算符、赋值运算符和条件运算符是右结合性外,其它运算符都是左结合性。,33,二、算术运算符和表达式 1、基本算术运算符: + - * / % 结合方向:从左向右 优先级: - +(单目) -* / % - + - (2) (3) (4) 说明: “-”和“+”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 03 运算 表达式 11
链接地址:https://www.31doc.com/p-3417272.html