C语言重要知识点总结【8】:C语言中变量的数据类型

文章目录

  • 前言
  • 一、整型数据
    • 1. 基本整型(int)
    • 2. 短整型(short int)
    • 3. 长整型(long int)
    • 4. 双长整型(long long int)
    • 5.字符型数据(char)
  • 二、浮点型数据
    • 1. 单精度浮点型(float)
    • 2.双精度浮点型(double)
  • 总结


前言

上一篇提示:
在上篇文章 C语言重要知识点总结【7】:C语言中的常量、变量、标识符 中主要介绍了以下3点内容:

  • 常量的5种类型:整型常量、实型常量、字符常量(转义字符)、字符串常量、符号常量。
  • 标识符:由字母数字下画线 3种字符组成,且第一个字符必须是字母或下画线 。标识符分为3类:关键字(32个)、预定义标识符和用户标识符。
  • 变量的概念 和 常变量:变量代表一个有名字、具有特定属性的一个存储单元。他用来存放数据,也就是存放变量的值。在对程序编译连接时有编译系统给每一个变量名分配一个 存储地址

本篇将对变量的基本数据类型进行详细讲解:

C语言要求在定义所有的变量时都要指定变量的类型,常量有5种常见数据类型、而变量的数据类型则有很多,其中,整型数据、实型数据浮点型数据 是最基本的数据类型。
所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式(整型、实型、浮点型、数组类型、指针类型、结构体类型等),不同类型分配不同的长度。

类型 类型名 字节数
short 短整型 2
int 整型 4
long 长整型 4
long long 双长整型 8
char 字符型 1
float 单精度浮点型 4
double 双精度浮点型 8

一、整型数据

1. 基本整型(int)

编译系统分配int型数据2个字节或4个字节(由具体的C编译系统自行决定),如Turbo C 2.0为每一个 int 整型数据分配2个字节(16个二进制位),而Visual C++为每一个 int 整形数据分配4个字节(32位)。

整型数据在存储单元中的存储方式是:

  • 用整数的补码(complement)形式存放
int a=5

如果用2个字节存放这个整数,则在存储单元中的数据形式如下图:

原码 / 补码 字节 1 字节 2
5原码 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
5补码 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
按位取反 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0
-5的补码 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1

C语言重要知识点总结【8】:C语言中变量的数据类型_第1张图片

  • 正整数:正数的补码是此数的二进制形式,如5的二进制形式是101,如果用2个字节存放5这个整数,则在存储单元中的数据形式 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1
  • 负整数:求负数的补码方法是,先将次此数的的 绝对值 写成二进制形式,然后对其所有的二进位 按位取反再加1
  • 最左边的一位数字表示符号0表示数值是1表示该数值为

2. 短整型(short int)

定义变量为短整型时 int 可省略不写

short a=666;  //常用写法
short int a=666;

3. 长整型(long int)

定义变量为长整型时 int 可省略不写

long a=888;  //常用写法
long int a=888;

4. 双长整型(long long int)

定义变量为双长整型时 int 可省略不写

long long a=999;  //常用写法
long long int a=999;

C语言重要知识点总结【8】:C语言中变量的数据类型_第2张图片

  1. 关键字 signedunsigned
  2. signed:将变量定义为无符号类型,signed一般可省略不写
  3. unsigned:将变量定义为有符号类型,用 %u 输出
  4. 只有 整型数据 和 字符型数据 可以加 signed 或 unsigned 修饰符,实型数据不能加。
short a;   //a为有符号短整型变量
unsigned short b; //b为无符号短整型变量
-

C语言重要知识点总结【8】:C语言中变量的数据类型_第3张图片

C标准没有规定各种数据类型所占用存储单元的长度,这是由各编译系统自行决定的。C标准只要求long型数据长度不短于int型,short型不长于int型。

5.字符型数据(char)

字符是按代码(整数)形式存储的,其实字符型数据是属于整型数据的一种。把字符型数据当作一种基本数据类型,因为字符型数据在使用上有自己的特点。

  • 一个字符占一个字节
  • 1B = 8bit
  • 字节(Byte)、位(bit)
  • 1位即一个二进制数 0 或 1

C语言重要知识点总结【8】:C语言中变量的数据类型_第4张图片
C语言重要知识点总结【8】:C语言中变量的数据类型_第5张图片

字符 与 字符代码

字符与字符代码并不是任意写一个,程序都能识别。例如π在程序中是不能识别的,只能使用系统中的字符集中的字符,目前大多数系统采用ASCll字符集。各种字符集(包括ASCll字符集)的基本集都包括了127个字符。其中常用的有:

  • 字母:大写英文字母 A ~ Z ,小写英文字母 a ~ z,各26个。
  • 数字:0 ~ 9
  • 专门符号:29个 包括 ! " # & ' ( ) * + - , / . : ; < = > ? [ \ ] ^ _ { | } ~ `
  • 空格符空格水平制表符(tab)、垂直制表符换行(’\n’)、换页(’\f’)
  • 不能显示的字符空(null)字符(以’\0’表示)、警告(以’\a’表示)、退格(以’\b’)表示、回车(以’\r’表示)等


char c='?'; 
//定义a为字符变量,初值为字符'?'
//字符'?'对应的ASCll代码是63
printf("%c",c);
输出结果:?
printf("%d",c);
输出结果:63

二、浮点型数据

浮点型数据是用来表示有小数点的实数,为什们称实数为浮点数?在C语言中,因为一个实数表示为指数的形式不止有一种。
如 3.14159 X10的0次幂、0.314159 X 10的1次幂、0.0314159 X 10的2次幂……,由于小数点的位置可以浮动,所以实数的指数形式称为浮点型。


在浮点型数据类型 float、double 或 long double 中 小数部分指数部分所占的字节数是由编译系统自定,不同编译系统对小数部分指数部分分配的字节数可能会不一样。

1. 单精度浮点型(float)

2.双精度浮点型(double)

C语言重要知识点总结【8】:C语言中变量的数据类型_第6张图片

谭浩强《C程序设计》:
在这里插入图片描述

最后送给大家一张我制作了很久的图片:

在这里插入图片描述


总结

提示:

以上就是本篇要讲的内容,本文主要对最基本的3种数据类型 整型数据、字符型数据、浮点型数据 进行了介绍。对于数组函数指针空类型结构体类型共用体类型 枚举类型会在以后的文章中单独进行讲解。

以上内容如有错误,请大家在评论区指正,谢谢支持,共同进步。 加油!!!
如果你感觉我写的内容对你有一定的帮助,请给我点一个 【赞】作为您对我的鼓励, 谢谢!!

在这里插入图片描述

你可能感兴趣的:(【C语言】重要知识点总结专栏,C语言变量的数据类型,变量,数据类型)