第2章基本数据类型



《第2章基本数据类型》由会员分享,可在线阅读,更多相关《第2章基本数据类型(47页珍藏版)》请在文档大全上搜索。
1、 2.1 求平均分 2.2 求三角形面积 2.3 整数逆序输出 2.4 四舍五入运算 2.5 综合应用实例 2.1 求平均分 例 2-1 输入某学生两门课的成绩,求平均分 分析: 1、百分制的学生成绩表达式一般不含小数,故两门课的分 数一般是整数。 2、平均分一般含小数,故在C中定义为单精度的实型数据。 3、输入成绩要用scanf()函数,整型数据的输入格式为%d。 4、输出平均分要用printf()函数,实型数据的格式符为%f。 5、算法:定义相关变量;输入两门课的成绩;求平均分; 输出平均分。2.1 求平均分 程序代码 #include void main() int score1,sco
2、re2; / 定义相关变量 float average; printf(请输入两门课的分数(百分制):); /输入提示 scanf(%d,%d,&score1,&score2); /输入成绩 average=(score1+score2)/2.0; /求平均分 printf(average=%4.1fn, average); /输出平均分 2.1 求平均分 C语言定义6种整型,分别是: 基本整型 int 无符号基本整型 unsigned int 短整型 short或 short int 无符号短整型 unsigned short或 unsigned short int 长整型 long或 lo
3、ng int 无符号长整型 unsigned long或 unsigned long int 2.1 求平均分 整数类型字节数及取值范围类类 型型字节数字节数取值范围取值范围int4-21474836482147483647 即即 -231 (231 -1)unsigned int 404294967295 即即 0 (232 -1)short2-32768 32767 即即 -215 (215 -1)unsigned short20 65535 即即 0 (216 -1)long4-21474836482147483647 即即 -231 (231 -1)unsigned long40429
4、4967295 即即 0 (232 -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”(即负数)时,其余位不是此数的二
5、进制值,应把它们按位求反,且在最低位加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 实型的相关规定类类 型型字节数字节数有效数字有效数字数值范围数值范围float47
6、-3.410-38 3.41038double816-1.710-308 1.710308long double1019-3.410-4932 3.4104932 实型数据按指数形式存储。float型在内存中占4个字节即32位0 1,分别存放符号位、规格化的尾数、阶符位和阶码。 例如,实数-32.28E-20的存储情况如图。 实型数据存在舍入误差,提供的有效数字是有限的,只有7(double是16)位,尾数在有效位以外的部分将被舍去。 20 - 0.322800 -实型数据的存储实型数据的存储2.1 求平均分 2.1.4 字符型 ASCII字符:大小写英文字母、数字、各种标点符号,控制字符,一
7、共128个。扩展ASCII字符:256个。 字符类型的数据在内存中存储的是ASCII码值,一个字符占一个字节的内存空间。 注:ASCII码字符的取值范围是0127,可用char和unsigned char类型表示;在128255范围内的扩展ASCII码字符只能用unsigned char类型表示。类类 型型字节数字节数取值范围取值范围char(有符号)(有符号)1-128 127 即即 -27 (271)unsigned char(无符号)(无符号)10 255 即即 0 (28 -1) 用一个字节(8位二进制信息)存储字符类型数据。对于无符号字符类型(unsigned char)数据直接存放
8、ASCII码或扩展ASCII码。对于有符号字符类型(char)的数据也是用补码存储的。 字符型数据可看成是只有一个字节的整数,与整数通用。字符型数据的存储字符型数据的存储2.2 求三角形 例 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。其
9、中2/ )(, )()(cbalclblallS2.2 求三角形 程序代码 #include #include void main() int a=4,b=5,c=6; / 变量定义及赋初值 float l,s; l=(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)十六进制整数,以0 x开头。如0 x4a即(4a)16,等于74。(4)长整型,
10、数尾加L(l)(5)无符号型,数尾加U(u)例如-63L、0123LU、0 x4aL等分别表示十进制有符号长整型数、八进制无符号长整型数和十六进制有符号长整型数。 2.2.2 常量常量1.整型常量整型常量2.2 求三角形 2.实型常量 实型常量只能用十进制形式表示,没有八进制和十六进制形式表示。 (1) 小数形式:由数字和小数点组成,如小数形式:由数字和小数点组成,如-0.12、3.1415926、 .4、 3. 等都是实数。等都是实数。(2) 指数形式:如指数形式:如1.8e5或或1.8E5都代表都代表1.8x105。但注。但注意字母意字母e(或(或E)之前必须有数字,且)之前必须有数字,且
11、e后面指数必须后面指数必须为整数,如为整数,如e3、2.1e3.2、e等都不是合法的指数形式。等都不是合法的指数形式。 字符型常量是由一对单引号括起来的单个字符构成,例如,a,b,1等都是有效字符型常量 一个字符型常量的存储值是该字符集中对应的ASCII编码值,常用字符的ASCII编码值如下: 字符AZ的码值是6590, 字符az的码值是97122, 字符09的码值是4857, 空格字符 的ASCII码值32。2.2 求三角形3.字符常量字符常量2.2 求三角形 C语言中转义字符字符形式字符形式功功 能能n换行,将光标从当前位置移到下一行开头换行,将光标从当前位置移到下一行开头t横向跳格,光标