我的编程之路——C语言(数据类型)

目录

前言

数据类型

1.整数类型

2.字符类型

3.浮点类型


前言

我今年大一才开始学编程,不喜勿喷

本内容是引荐菜鸟教程的c语言,如果侵权联系版主删除!!!!

学习不易,菜鸟叹气

数据类型

1.整数类型

整数类型顾名思义就是对整数进行处理,如我们常见的int属于基本整型,当然还有其他,不同的整型所占的存储大小和值范围也是不同的,下表会给出不同整型的存储大小和值范围:

类型存储值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节

0 到 4,294,967,295

注意:各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。

以下是32位系统与64位系统的存储大小的差别(windows 相同):

我们可以通过使用 sizeof 运算符来得到某个类型或某个变量在特定平台上的准确大小。表达式 sizeof(type) 得到对象或类型的存储字节大小。例如:

实例

#include <stdio.h>

#include <limits.h>

int main()

{

printf("int 存储大小 : %lu \n", sizeof(int));

return 0;

}

注释:%lu 为 32 位无符号整数

2.字符类型

基本类型定义

类型说明符:char

char是一种整数,也是一种特殊的类型:字符。如‘1’也是一种字符。

字符型数据的存储与取值范围
字符型数据的取值范围为ASCII码字符集中的可打印字符。一个字符型数据的存储占1个字节,存储时实际上存储的是对应字符的ASCII码值(即一个整数值)。

ASCII编码(American Standard code for information interchage)美国信息交换标准代码:

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。
其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格),其中48-57为0到9十个阿拉伯数字。

65-90为26个大写英文字母,97-122号为26个小写英文字母,其余为一些标点符号、运算符号等。

同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。

后128个称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或"高")ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
 

字母在ASCII表中是顺序排列的
大写字母和小写字母是分开排列的,并不在一起
‘a’-'A’可以得到两段之间的距离,于是
a+‘a’-'A’可以把一个大写字母变成小写字母,而
a+‘A’-'a’可以把一个小写字母变成大写字母

逃逸字符
用来表达无法印出来的控制字符或特殊字符,他由一个反斜杠""开头,后面跟上另一个字符,这两个字符合起来,组成了一个字符
比如printf(“请分别输入身高的英尺和英寸,如输入"5 7"表示5英尺7英寸;”);
“表示的就是一个”,因为在双引号里不能直接出现双引号,如果直接出现双引号,它会认为两个双引号之间是一个字符串

\b回退一格
\t到下一个表格位
\n换行
\r回车
"双引号
'单引号
\反斜杠本身
 

3.浮点类型

如我们常见到的float,double等,用来定义小数,一般情况下用float,但在小数点后数字多时用double。

float类型共32位,1位为符号位,指数8位,尾数23位。

 float的精度是23位(即能精确表达23位的数,超过则被截取)。小数是以尾数长度来表示精确度的,比如pi=3.1415的精度是4位。

 float存储数据的范围大于int类型,但精度比int要小,因为int的精度是31位。

double类型

 double类型,1位符号位,11位指数,52位尾数。

 double的范围远远大于long,但double精度不如long(long存储数据的位数是63位)。

 浮点运算就是实数运算,由于计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值