精华内容
下载资源
问答
  • C语言之实型数据类型

    千次阅读 2017-03-19 19:39:04
    实型数据类型指的就是浮点数或实数1、实型数据类型的分类类型说明符比特数(字节数)有效数字数的范围float32(4) 6~7-10的38次方~10的38次方 double64(8) 15~16 -10的308次方~10的308次方由以上内容可以看出:...

    实型数据类型指的就是浮点数或实数

    1、实型数据类型的分类


    类型说明符

    比特数(字节数)

    有效数字

    数的范围

    float

    32(4)

          6~7

    -10的38次方~10的38次方      

    double

    64(8)

        15~16

         -10的308次方~10的308次方

    由以上内容可以看出:

    (1)实型数据没有办法精确的表示所有数字,因此表示的范围大

    (2)相邻两个数据的距离是不等距的

    (3)每一种实型数据都有自己的有效位数和精度

    2、实型数据的表示

    1) 十进制数形式
    由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数。
    注意,必须有小数点。
    2) 指数形式
    由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:
        a E n(a为十进制数,n为十进制整数)
    其值为 a*10n。如:2.1E5 (等于2.1*105) 3.7E-2 (等于3.7*10-2) 0.5E7 (等于0.5*107) -2.8E-2 (等于-2.8*10-2)
    以下不是合法的实数:
    345 (无小数点)
    E7 (阶码标志E之前无数字)
    -5 (无阶码标志)
    53.-E3 (负号位置不对)
    2.7E  (无阶码)

    3、C语言中float和double数据在内存中的表示

     

    前面的符号位很容易判断为0或者是1,指数部分称之为阶码,这个阶码部分是由偏置值(127或1111111)和阶码真值相加得到的,阶码真值符合IEEE-75标准,这个标准规定了是这个数一定能写成1.--*2的多少次方的形式,尾数部分的存储是原码的存储。


    展开全文
  • 对于实型数据和整型数据

    千次阅读 2017-10-31 15:29:01
    将实型可以看做实数,整型看做整数 1:这里注意,整型数据只能用八进制,十进制,十六进制表示. 八进制在这数字前面加0,表示 十六进制前面加0x或者0X.2:实型数据只能用十进制小数或者指数表示. 10.34 5e-3

    将实型可以看做实数,整型看做整数

    1:这里注意,整型数据只能用八进制,十进制,十六进制表示.
    八进制在这数字前面加0,表示
    十六进制前面加0x或者0X.

    2:实型数据只能用十进制小数或者指数表示.
    10.34
    5e-3

    展开全文
  • 第三节 实型数据 知识点:实型的定义方法和实型常量的表达方法; 重要程度:★★★★ 1、实型常量 在C语言中,实型常量有两种表示形式:小数形式和指数形式。 (1)小数形式 规则如下:1. 有且仅有一个小数点。...

    第三节 实型数据

    知识点:实型的定义方法和实型常量的表达方法;

    重要程度:★★★★

    1、实型常量

    在C语言中,实型常量有两种表示形式:小数形式指数形式

    (1)小数形式

    规则如下:1. 有且仅有一个小数点。

              2. 左边和右边可以有一边没有数据,但是不能同时没有数据。

    如:3.14159     0.158    12.     .36     0.0     -18.0

     

    (2)指数形式(EE后都有数,E后必为整数

    规则如下:1. 有且仅有一个字母e(或者E)。

              2. 左右两边都必须有数据。

              3. 左边可以是整数也可以是小数。

              4. 右边只能是整数。

    以下列举出几个正确的指数形式:

    1e5             (表示数值1´105

    1.25E+4        (表示数值1.25´104

    2.0E-3          (表示数值2.0´10-3

    实型常量的常见错误:

    12                 (缺少小数点,12其实为一个整型的常量而不是实型常量)

    e5                (缺少小数部分)

    1.25E            (缺少指数部分)

    2.0E1.3         (指数部分不是整数)

     

    1: 以下选项中合法的实型常数是

    A)5E2.0                 B)E-3                C).2E0        D)1.3E

    分析:本题的答案是C。

    选项(A)的指数部分不是整数。

    选项(B)缺少小数部分。

    选项(D)缺少指数部分。

     

    2: 以下选项中,不能作为合法常量的是    

    A)1.234e04                     B)1.234e0.4             C)1.234e+4              D)1.234e0

    分析:选项(B)的指数部分不是整数,所以答案为B,其它选项均为正确的常量。

     

    2、实型变量

    C语言中,实型变量分为单精度实型(float)变量与双精度实型(double)变量两种。它们定义的形式分别如下:

    float  x,y,z;                   /*定义单精度实型变量x,y,z */

    double  a,b,c;         /*定义双精度实型变量a,b,c*/

    double的精度比float好!

    第四节 字符型数据

    知识点:字符型常量;字符型变量;转义字符;

    重要程度:★★★★★(字符可当作整型使用)

    1、字符常量  字符常量是由一对单引号括起来的。

    1)由一对单引号括起来的单个字符:

    单引号中只有一个字符:  '0'、'A'、'a'、' '、'#'。

    2)由一对单引号括起来的,里面是由斜杠“\”引起的若干字符:

    在单引号中,都由“\”开头: '\n '、'\t '、'\\'、'\''、'\"'、'\0 '、'\377 '、'\xff '。这个“\”称为转义字符。转义字符后面的内容失去了原来的意义,如'\n'表示换行符,而不是字母n了。

     

    每个字符都有一个ASCII码与之对应。(字符可以看成整形)

    如字符'0'的ASCII码值为48,我们简称字符'0'的值为48。同样,'A'的值为65'a'的值为97

    字符型数据进行运算,使用的其实都是这个字符对应的ASCII码值。

    C语言中一共有三种转义字符:一般转义字符八进制转义字符十六进制转义字符

    表3  C语言中常用的转义字符

    字符形式

               意义

    字符形式

             意义

       \n

    换行

        \\

    一个反斜杠字符 \

       \t

    横向跳格(Tab)

        \'

    一个单引号 '

       \v

    竖向跳格

        \"

    一个双引号 "

       \b

    退格符(backspace)

       \ooo

    1~3位八进制数代表的字符

       \r

    回车符

       \xhh

    1~2位十六进制数代表的字符

       \f

    换页符

        \0

    空值

    (1)一般转义字符

    '\n'、'\\'、'\"'等,由一个“\”开头加一个普通字符组成。请牢记表3中粗体的转义字符。

     

    (2)八进制转义字符

    它是由“\”与其后的1~3位八进制数字构成的字符序列。

    反斜杠后面的十六进制数不需要以0开头。’\061’就错了

    '\61'首先把61这个八进制化成十进制,得到49,ASCII为49的字符就是’1’。.

    '\101'首先把101这个八进制化成十进制,得到65,ASCII为65的字符就是’A’。.

     

    (3)十六进制转义字符

    它是由“\x”与其后的1~2位十六进制数字构成的字符序列。

    反斜杠后面的十六进制数不需要以0x开头。’\0x77’错了!

    但是反斜杠之后的必须是小写字母x,而不能是大写字母X,也不能是其它形式。’\0X77’错了!

    '\x42'表示字符常量'B'

    '\x6e'分别表示字符常量和'n'。

     

    字符型常量的常见错误:

    (1)把"a"看作字符常量。字符常量的标志是一对单引号' ',而不是双引号" "。

    (2)一对单引号中有多个字符。'65'是非法的字符常量。(常考

    (4)′\ooo′中出现数字8。′\ooo′中只能出现字符0~7。

    (5)'\xhh'中,忘记书写字符x。

     

    1: 以下不合法的字符常量是

    A  ′\018′        B  ′\′″           C  ′\\′          D  ′\xcc′

    分析:本题是2006年4月考题,考察点在字符常量的概念。此题答案为A。

    A中为八进制转义字符,但是八进制数不能出现8,因此错误。

    B中是一般转义字符,表示一个双引号字符,正确。

    C中是一般转义字符,表示一个反斜杠字符,正确。

    D中匹配十六进制转义字符,cc是合法的十六进制数,正确。

     

    2、字符变量(考试重点)

    char a:        等价于      char a

    a='A';                      a = 65;

    变量a中存放了'A'的ASCII码值65。前面已经知道,字符型数据都是被处理为整型量,因此,可以直接对字符变量赋字符常量对应的ASCII码值。如赋值语句a=65;与赋值语句a='A';等价。

     

     

    2: 已定义c为字符型变量,则下列语句中正确的是

    A)  c=‘97’;     B) c="97";           C) c=97;        D) c="a";

    分析:答案选择C。

    A中'97'为非法的字符常量。单引号内不能出现多个字符。

    B中"97"为字符串,字符常量的标志的一对单引号,而不是双引号。

    C将整型量97赋给字符变量c,即将ASCII码值为97的字符常量'a'赋给变量c,正确。

    D中"a"不是字符常量,而是字符串。

     

    3、对字符型数据的运算

    1、对字符进行算术运算就是将字符对应的ASCII码值进行运算。

    如:'D'-'C'的值为1。因为我们用'D'和'C'的ASCII码68、67分别替换'D'、'C'之后,等价于求68-67的值。又例如,'C'+1的值为'D'。

     

    2、大写字母的ASCII码与对应的小写字母的ASCII码相差32

       大写字母    转换成    小写字母

    'A'       加上32       'a'

    如'A'与'a'的ASCII码分别为65和97。这样我们经过简单的算术运算就可以进行大小写字母字符的转换。如'A' +32即为,'a'-32即为'A'。

     

    3、字符数字的ASCII码与对应的数字的ASCII码相差了48.

    字符数字     转换成       数字

         ‘1’         减去48        1

    转载于:https://www.cnblogs.com/zhugeanran/p/8425937.html

    展开全文
  • 实型数据在内存中的存放形式

    千次阅读 2018-08-19 17:22:40
    1.实型数据在内存中的存放形式 实型数据一般占4个字节(32位)内存空间。按指数形式存储。实数3.14159在内存中的存放形式如下: + .314159 + 1  数符 小数部分 指...

    实型变量

    1.实型数据在内存中的存放形式

    实型数据一般占4个字节(32位)内存空间。按指数形式存储。实数3.14159在内存中的存放形式如下:

    +

    .314159

    +

    1

              数符           小数部分                        指符        指数

    小数部分占的位(bit)数愈多,数的有效数字愈多,精度愈高。

    指数部分占的位数愈多,则能表示的数值范围愈大。

    实际上,小数部分是一个二进制纯小数,指数部分以补码存放。

    2.实型变量的分类

    实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。

    在Turbo C中单精度型占4个字节(32位)内存空间,其中数符1位,小数部分23位,指符1位,指数7位,所以其数值范围为3.4E-38~3.4E+38,只能提供6~7位有效数字。双精度型占8 个字节(64位)内存空间,其中数符1位,小数部分23位,指符1位,指数10位,其数值范围为1.7E-308~1.7E+308,可提供15~16位有效数字。

    表2.2

    类型说明符

    比特数(字节数)

    有效数字

    数的范围

    Float

    32(4)

    6~7

    10-37~1038         

    Double

    64(8)

    15~16

    10-307~10308

    long double

    128(16)

    18~19

    10-4931~104932

    3.实型变量的定义形式及初始化与整型相同。

    类型说明符:float(单精度实型), double(双精度实型)。 

    例如:

    float x=1.27 , y=3.5 4;        /*x,y为单精度实型变量,且初值为:1.27和3.54*/

    double a,b,c;    /* a,b,c为双精度实型变量*/

    在计算机中,存放浮点数一般采用定点数和浮点数两种表示方法。C语言中采用的是浮点数表示法,以Turbo C中的float型的7.8125×10-2为例,其数据存储的格式如下

    0

    10100000000000000000000

    1

    0000011

    数符        小数部分(23位)                指符   指数(7位)

    即二进制的0.101×10-11,转化为十进制为0.625×2-3,即7.8125×10-2。

           对于double型的数据小数部占53位(包括数符一位),指数部分占11位(包括指符一位)。

           对于long double型的数据小数部分占113位(包括数符一位),指数部分占15位(包括指符一位)。

    4.实型数据的舍入误差

    实型变量也是由有限的存储单元组成的,能提供的有效数字是有限的。这样就会存在舍入误差。看一个例子:

    【例2.8】一个较大实数加一个较小实数。

    main()

    {

    float x=7.24356E10, y;

                y=x+54;

    printf("x=%e\n",x);

    printf("y=%e\n",y);

    }

    程序执行的结果为:

    x=7.24356E10

    y=7.24356E10

    这里x和y的值都是7.24356E10,显然是有问题的,原因是由于float只能保留6~7位有效数字,变量y所加的54被舍弃。因此由于舍入误差的原因,进行计算时,要避免一个较大实数和一个较小实数相加减。

    5.实型数据的溢出

    【例2.9】

    main()

    {

                 float a,b,c,d;

    a=1.2E33;

    b=0.5E-22;

    c=0.25E-21;

    d=a/b;

    d=d*c;

                printf("c=%f\n ",d);

          }

    结果会出现

    Floating point error: Overflow

    这是由于程序中a/b的运算的结果超出了float型能表示的范围产生溢出。所以在使用中应避免直接用一个较大的数除以一个较小的数。可以将程序的计算部分d=a/b; d=d*c; 改为:

    d=a*c; d=d/b; 或 d=a/b*c;

    以避免这种情况的发生。也许有人会提出d=a/b*c为什么不产生溢出哪?其原因是,在Turbo C中float型数据在计算时要先转换为double型数据,计算后再转换为float型数据赋给float变量d。

    2.4.3实训 使用实型数据

    实训目的:正确书写实型常量,合理选择实型变量存放数据

    实训内容

    1、已知三角形的底为2.8cm,高为4.3cm,求三角型的面积。

    编程如下:

    main()

    {float d=2.8,h=4.3, s;

    s=d*h/2;

    printf(“s=%f”,s);

    }

    程序运行的结果为:

    s=6.020000

         2、将摄氏温度27.5度转换为华氏温度。转换公式为

    编程如下:

    main()

    {

    float f=27.5,c;

    c=5.0/9*(f-32);

    printf(“c=%f”,c);

    }

    程序运行的结果为:

    c=-2.500000

    3、上机验证1.0/7*7的结果是否为1.0。为什么?

    展开全文
  • 实型数据的舍入误差

    千次阅读 2018-11-26 19:52:32
    实型数据的舍入误差 实型变量是由有限的存储单元组成的,能提供的有效数字总是有限的 当有效位占满,后面的数字会自行匹配 #include<stdio.h> void main(){ float a,b; a=123456.789e5; b=a+20; ...
  • #include <stdio.h> #include <math.h> int main() { float a = 10.2222225, b = 10....// if(a == b) 一般情况下不用这种方式比较实型数据 if (fabs(a-b) < 1e-6) //double fabs(double),int abs...
  • 实型数据 1:实型常量的表示方法 实型也就是浮点型。实型变量也可以叫成实数或者浮点数。在C语言中,实数只采用十进制。它的形式有:十进制小数形式和指数形式。 2:实型变量的分类 单精度(float型)4个字节(32位...
  • 2.3 实型数据

    2020-06-23 00:04:27
    实型中的“实”即实数,有以下几类: 类型 关键字 数值范围 占用空间 浮点型 float (±)3.4E(+/-)38 4字节 双精度型 double (±)1.7E(+/-)308 8字节 不知道叫啥 long double (+/-)1.2E(+/-)4932 16字节 ...
  • 第三节:整型数据和实型数据

    千次阅读 2015-11-08 23:23:56
    整型数据和实型数据     一 常量:在程序运行过程中,不能更改的量。   分类:  1)整型常量 例如常用的自然数,不包括小数点 (在 C语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制...
  • 实型数据又称为浮点型数据。实型数据可分为单精度实型(float型)和双精度实型(double型)。 实型数据的长度、值域和精度 数据类型 类型说明关键字 占用字节 取值范围 精度(位) 单精度...
  • 实型数据的精确度

    2013-07-27 10:32:08
    1、实型数据的舍入误差 实型变量占据有限的存储单元,所以它能提供的有效数字也是有限的。在有效位以外的数字将被舍去,因此就会产生一些误差,如下例:
  • 本节我们来讲解C语言的实型数据。 1、实型常量的两种表示形式 2、实型变量的分类 3、实型数据的舍入误差
  • 实型数据解析

    2009-01-05 19:37:00
    转载::http://blog.csdn.net/hadao/archive/2007/04/27/1587905.aspx实型数据平常用的可能不多,有些知识也容易忽略。 实型又叫做浮点数,为什么这样叫我也不知道,:) 老外的叫法吧。 1、根据精度不同,可分为三...
  • C语言实型数据的存在形式以及合法性(浮点数): 参考文章: C语言中文网 实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式。 实数的表示: 十进制数形式 由数码0...
  • 实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式。 实数的表示 1) 十进制数形式 由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267...
  • C语言实型数据(浮点数)实型数据也称为浮点数或实数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式。实数的表示1) 十进制数形式由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、...
  • 3.编程从键盘输入10个实型数据存入file1文件中 #include<stdio.h> #include<stdlib.h> int main() { FILE *fp; double a[10]; printf("输入10个实型数据:(eg:1.1 2.3)\n"); int i; for(i=0;i<...
  • 第三节 实型数据 1、实型常量(实数):  浮点表示:1.23 1. 0.123  科学计数法:123e4 0.2e-1 2、实型变量  单精度浮点型: 4字节存储  例如:float i,j,k;  双精度浮点型: 8字节存储  例如...
  • 实型数据也称为浮点数或实数。 在C语言中,实数只采用十进制。 它有二种形式:十进制小数形式和指数形式。 实数的表示 1) 十进制数形式 由数码0~ 9和小数点组成。  例如:0.0、25.0、5.789、0.13、5.0、300....
  • C语言实型数据

    千次阅读 2014-05-03 17:39:56
    实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式:十进制小数形式和指数形式。 1) 十进制数形式 由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、...
  • 字符数据与整型数据可以相互赋值(即整型可以与字符型通用)。 例如: main() {char ch; ch='a'; printf("%c,%d\n",i,ch); //结果为a,97 } main() {char ch; int i; ch = "A"; ch = ch +32; i = ch; ...
  • 1.4.1 整型(int)编码过程中, 会经常与整型数据打交道, 比较常见的就是求绝对值, 如下a = 100b = -20print(a)print(b.__abs__())运行结果整型在算术运算时, 会遇到小数点精度问题, 例如a = 1 / 2 , 此时Python输出的...
  • c语言规定scanf实型数据不能规定小数点后面位数, 故scanf("%6.2f",&a)错误。
  • #include #define PAI 3.14159265358979//宏定义π注意位数尽量多,更加精确 ...//实型数据为float和double统称 scanf("%lf%lf",&r,&h);//double型输入输出 printf("%.2lf\n",2*PAI*r);//保留两位小数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,394
精华内容 957
关键字:

实型数据