基本数据类型(1)

上传人:woxinch****an2018 文档编号:60325339 上传时间:2018-11-15 格式:PPT 页数:47 大小:475KB
返回 下载 相关 举报
基本数据类型(1)_第1页
第1页 / 共47页
基本数据类型(1)_第2页
第2页 / 共47页
基本数据类型(1)_第3页
第3页 / 共47页
基本数据类型(1)_第4页
第4页 / 共47页
基本数据类型(1)_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《基本数据类型(1)》由会员分享,可在线阅读,更多相关《基本数据类型(1)(47页珍藏版)》请在金锄头文库上搜索。

1、第2章 基本数据类型,2.1 求平均分 2.2 求三角形面积 2.3 整数逆序输出 2.4 四舍五入运算 2.5 综合应用实例,2.1 求平均分,2.1.1 程序解析 例 2-1 输入某学生两门课的成绩,求平均分,分析: 1、百分制的学生成绩表达式一般不含小数,故两门课的分 数一般是整数。 2、平均分一般含小数,故在C中定义为单精度的实型数据。 3、输入成绩要用scanf()函数,整型数据的输入格式为%d。 4、输出平均分要用printf()函数,实型数据的格式符为%f。 5、算法:定义相关变量;输入两门课的成绩;求平均分; 输出平均分。,2.1 求平均分,2.1.1 程序解析 程序代码 #i

2、nclude void main() int score1,score2; / 定义相关变量 float average; printf(“请输入两门课的分数(百分制):”); /输入提示 scanf(“%d%d”, /输出平均分 ,2.1 求平均分,C语言定义6种整型,分别是: 基本整型 int 无符号基本整型 unsigned int 短整型 short或 short int 无符号短整型 unsigned short或 unsigned short int 长整型 long或 long int 无符号长整型 unsigned long或 unsigned long int,2.1.2 整

3、型,2.1 求平均分,整数类型字节数及取值范围,(1)short int型 补码为16位二进制数,它表示一个有符号整数,其特点是:当首位为0时表示一个正数,当首位为1时表示一个负数。正数的补码与其原码相同,而负数的补码为其对应正数的反码加1。如: +4补= 0000 0000 0000 0100 -4补= 1111 1111 1111 1100 (2)short int型负数的补码计算公式: X的补码=216-|X| X0,整型数据的存储,一个用补码表示的二进制数,最高位为符号位,当符号位为“0”(即正数)时,其余位即为此数的二进制值;但当符号位为“1”(即负数)时,其余位不是此数的二进制值,

4、应把它们按位求反,且在最低位加1,才是它的二进制值。如: X补= 1111 1111 1111 1101 则 X = - 000 0000 0000 0011 = -3,已知负数X的补码求原码也可通过公式: X= - 216 -(X的补码),整型数据的存储,2.1 求平均分,2.1.3 实型 实型数据又称浮点型数据,有三种类型 单精度浮点数类型,简称浮点类型 float 双精度浮点数类型,简称双精度类型 double 长双精度类型 long double 实型的相关规定,实型数据的存储,2.1 求平均分,2.1.4 字符型 ASCII字符:大小写英文字母、数字、各种标点符号,控制字符,一共12

5、8个。扩展ASCII字符:256个。 字符类型的数据在内存中存储的是ASCII码值,一个字符占一个字节的内存空间。 注:ASCII码字符的取值范围是0127,可用char和unsigned char类型表示;在128255范围内的扩展ASCII码字符只能用unsigned char类型表示。,用一个字节(8位二进制信息)存储字符类型数据。对于无符号字符类型(unsigned char)数据直接存放ASCII码或扩展ASCII码。对于有符号字符类型(char)的数据也是用补码存储的。 字符型数据可看成是只有一个字节的整数,与整数通用。,字符型数据的存储,2.2 求三角形,2.2.1 程序解析 例

6、 2-2 已知三角形的三边是4、5、6,现要求计算其面积 注:海伦公式为,分析: 1、三角形的三边边长a=4、b=5、c=6是常量,不需要键盘输入。 2、海伦公式计算时用到开平方根,在C中用数学函数sqrt()实 现,要求包含头文件math.h。 3、输出用printf()函数,注意实型数据的格式符为%f。 4、计算周长的一半时,要注意除数是2.0. 5、算法:变量定义及赋值;根据公式计算l和S;输出S。,2.2 求三角形,2.2.1 程序解析 程序代码 #include #include void main() int a=4,b=5,c=6; / 变量定义及赋初值 float l,s; l

7、=(a+b+c)/ 2.0; /计算l s=sqrt(l*(l-a)*(l-b)*(l-c); /计算面积s printf(“s=%fn”, s); /输出面积 ,2.2 求三角形,(1)十进制整数,如154、565、-6523。 (2)八进制整数,以0开头。如0123表示八进制(123)8,等于83。 (3)十六进制整数,以0x开头。如0x4a即(4a)16,等于74。 (4)长整型,数尾加L(l) (5)无符号型,数尾加U(u) 例如-63L、0123LU、0x4aL等分别表示十进制有符号长整型数、八进制无符号长整型数和十六进制有符号长整型数。,2.2.2 常量 1.整型常量,2.2 求三

8、角形,2.实型常量 实型常量只能用十进制形式表示,没有八进制和十六进制形式表示。,(1) 小数形式:由数字和小数点组成,如-0.12、3.1415926、 .4、 3. 等都是实数。 (2) 指数形式:如1.8e5或1.8E5都代表1.8x105。但注意字母e(或E)之前必须有数字,且e后面指数必须为整数,如e3、2.1e3.2、e等都不是合法的指数形式。,字符型常量是由一对单引号括起来的单个字符构成,例如,a,b,1等都是有效字符型常量 一个字符型常量的存储值是该字符集中对应的ASCII编码值,常用字符的ASCII编码值如下: 字符AZ的码值是6590, 字符az的码值是97122, 字符0

9、9的码值是4857, 空格字符 的ASCII码值32。,2.2 求三角形,3.字符常量,2.2 求三角形,C语言中转义字符,2.2 求三角形,字符串常量与字符常量的区别 (1) 字符常量由单引号括起来,字符串常量由双引号括起来。 (2) 字符常量占一个字节内存空间。字符串常量占的内存字节数等于字符串中字符所占的字节数加1。多余一个字节用于存放字串结束标记0。 注意:不要将单个字符组成的字符串常量与字符常量混淆。不能把一个字符串常量赋给一个字符变量。,4.字符串常量 字符串常量是由一对双引号括起来的字符序列组成的,例如“abc”、“a”等都是字符串常量。,2.2 求三角形,宏常量就是使用符号代表

10、常量。 C语言中允许用标识符定义一个常量,这种常量定义在C语言中被称之为“宏定义” 。其基本格式如下: #define N 10 /定义符合常量N,其值为10。 注意:宏定义的末尾一般不用分号,定义位置放在函数之外,5.宏常量,6.CONST常量 上宏常量中没有数据类型,编译器对宏常量不进行类型检查,只进行简单的字符串转换,有时产生意想不到的错误,此时可以使用const常量。其定义格式如下:,const int MAXN=100; /声明一个名为MAXN的整型const常量, 其值为100。,2.2 求三角形,变量是内存中的一块区域,其值在程序运行过程中可以被改变。必须先定义,后使用。在C语言

11、中使用标识符作为变量的名字。,2.2.3 变量,标识符是程序中表示数据和程序段的基本手段,是由字母、数字等字符组成的一个字符串。,1.标识符,标识符命名规则如下: 标识符只能由下划线“_”、数字与26个字母构成, 不能有汉字。 (2) 标识符的首字符必须是字母或下划线“_” 。 (3) C语言中区分大小写。 (4) 标识符不能使用系统关键字。 (5) 系统预定义标识符如define、include、系统函数名 如scanf、printf等可作为用户标识符,但建议不用。 (6) 命名尽量作到“见名知义”,例如max、score等。 (7) 避免使用易混字符,如1、l、i;0、o;2、z等。,2.

12、2 求三角形,2.2 求三角形,是指系统预定义的保留标识符,又称保留字。它们有特定含义,不能再作其它用途。ANSI C定义的关键字共32个,2.关键字,2.2 求三角形,类型 变量名=初值,变量名=初值,; 例如: char a; float f; double x,y,min; int m,n=3,w=5; 【注意】不能用关键字做变量名;在一个函数中,同一个变量不能被定义两次;变量未赋值时其值是随机的。,3.变量的定义和初始化,2.2 求三角形,2.2.4 函数,C语言中提供许多事先编好的函数,供用户使用,如例2-2的求平方根函数sqrt()。 用户调用库函数时,要#include命令将函数

13、所在的头文件包含到程序中。 常用的数学库函数有: 绝对值函数fabs(x) 平方根函数sqrt(x) 幂函数pow(x,n) 以e为底的对数函数loge(x) 指数函数exp(x),例 2-3 计算银行存款的本息,输入存款金额money、存期year和年利率rate,根据公式计算存款到期时的本息合计sum,输出时保留两位小数。注:,程序代码 #include #include void main() int money,year; / 定义相关变量 float rate,sum; printf(“Enter money:”); /提示输入money scanf(“%d”, ,2.3 整数逆序输

14、出,2.3.1 程序解析 例 2-4 输入一个两位整数,要求将该数逆序输出,#include void main() int a,b; / b表示a的逆序 int x,y;/x和y分别表示a的个位数和十位数 printf(“请输入一个两位数:”); scanf(“%2d”, ,2.3 整数逆序输出,1.基本算术运算符(+加 减 *乘 /除 %求余) (1)运算符%仅用于整型数据的运算,a%b的结果为a除以b的余数,余数的符号与被除数相同。 (2)运算符+、-、*、/的操作对象可以是整数,也可以是实数。当操作对象均是整数时,结果仍是整数;若两个操作对象中有一个是实数,则结果为double型。 (

15、3)当两个整数相除时结果为整数。但是如果除数或被除数中有一个为负数,则舍入的方向是不固定的。多数机器采取“向零取整”方法,即-5/3=-1,取整后向零靠拢。,2.3.2 算术运算,2.3 整数逆序输出,表达式是由常量、变量、函数和运算符构成的式子。 (1) 算术表达式定义 由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式称为算术表达式。如a+b-c/d*(a-c) 。 (2) 优先级和结合性 在表达式求值时,先按运算符优先级别高低次序执行。若一个运算对象两侧的运算符的优先级别相同,如a-b+c,则按规定的“结合方向”处理。 算术运算符的结合方向为“自左至右”,又称为左结合性,即先

16、左后右,因此先执行a-b的运算,再执行加c的运算。,2.算术表达式及其优先性和结合性,2.3 整数逆序输出,自增运算符+既可以放在操作数前,也可以放在操作数后,操作对象只能是变量,不能是常量或表达式。 如 i+,i- /* 表示在使用i值之后将i的值加(减)1*/ +i,-i /* 表示在使用i值之前将i的值加(减)1*/ 例如:设i的原值为5 j=i+; /*先将i赋给j,i再自增1,i的值为6,j的值为5 */ j=+i; /*先将i的值自增1,再赋给j,i的值为6,j的值为6 */,3.自增+、自减- 运算符,2.3 整数逆序输出,(1) 自增自减运算符的优先级高,和单目运算符相同。其结合方向自是“自右向左”(右

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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