《c语言程序设计“第02章数据的存储及运算.ppt》由会员分享,可在线阅读,更多相关《c语言程序设计“第02章数据的存储及运算.ppt(19页珍藏版)》请在金锄头文库上搜索。
1、Return 第第2章章 数据的存储与运算数据的存储与运算2.1 常量和变量常量和变量 2.2 整型数据整型数据2.3 实型数据实型数据2.4 字符型数据字符型数据2.5 符号常量符号常量2.6 算术运算符和算术表达式算术运算符和算术表达式2.7 C运算符和运算符和C表达式表达式Return 2.1 常量和变量常量和变量1 什么是常量?什么是常量?在程序运行过程中其值在程序运行过程中其值不变不变的量。的量。2 什么是变量?什么是变量?在程序运行过程中其值在程序运行过程中其值可以改变可以改变的量。的量。包括:变量名、变量值、存储单元、变量地址包括:变量名、变量值、存储单元、变量地址3 变量的取名
2、规则变量的取名规则 字母(下划线)开头,字母、数字组成;字母(下划线)开头,字母、数字组成; 区分大、小写;区分大、小写; 简单易记,见名知义;简单易记,见名知义; 长度不限;长度不限; 不能重名。不能重名。 Return 4 变量必须变量必须“先定义,后使用先定义,后使用”定义变量的一般形式:定义变量的一般形式: 类型名类型名 变量名;变量名;定义变量的作用:定义变量的作用:根据定义的变量类型分配存储单元;根据定义的变量类型分配存储单元;系统检查到未定义的变量,会提示出错;系统检查到未定义的变量,会提示出错;根据类型,检查对变量进行的运算是否合法根据类型,检查对变量进行的运算是否合法;Ret
3、urn例题例题2.1问题:鸡兔同笼,总头数为问题:鸡兔同笼,总头数为h,总脚数为,总脚数为f,求有,求有多少只鸡?多少只兔?多少只鸡?多少只兔?1设计算法设计算法 设:鸡的数量为设:鸡的数量为x,兔的数量为,兔的数量为y,则有:,则有: x+y=h 2x+4y=f 解方程得:解方程得:y=(f-2h)/2 x=h-y 若若h=16,f=40Return2 编程序:编程序: #include void main() int h,f,x,y; h=16; f=40; y=(f-2*h)/2; x=h-y; printf(%d%d,x,y); Return 2.2 整型数据整型数据1整型常量的表示形
4、式整型常量的表示形式 常用十进制形式:如常用十进制形式:如12、-56。 2 整型变量的种类整型变量的种类 (1) int 整型。整型。 取值取值 :-32768+32767(2 byte) (2) long 长整型长整型 。 取值取值 :-2147483648+2147483647(4 byte) 3 整型变量的定义整型变量的定义 例如:例如:int a,b; long c; 4 整型变量的存储整型变量的存储 二进制形式直接存放到存储单元中。二进制形式直接存放到存储单元中。Return 2.3 实型数据实型数据1 实型常量的表示形式实型常量的表示形式 实数有两种写法:实数有两种写法:(1)小
5、数形式。例如)小数形式。例如3.14、9.8、0.5、0.0(2)指数形式:)指数形式:E(e) 如如: 12106 = 1.2e+7(规范化指数形式)(规范化指数形式) 0.000012 =1.2E-5 2 实型变量实型变量 的种类的种类 (1) float 单精度实型单精度实型 。 取值取值 :10-3810+38(4B),有效位数:,有效位数:7位位 (2) double 双精度实型双精度实型 。 取值取值 :10-30810+308(8B),有效位数:,有效位数:1516位位 Return3 实型变量的定义实型变量的定义 例如:例如:float x,y; double z;4 实型变量
6、的存储实型变量的存储 按照标准化指数形式,以二进制存储,数值按照标准化指数形式,以二进制存储,数值 部分占部分占3个字节,指数部分占个字节,指数部分占1 个字节。个字节。 5 实型变量的舍入误差实型变量的舍入误差 有效位数以外的数字将被舍去。有效位数以外的数字将被舍去。 6 把实数按双精度数处理把实数按双精度数处理 对实型变量最好都定义为对实型变量最好都定义为double型。型。Return例题例题2.2问题:已知三角形三边问题:已知三角形三边a,b,c,求面积,求面积s?1设计算法设计算法 设设p为三边和的一半,根据海伦公式:为三边和的一半,根据海伦公式: p=(a+b+c)/2 s=sqr
7、t(p*(p-a)*(p-b)*(p-c) 若若a=13.6,b=14.8,c=20.5 Return2 编程序:编程序: #include #include void main() double a,b,c,p,s; a=13.6;b=14.8;c=20.5; p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); printf(%f ,s); Return 2.4 字符型数据字符型数据1 字符常量的形式字符常量的形式 用单撇号括起来的一个字符,如:用单撇号括起来的一个字符,如:a,4,# 注意:键盘上的字符都可以作为字符常量,不包注意:键盘上的字符都可以作为字符常
8、量,不包 括日常用到的一些特殊符号。括日常用到的一些特殊符号。2转义字符转义字符 反斜杠反斜杠 后跟一个字符,如:后跟一个字符,如:n(换行符)。(换行符)。 转义字符是一个字符常量。转义字符是一个字符常量。 3 字符变量字符变量 用来存放字符常量,只能存放一个字符。用来存放字符常量,只能存放一个字符。 如:如: char c1,c2 ; c1=a; /*c1中存放中存放a的的ASCII码码97*/ c2=0; /*c2中存放中存放0的的ASCII码码48*/ Return4字符变量的存储字符变量的存储 占内存一个字节,存放字符的占内存一个字节,存放字符的ASCII码(见附码(见附录录A,p3
9、00)。)。5字符数据与整型数据字符数据与整型数据 由于字符在内存中存放的是由于字符在内存中存放的是ASCII码,实际是码,实际是一个整数,所以两种数据之间可以通用。一个整数,所以两种数据之间可以通用。 如:如:char c1, c2,c3; c1=97; /*与与c1=a等价等价*/ c2=48; /*与与c2=0等价等价*/ c3=A+32; /*字符数据可以当做整数字符数据可以当做整数 */ 区别:占字节数不同。区别:占字节数不同。Return6 字符串常量字符串常量 一对双撇号括起来的字符序列,如:一对双撇号括起来的字符序列,如: “dalian”、“How are you .” 字符
10、串的字符串的长度长度:串中包含的字符个数。:串中包含的字符个数。 字符串的字符串的存储存储:每个字符占一个字节,系统:每个字符占一个字节,系统自动在最后加上字符自动在最后加上字符0,作为结束标志。,作为结束标志。 如字符串如字符串“dalian”长度为长度为6,占,占7个字节。个字节。 注意:注意:区分区分 a和和 “a” a -字符常量,占字符常量,占1个字节个字节 “a” 字符串常量,占字符串常量,占2个字节个字节Return例题例题2.3问题:将小写字母问题:将小写字母a、b转换成大写字母转换成大写字母A、 B。 1设计算法设计算法 将小写字母的将小写字母的ASCII码的值减去码的值减去
11、32即可。即可。2 编程序:编程序: #include void main() char c1=a,c2=b; c1=c1-32; c2=c2-32; printf(%c, %cn“,c1,c2); printf(%d, %dn“,c1,c2); Return 2.5 符号常量符号常量1 符号常量的定符号常量的定义 #define PI 3.1415926 处理方法:在编译时将程序中所有的PI替换成 3.1415926。 #include与与#define均均为编译预处理命令。理命令。 注意:符号常量和变量的区别。2 符号常量的作用符号常量的作用 (1)含义清楚 (2)一改全改 Return2
12、.6 算术运算符和算术表达式算术运算符和算术表达式1算算术运算符运算符(1) 基本算基本算术运算符:运算符:*、/、%、 +、- 与数学中的含与数学中的含义基本相同:基本相同: 优先先级由高到底(先由高到底(先*、/、%后后+、- );); 同同级时结合性合性为自左至右(左自左至右(左结合性);合性); 双目运算符。双目运算符。 注意:两个整数相除的注意:两个整数相除的结果果为整数,如整数,如5/3值为1; %两两侧均均为整数。整数。(2) 自增、自减运算符:自增、自减运算符:+、- 前置:前置:x=+i;(x=-i;) 先加后用(先减后用)先加后用(先减后用) 后置:后置:x=i+;(x=i
13、-;) 先用后加(先用后减)先用后加(先用后减)Return2. 算算术表达式表达式 用算用算术运算符把常量、运算符把常量、变量、函数量、函数连接起来的、接起来的、 符合符合C语言言语法法规则的式子。的式子。 其中:常量、其中:常量、变量或函数本身亦量或函数本身亦为简单表达式。表达式。(1) 各各类数数值型数据型数据间的混合运算的混合运算 将两个不同将两个不同类型的运算型的运算对象先象先转换成同一成同一类型,型, 然后然后进行运算。行运算。 原原则:字:字节少的少的类型型转换为字字节多的多的类型。系型。系统自自动进行。行。 强制制类型型转换 (类型名型名)(表达式表达式)Return2.7 C运算符和运算符和C表达式表达式1 C运算符运算符 C语言中除了有算言中除了有算术运算符以外,运算符以外,还有有12种运种运算符,如关系运算符、算符,如关系运算符、逻辑运算符、运算符、赋值运算符、运算符、逗号运算符等(逗号运算符等(详见p42)。)。 2 C表达式表达式 C语言中共有五言中共有五类表达式:表达式: 算算术表达式;表达式; 关系表达式;关系表达式; 逻辑表达式;表达式; 赋值表达式;表达式; 逗号表达式;逗号表达式;Return练习题练习题