charpter2数据类型、运算符与表达式

上传人:san****019 文档编号:70770161 上传时间:2019-01-18 格式:PPT 页数:48 大小:731.81KB
返回 下载 相关 举报
charpter2数据类型、运算符与表达式_第1页
第1页 / 共48页
charpter2数据类型、运算符与表达式_第2页
第2页 / 共48页
charpter2数据类型、运算符与表达式_第3页
第3页 / 共48页
charpter2数据类型、运算符与表达式_第4页
第4页 / 共48页
charpter2数据类型、运算符与表达式_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《charpter2数据类型、运算符与表达式》由会员分享,可在线阅读,更多相关《charpter2数据类型、运算符与表达式(48页珍藏版)》请在金锄头文库上搜索。

1、2012年3月2日星期五,C 语言程序设计,第二章 数据类型、运算符、表达式,2012年3月2日星期五,C 语言程序设计,2.1 C语言的数据类型 2.2 标识符、常量与变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算和表达式 2.7 数据类型转换 2.8 常见错误,本章内容,2012年3月2日星期五,C 语言程序设计,1、掌握常量、变量的概念,整型数据、实型数据、字 符型数据的表示方法,定义及使用方法。 2、掌握各种运算符的功能、运算优先级、结合性及使 用方法。 3、掌握各表达式的表示方法、求值方法和确定类型方法。 4、熟悉数据类型的转换。,本节重点,2012年

2、3月2日星期五,C 语言程序设计,2.1 C语言的数据类型,2012年3月2日星期五,C 语言程序设计,2.2 标识符、常量与变量,标识符命名规则: (1)只能由字母、数字和下划线组成,且以字母或下划线开头(或只能有数字打头)。 (2)一般不限制有效长度,随系统而异,但至少前个字符有效。如果超长,则超长部分被舍弃。 例如:由于student_name和student_number的前个字符相 同,有的系统认为这两个变量,是一回事而不加区别。 (3)在 标示符中,区分大小写。 (4)标示符命名做到见名思义,如:month,name,total (5)系统规定的标示符main,scanf,prin

3、tf不能做自定义的标示符。,2.2.1 标识符,标识符:是用来标识变量名、符号常量名、函数名、数组 名、类型名、文件名的有效字符序列。,2012年3月2日星期五,C 语言程序设计,定义: 在程序运行中,其值保持不变。,2.符号常量:用标示符来表示常量。 如: #define PI 3.14159,2.2.1 常量,两类,1.直接常量: 直接用数值表示的量。如100, B,例2-1 符号常量的使用 #define pi 3.14 main() int r=4; /圆的半径 float s; /圆的面积 float c; /圆的周长 c=2*pi*r; s=pi*r*r; printf(“圆的周长

4、为:%f 圆的面积为:%f“,c,s);,2012年3月2日星期五,C 语言程序设计,1、定义:在程序运行中,值发生变化的量。,int a,b;,类型名 变量名表,变量,256,3,注意:变量名和内存中的存储单元相对应,编写程序时通过变量名来存、取存储单元。,2、定义一般形式: ,2.2.1 变量,3、变量使用的三步: (1). 必须先定义变量; (2). 给变量赋值; (3).使用变量。,2012年3月2日星期五,C 语言程序设计,(1)以字母或下划线开头;,(2)不能用系统中的关键字作为变量名;,int a,b A123,_b;,4、有关变量名的规定,(3)变量名中的字母要区分大小写。 s

5、um、stu_name、_age、Lts_1_2、a2 32c、x.y、start+9、c2.0 NAME name 表示两个不同的标识符,int a; A=5;,不提倡大 小写混合 使用,String String=“123”;,2.2 标识符、常量和变量,(4)在同一函数体内,不能定义同名的 两个变量。,(5)在定义变量时,同时可以给变量赋值。,int a=b=2 (错误) int a=2,b=2(正确),2012年3月2日星期五,C 语言程序设计,三种表 示形式,十进制 八进制 十六进制,加前导0 , 如: 01234,0125,加前导0x, 如:0x1234,例,100、-8、0;01

6、0、024;0x38、0X1F,1234,2.3 整型数据,2.3.1 数据在内存中的存放形式,数据在内存中是以二进制存储的,计算机中存储器的最小存储单位为位(bit),8个二进制位组成一个字节(byte),字节是存放数据的最小单位。,2.3.2 整型常量,2012年3月2日星期五,C 语言程序设计,2.3.3 整型变量的分类,共六种,短整型 基本整型 长整型 无符号短整型 无符号整型 无符号长整型,short int int long int unsigned short,字节数,2 4 4 2,unsigned int unsigned long,4 4,类型标识符,2012年3月2日星期

7、五,C 语言程序设计,vc6.0 整型数据的存储情况,2.3.3 整型变量的分类,2012年3月2日星期五,C 语言程序设计,例2-2 整型变量的定义与使用 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=%d“,c,d); ,2.3.3 整型变量的定义,2012年3月2日星期五,C 语言程序设计,两种表示形式,小数 指数,0.123 3e-3,注意:实型常量只能用十进制形式表示, 不能用八进制和十六进制,用指数表示实型常量的规则: (1)在E或e的前必须有数字; (2)在E

8、或e的后必须是十进 制的整数 (3)在E或e的前后都不允许有空格。,2.4 实型数据,2.4.1 实型数据分类,2.4.2 实型常量,2012年3月2日星期五,C 语言程序设计,2、实型变量,注意:实型常量不区分单精度和双精度。,实型变量定义方法: (单精度) float 变量名 (双精度) double 变量名,2.4.2 实型变量,2012年3月2日星期五,C 语言程序设计,例2-3 变量的定义与使用 main() float x; double y; x=222222.222; y=222222.222; printf(“x=%f,y=%f“,x,y); ,2.4.2 实型变量,2012

9、年3月2日星期五,C 语言程序设计,定义:用单引号包含的一个字符是字符型常量。,注意:只能包含一个字符。,例如:a, A, 1 (正确的) abc “a” (错误的),2.5 字符型数据,2.5.1 字符常量,2012年3月2日星期五,C 语言程序设计,转移字符: 以“”开头的特殊字符称为转义字符。,printf(“%d t %d t”,a,b); printf(“%d n%d n”,a,b);,1 0 1 0,b 退格(backspace) 单引号 n 换行(newline) ddd 13位八进制数 t 制表符 (table) xhh 12位十六进制数 反斜杠字符 f 换页 ” 双引号 r

10、回本行开头(return),例如 :a为1,b为0,常用的转移字符及其含义,2.5.1 字符常量,2012年3月2日星期五,C 语言程序设计,(1) 定义形式,(2) 占存储空间,一个变量,1 字节,char,注:一个字符变量只能包含一个字符,(3) 输入输出格式形式 %c,例如: 有两个字符型数据 A 和a,2.5.2 字符变量,定义:字符型变量用来存放字符常量,关键字用char来定义。,2012年3月2日星期五,C 语言程序设计,在ASCII范围以内,整型数据 与字符型数据可以通用,main( ) char c ; c = c; printf ( “%c %d”, c,c ); ,C 99

11、,?,例,题目中有多个c,哪些是等价的?,运行结果:,练习1 参考书p21 例2-4,2.5.2 字符变量,2012年3月2日星期五,C 语言程序设计,例如: 双引号内的一串字符 “china”,注意:1、n个字符组成的字符串常量, 在内存中占空间 为n+1 个字节。,字符串结 束标记,2、 C 中没有专用的字符串变量。,例如:“This is C string” 串长 16 “a” 串长 1 “ ” (空格)串长 1 “” (不含空格)串长 0,2.5.3 字符串常量,2012年3月2日星期五,C 语言程序设计,2.6 运算符和表达式,算术运算符 赋值运算符 关系运算符 逻辑运算符 逗号运算

12、符 条件运算符 求字节运算符,C语言运算符,基本运算符,位运算符,位逻辑运算符 位移位运算符 位自反运算符,专用运算符,强制运算符 下标运算符 成员运算符 指针运算符,2012年3月2日星期五,C 语言程序设计,1、运算符,运算符,运算对象,X= 5 + b * c,对数据进行 运算的符号,被加工 的数据,+,表达式,共34 种,2.6.1 运算符、表达式概述,2012年3月2日星期五,C 语言程序设计,优先级: 运算符的执行顺序,结合性: 优先级相同时的结合方向,运算结果的类型,X=5+8 a100,X=a+b*c,a+b-c 471 a=b=8,结果?,2.6.1 运算符、表达式概述,20

13、12年3月2日星期五,C 语言程序设计,2、 学习运算符应掌握的要点:,(1) 运算符的种类与功能,(2)运算符与运算对象的关系,个数,类型,A + B,,(ab) ? a: b,目,关系,不同类型的变量,所 允许的操作不同,单目运算符: +i,i- 双目运算符:+,- 三目运算符:xy?a:b,注意:(1)单目运算符的优先级高于双目运算符。 (2)单目运算符从右向左结合。 (3)双目运算符从左向右结合。,2.6.1 运算符、表达式概述,2012年3月2日星期五,C 语言程序设计,(1) 共有5个:+,-,*,/,%,(2)“-”作为 负号时为单目,单目: -,双目:*, /, %,双目:+,

14、-,(4) 优先级:,(5) 结合性: 从左向右,(3) %运算只适用于整型数,取模(求余数) a=10%4 a的值为2,2.6.2 算术运算符及其表达式,1、基本的算术运算符,2、算术表达式,30-6/8+a 30-0+2,2.6.2 算术运算符及其表达式,2012年3月2日星期五,C 语言程序设计,1、关系运算:是一种比较运算,将两个值(表达式)进行比 较, 判 断比较的结果是否符合给定的条件。,2.6.3 关系运算符及其表达式,大于 , 大于等于 =,小于 , 不等 != 小于等于=,恒等=,,(1) 六个关系运算符:,=,!=的优先级低于其余四个,(2) 优先级:,关系运算的优先级高于

15、赋值,低于算术,区别 赋值,abc,(3) 结合性:从左向右,2012年3月2日星期五,C 语言程序设计,(1) 关系表达式的结果是一个逻辑值,根据关系是否满足,分别取 1,或 0,2、关系表达式:关系运算符与运算分量构成.,int i=1,j=7,a; a=i+(j%4!=0) a的值?,结果:a=2,(2) 使用关系表达式应注意,!,1) 数学上,判断x是否在区间 a,b 时,习惯上写成a=x=b,但在C 中,必须写成 a=x & x=b,&,2) 字符是按ASCII 存储的,因此a0 的值为逻辑 1,2.6.3 关系运算符及其表达式,2012年3月2日星期五,C 语言程序设计,1、逻辑运算符,(1) 有三个,& & (与) : 两边为1,结果为1 | (或):两边有一个为1,结果为1 ! (非):非1为0,非0为1,(2) 优先级:!的优先级高于&和|,逻辑运算与其他运算相比:非的优先级最高,与和或低于其他。,(3) 结合性:与和或是从左向右,非是从右向左,2.6.4 逻辑运算符及其表达式,2、逻辑表达式,如:(a+5)&b 逻辑运算的真值表见书p26 表2.4,2012年3月2日星期五,C

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

当前位置:首页 > 高等教育 > 大学课件

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