C-数据

C-数据

变量命名

由字母、数字和下划线组成,数字不能出现在第一个位置上,关键字不可以作为变量名。

 

基本数据类型

简介

在C语言中有4中基本数据类型,整型、浮点型、指针和聚合类型(数组和结构体等),

所有其他的数据类型都是由这四种组合派生而来。

 

1.整数

char、short、int、long、long long

注意:它们都可分为有符号(signed)和无符号(unsigned)两种

   字符常量的类型总是int, 不能在它们后面加unsigned或long后缀

整形值之间的规则:长整形至少应该和整形一样长,整形至少应该和短整形一样长

 

2.浮点数

float、double、long double

3.逻辑

bool

4.指针

5.自定义类型

注意:蓝色部分为C99的类型

 

类型不同的表现

类型名称:int、long、double

输⼊输出时的格式化:%d、%ld、%lf

所表达的数的范围:char < short < int < float < double

内存中所占据的⼤⼩:1个字节到16个字节

内存中的表达形式:⼆进制数(补码)、编码(float, double)

 

char:1字节(8 bit) (-2^7~2^7-1)

short:2字节 (-2^15~2^15-1)

int:取决于计算机和编译器(CPU),通常的意义是“1个字”

long:取决于计算机和编译器(CPU),通常的意义是“1个字”

long long:8字节 (-2^63~2^63-1)

 

变量定义

C语言的变量必须在使用前定义,并且要声明变量类型。

 

格式

<变量类型><变量名称>

int num = 1;
float amount = 50.5;

 

常量定义

格式

const <变量类型><变量名称>

const int num = 30;

 

unsigned

1)应用:在整数类型前加上unsigned使得它们成为无符号的整数

2)计算机内部的二进制表达没有变,变的是我们如何看待它们

3)unsigned的初衷:为了做纯二进制的计算,主要是为了位移,并非扩展整数表达的正整数范围

4)如果⼀个字⾯量常数想要表达⾃⼰是unsigned,可以在后⾯加u或U,比如32U,

同理用l或L表示long(long)

 

输入与输出

%d:char byte short int

%ld:long long

%u:unsigned

%u:long unsigned

%o:8进制

%0x:16进制

%f(%e):float or double 输出

%f: float输入

%lf:double输入

说明:8进制和16进制只是把数字表达为字符串,与计算机内部如何表达无关;

16进制很适合表达2进制数,因为4个二进制数正好是一个16进制位

#include <stdio.h>

int main(void)
{
    double num1, num2;
    printf("Please enter two nums:\n");
    scanf("%lf %lf", &num1, &num2);
    double sum = num1 + num2;
    printf("%f + %f = %f\n", num1, num2, sum);
}

 

浮点数

类型 字长 范围 有效数字
float  32
±(1.20*10e-38~3.40*10e38),
±inf,nan
 7
double  64
±(2.2*10e-308~1.79*10e308),
0,±inf,nan
 15

 

科学计数法

 

参考资料:《C和指针》

posted @ 2020-02-06 23:34  可口可乐嗨  阅读(239)  评论(0编辑  收藏  举报
levels of contents