目录
前言
我今年大一才开始学编程,不喜勿喷
本内容是引荐菜鸟教程的c语言,如果侵权联系版主删除!!!!
学习不易,菜鸟叹气
数据类型
1.整数类型
整数类型顾名思义就是对整数进行处理,如我们常见的int属于基本整型,当然还有其他,不同的整型所占的存储大小和值范围也是不同的,下表会给出不同整型的存储大小和值范围:
类型 | 存储 | 值范围 |
---|---|---|
char | 1 字节 | -128 到 127 或 0 到 255 |
unsigned char | 1 字节 | 0 到 255 |
signed char | 1 字节 | -128 到 127 |
int | 2 或 4 字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
unsigned int | 2 或 4 字节 | 0 到 65,535 或 0 到 4,294,967,295 |
short | 2 字节 | -32,768 到 32,767 |
unsigned short | 2 字节 | 0 到 65,535 |
long | 4 字节 | -2,147,483,648 到 2,147,483,647 |
unsigned long | 4 字节 | 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位)。
浮点运算就是实数运算,由于计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。