您当前的位置:首页 > 计算机 > 编程开发 > C语言

更多类型的数据――小数和字符

时间:01-03来源:作者:点击数:

int 可以用来表示整数,但是对小数却无能为力。请看下面的代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a=1234.888;
    printf("a=%d\n", a);
    system("pause");
    return 0;
}

输出结果:
        a=1234
        请按任意键继续. . .

看,小数点后面的数字被丢弃了。

小数

在C语言中,我们使用 float 来表示小数,例如:

float a=123.888;
float b=0.302;
float c=98.0;

float 是“浮点数”的意思,我们暂时可以认为浮点数就是小数,不必深究,不影响我们的学习。

输出浮点数用%f,请看下面的例子:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    float a=123.888;
    float b=0.302;
    float c=98.0;
    float d=1.23002398;
    float e=123;  // 整数
    printf("a=%f \nb=%f \nc=%f \nd=%f \ne=%f\n", a, b, c, d, e);
    system("pause");
    return 0;
}

输出结果:
        a=123.888000
        b=0.302000
        c=98.000000
        d=1.230024
        e=123.000000

%f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。也可以将整数赋值给 float 类型变量。

字符

我们前面提到过字符串,它是多个字符的集合,例如 "abc123";当然也可以只包含一个字符,例如 "a"、"1"。

但是为了使用方便,我们可以用 char 来专门表示一个字符,例如:

char a='1';
char b='$';
char c='X';
char d=' ';  // 空格也是一个字符

char 类型的字符用单引号' '来包围,而字符串用双引号" "包围,大家不要混淆,否则编译会出错。

数据类型

整数、浮点数、字符都是C语言中会使用到的数据,它们有一个专业的称呼,叫做数据类型(Data Type)。例如:

int a=1;
float b=10.09;
char c='@';

我们就可以说 a、b、c 的数据类型不同,a 是整型变量,b 是浮点型变量,c 是字符型变量。

整型、浮点型、字符型是C语言中的基本数据类型,必须要掌握,后续我们还会介绍更多数据类型,甚至可以自己定义一种新的类型。

注意:字符串比较特殊,C语言中没有这个数据类型,不能使用string a="abc123";这种方式来定义字符串,后面我们会讲解为什么。

字符与整数

先看下面一段代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char a=69;
    char b=0x46;  // 十六进制数以 0x 或 0X开头
    char c='G';
    int d=72;
    printf("a1=%c, a2=%d, b=%c, c=%d, d=%c\n", a, a, b, c, d);
    system("pause");
    return 0;
}

输出结果:a1=E, a2=69, b=F, c=71, d=H

代码第6行中,//及其后面的内容为注释(Comments)。注释用来对程序进行说明,编译器会忽略它,不去执行,我们将在《几个重要的C语言概念》一节详细讲解。

在ASCII码表中,E、F、G、H 的值分别是 69、0x46 (十进制为 70)、71、72。给 char 变量一个整数,然后以 %c 输出,它会根据 ASCII 码表转换成对应的字符,如果以 %d 输出,那么还是整数。同样,一个 char 变量以 %d 输出,会转换成对应的 ASCII 码值。反过来,int 变量以 %c 输出,会转换成对应的字符。可以看出,ASCII 码将字符和整数联系起来了,你可以给 char 变量一个整数,也可以给 int 变量一个字符,它们可以相互转换。

不明白的读者请重温《ASCII编码与Unicode编码》一文,并猛击这里查看整数与字符的完整对应关系。
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门