C语言 中的 数据类型 超详解
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语言 中的 数据类型 超详解相关推荐
- java的匿名函数_JAVA语言中的匿名函数详解
本文主要向大家介绍了JAVA语言中的匿名函数详解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 一.使用匿名内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: ...
- mysql中整数数据类型tinyint详解
文章来源: 学习通http://www.bdgxy.com/ 目录 1.1tinyint类型说明 1.2实践环境说明 1.3加unsigned属性 1.3.1SQL模式开启严格模式 1.3.2SQL模 ...
- C语言中数组的使用详解
文章来源: 学习通http://www.bdgxy.com/ 目录 1 数组的基本概念 2 数组定义语法 3 一维数组的初始化 3.1 全部初始化 3.2 部分元素赋初值 3.3 省略长度赋初值 4 ...
- C语言怎么判断字符YN,c语言中的宏_详解(转)
1. 简单宏定义 简单的宏定义有如下格式: [#define指令(简单的宏)] #define 标识符替换列表 替换列表是一系列的C语言记号,包括标识符.关键字.数.字符常量.字符串字面量.运算符和标 ...
- c语言中截取字符串 sub,详解C++ string常用截取字符串方法
string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求: find(string strSub, npos); find_last_of(string strSub, npos) ...
- (char*)x C语言中的和*的详解
C语言中的指针是个让人看着,想着就头疼的问题;学习指针之前要先要懂得几个概念,在此先根据自己实际工作中遇到的几个例子说明一下.配上程序和编译结果. &和*在C语言中的含义:&取地址,* ...
- 关于C语言中随机函数的使用详解
C语言中大家都知道的随机函数为random,但是random函数并不是ANSI C标准,所以random函数不能在gcc或者vc等编译器下编译通过. c语言中,rand()函数可以产生随机数,但其产生 ...
- c语言中的字符串数组,详解C语言中的字符串数组
在C语言当中,字符串数组可以使用: char a[] [10]; 或者 char *a[]; 表示 第一种表示方式固定了每个字符串的最大大小.第二种没有字符串的大小限制. #include #incl ...
- 关于C语言中的重点转义字符详解
一.了解有哪些常见的转义字符 首先,我们知道在C语言中有许多转义字符,接下来我将一些常见的转义字符罗列下来:\? , \' , \'' , \\ , \a , \n , \t , \ddd , \xd ...
最新文章
- meetup_我在2017年举办Meetup中学到的知识以及为何对2018年充满期待。
- 台式电脑一般价钱多少_让你少走弯路,看我怎么花低价钱配出高配置的台式电脑的...
- WatchOS系统开发大全(8)-WKInterfaceGroup
- java jaspersoft,Jaspersoft Studio
- 哇,居然可以用这种烙铁头拆元器件!!!
- 下载matlab安装包太慢_MATLAB 2020a商业数学中文版软件下载安装教程
- scrapy初始化selenium,防止网站反爬虫策略监测自动化控件
- python利器-Python 数据可视化利器
- 查看crontab的执行日志
- OC 获取view相对位置_正版OC渲染器常见问题与解决方法
- 关于天线信号测量方法的记录-确定天线质量好坏-记录
- NMOS和PMOS管 电流方向和应用电路
- 自我复盘-20210820
- Git 无法切换分支,报错git did not exit cleanly
- [精简]托福核心词汇100
- 「 LaTex 」写论文,插入Acknowledge
- php时间戳和js时间戳,js和PHP 时间戳与日期转换
- 网络套接字编程之IO模型详解
- oracle两张表数据匹配,Oracle-left join两表关联只取B表匹配到的第一条记录
- 20年评分最高的十部经典网络小说,它们的作者会是网文之王吗?
热门文章
- keil main.c(2): warning C318: can‘t open file ‘XXXX.h‘处理
- taobao有用户研究团队吗?
- ModelCheckpoint自动保存模型
- c程序:定义函数areaZ,功能是求圆锥体积。在主函数中输入半径r和高h,调用函数areaZ求体积,并在主函数中输出圆锥的体积,其中变量r,h均为double型数据。(公式v=h*3.14*r2/3)
- Android窗口设计之Dialog、PopupWindow、系统窗口的实现
- windows下对拍
- 51nod 1128 正整数分组 V2(二分)
- mt全国人气榜店铺榜2.0
- react 自定义hook
- K3 WISE 开发插件《K3 WISE常用数据表整理》