C语言 中的 数据类型 超详解

一、整型(int、short、long、long long)

1、有符号整型
有符号整型的数据类型通常包括 int、short、long、long long 四种,因为是有符号类型,所以前面要加上 signed ,但是通常省略,也就是说在代码中直接打出 int 类型就代表是有符号类型的。

(1)int类型
数据类型大小是 4 字节,能表示的数值范围是
-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)
打印类型是 %d ,使用格式为 int 名 = 值;

(2)short类型
数据类型大小是 2 字节,能表示的数值范围是
-2^(16-1) – 2(16-1) -1 (即 -32768 ~ 32767)
打印类型是 %hd ,使用格式为 short 名 = 值;

(3)long类型
数据类型大小是 4 字节,能表示的数值范围是
-2^(32-1) – 2^(32-1)-1 (即 -2147483648 ~ 2147483647)
打印类型是 %ld ,使用格式为 int 名 = 值;

(4)long long类型
数据类型大小是 8 字节,能表示的数值范围是
-2^(63) ~ 2^(63)-1 (这个数足够大了)
打印类型是 %lld ,使用格式为 long long 名 = 值;

2、无符号整型
无符号数用 unsigned 表示 ,只表示数据量,而没有方向(没有正负,且无符号数最高位不是符号位,而就是数的一部分,无符号数不可能是负数。

(1)unsigned int 类型
数据类型大小是 4 字节,能表示的数值范围是
0 – 2^(32)-1 (即 0~4294967295)
打印类型是 %u ,使用格式为 unsigned int 名 = 值;

(2)unsigned short 类型
数据类型大小是 2 字节,能表示的数值范围是
0 ~ 2^8 -1 (即 0~65535)
打印类型是 %hu ,使用格式为 unsigned short 名 = 值;

(3)unsigned long 类型
数据类型大小是 4 字节,能表示的数值范围是
0 – 2^(32)-1 (即 0~4294967295)
打印类型是 %lu ,使用格式为 unsigned long 名 = 值;

(4)unsigned long long 类型
数据类型大小是 8 字节,能表示的数值范围是
0~2^63-1
打印类型是 %llu ,使用格式为 unsigned long long 名 = 值;

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>int main0401(void)
{size_t var = 10;printf("var = %u\n", var);unsigned int a = 10u;  // 简写成 unsigned int a = 10;unsigned short b = 20u;// 简写成 unsigned short b = 20;unsigned long c = 30Lu; unsigned long long d = 40LLu;printf("unsigned int 型数据值:%u\n", a);printf("unsigned short 型数据值:%hu\n", b);printf("unsigned long 型数据值:%lu\n", c);printf("unsigned long long 型数据值:%llu\n", d);system("pause");return EXIT_SUCCESS;
}

结果,注意返回值符号

二、 字符型(char)

字符型变量用于存储一个单一字符,在 C 语言中用 char 表示,其中每个字符变量都会占用 1 个字节。在给字符型变量赋值时,需要用一对英文半角格式的单引号(’ ')把字符括起来。字符变量实际上并不是把该字符本身放到变量的内存单元中去,而是将该字符对应的 ASCII 编码放到变量的存储单元中。char的本质就是一个1字节大小的整型。

char 的格式匹配符(打印格式) 为:%c

数值表示范围是:
有符号: -2^(8-1) – 2(8-1) -1 (即 -128 ~ 127)
无符号: 0 ~ 2^8 -1 (即 0~255)

常用的ASCLL码为:
‘A’:65

‘a’:97(大小写相差 32 )

‘0’:48

‘\n’:10

‘\0’: 0

演示字符类型:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>int main(void)
{char ch = 'A';  // 65//printf("1 ch = %c\n", ch);printf("1 ch = %d\n", ch);ch = 'm'; ////printf("2 ch = %c\n", ch);printf("2 ch = %d\n", ch);//ch = 97;ch = 'a'; // 97//printf("3 ch = %c\n", ch);printf("3 ch = %d\n", ch);system("pause");return EXIT_SUCCESS;
}

运行结果:

验证大小写ASCLL码的差值是否为32:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>int main(void)
{char ch = 'M';char var = '5';printf("ch = %c\n", ch + 32);printf("var = %c\n", var + 4);printf("'\\n\'的值为=%d\n", '\n');system("pause");return EXIT_SUCCESS;
}

结果为:

三、浮点型(float、double)

(1)单精度浮点型(float)
单精度浮点型的大小是 4 字节
float v1 = 4.345;
unsigned float v1 = 4.345; 无符号的 float 数据
格式匹配符是:%f , 默认保留 6 位小数。

(2)双精度浮点型(double)
双精度浮点型的大小为 8 字节
double v2 = 5.678;
unsigned double v2 = 5.678; 无符号的 double 数据

printf(“n = %08.3f\n”, n);
输出的含义为:显示8位数(包含小数点), 不足8位用0填充。并且保留3位小数。对第4位做四舍五入。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>int main(void)
{float m = 3.145;double n = 4.566545;printf("m = %08.2f\n", m);printf("n = %08.3lf\n", n);system("pause");return EXIT_SUCCESS;
}

结果为:

C语言 中的 数据类型 超详解相关推荐

  1. java的匿名函数_JAVA语言中的匿名函数详解

    本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...

  2. mysql中整数数据类型tinyint详解

    文章来源: 学习通http://www.bdgxy.com/ 目录 1.1tinyint类型说明 1.2实践环境说明 1.3加unsigned属性 1.3.1SQL模式开启严格模式 1.3.2SQL模 ...

  3. C语言中数组的使用详解

    文章来源: 学习通http://www.bdgxy.com/ 目录 1 数组的基本概念 2 数组定义语法 3 一维数组的初始化 3.1 全部初始化 3.2 部分元素赋初值 3.3 省略长度赋初值 4 ...

  4. C语言怎么判断字符YN,c语言中的宏_详解(转)

    1. 简单宏定义 简单的宏定义有如下格式: [#define指令(简单的宏)] #define 标识符替换列表 替换列表是一系列的C语言记号,包括标识符.关键字.数.字符常量.字符串字面量.运算符和标 ...

  5. c语言中截取字符串 sub,详解C++ string常用截取字符串方法

    string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos) ...

  6. (char*)x C语言中的和*的详解

    C语言中的指针是个让人看着,想着就头疼的问题;学习指针之前要先要懂得几个概念,在此先根据自己实际工作中遇到的几个例子说明一下.配上程序和编译结果. &和*在C语言中的含义:&取地址,* ...

  7. 关于C语言中随机函数的使用详解

    C语言中大家都知道的随机函数为random,但是random函数并不是ANSI C标准,所以random函数不能在gcc或者vc等编译器下编译通过. c语言中,rand()函数可以产生随机数,但其产生 ...

  8. c语言中的字符串数组,详解C语言中的字符串数组

    在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...

  9. 关于C语言中的重点转义字符详解

    一.了解有哪些常见的转义字符 首先,我们知道在C语言中有许多转义字符,接下来我将一些常见的转义字符罗列下来:\? , \' , \'' , \\ , \a , \n , \t , \ddd , \xd ...

最新文章

  1. meetup_我在2017年举办Meetup中学到的知识以及为何对2018年充满期待。
  2. 台式电脑一般价钱多少_让你少走弯路,看我怎么花低价钱配出高配置的台式电脑的...
  3. WatchOS系统开发大全(8)-WKInterfaceGroup
  4. java jaspersoft,Jaspersoft Studio
  5. 哇,居然可以用这种烙铁头拆元器件!!!
  6. 下载matlab安装包太慢_MATLAB 2020a商业数学中文版软件下载安装教程
  7. scrapy初始化selenium,防止网站反爬虫策略监测自动化控件
  8. python利器-Python 数据可视化利器
  9. 查看crontab的执行日志
  10. OC 获取view相对位置_正版OC渲染器常见问题与解决方法
  11. 关于天线信号测量方法的记录-确定天线质量好坏-记录
  12. NMOS和PMOS管 电流方向和应用电路
  13. 自我复盘-20210820
  14. Git 无法切换分支,报错git did not exit cleanly
  15. [精简]托福核心词汇100
  16. 「 LaTex 」写论文,插入Acknowledge
  17. php时间戳和js时间戳,js和PHP 时间戳与日期转换
  18. 网络套接字编程之IO模型详解
  19. oracle两张表数据匹配,Oracle-left join两表关联只取B表匹配到的第一条记录
  20. 20年评分最高的十部经典网络小说,它们的作者会是网文之王吗?

热门文章

  1. keil main.c(2): warning C318: can‘t open file ‘XXXX.h‘处理
  2. taobao有用户研究团队吗?
  3. ModelCheckpoint自动保存模型
  4. c程序:定义函数areaZ,功能是求圆锥体积。在主函数中输入半径r和高h,调用函数areaZ求体积,并在主函数中输出圆锥的体积,其中变量r,h均为double型数据。(公式v=h*3.14*r2/3)
  5. Android窗口设计之Dialog、PopupWindow、系统窗口的实现
  6. windows下对拍
  7. 51nod 1128 正整数分组 V2(二分)
  8. mt全国人气榜店铺榜2.0
  9. react 自定义hook
  10. K3 WISE 开发插件《K3 WISE常用数据表整理》