第三章 数据和C (知识点汇总)

getchar()函数读取下一个输入字符,因此程序会等待用户输入,即出现所谓的“暂停”,使得程序运行结果可以停留在页面上,便于观察。

数据类型关键字,根据计算机存储的方式不同,可分为两大基本类型:整数(没有小数部分的数)和浮点数(有小数部分的数,计算机把浮点数分为整数部分和指数部分分开存储着两部分)

整数没有小数部分,浮点数有小数部分

浮点数可以表示的范围比整数大,但是浮点数比整数运算慢

转换说明(说明数据的显示方式,而不是存储方式)
十进制显示数字,使用**%d**
八进制显示数字,使用**%o**
十六进制显示数字,使用**%x**
(要显示各进制的前缀0、0x,必须分别使用%#o、%#x)

char ≤ short ≤ int ≤ long ≤ long long

int————————————————————%d
short int(=short)——%hd(十进制)%ho(八进制)%hx(十六进制)
long int(=long)——%ld(十进制)%lo(八进制)%lx(十六进制)
long long int(=long long)——%lld(有符号)%llu(无符号)
unsigned int(=unsigned)——————%u

h,l前缀都可以和u一起使用,用于表示无符号类型

char类型用于存储字符(如字母或标点符号),但是从技术层面上看,char是整数类型,因为char类型实际上存储的是整数而不是字符(计算机使用数字编码来处理字符,即用特定的整数表示特定的字符,美国最常用的编码是ASCII编码)
printf()函数用%c指明待打印的字符。但是一个字符变量实际上被存储为1字节的整数值,因此如果用%d转换说明打印char类型变量的值,打印的是一个整数,而%c转换说明告诉printf()打印该整数值对应的字符。

char grade=‘A’————√ 用单引号括起来的单个字符被称为字符常量

转义序列:
\a——警报
\b——退格
\f——换页
\n——换行
\r——回车
\t——水平制表符
\v——垂直制表符
\——反斜杠
'——单引号
"——双引号
?——问号
\0oo——八进制值(每个o可表示0~7中的一个数)
\xhh——十六进制值(每个h可表示0~15中的一个数)

可移植类型:
int32_t ——整数类型宽度正好是32位
int_least32_t——整数类型宽度至少是32位
int_fast32_t——使计算达到最快的整数类型宽度
int_max_t——最大的有符号整数的类型

C语言的浮点类型有float,double,long double:
**float:**必须至少能表示6位有效数字,且取值范围至少是10-37------1037
**double:**意为双精度,和float类型的最小取值范围相同,但至少必须能表示13位有效数字
**long double:**以满足比double类型精度更高的要求,不过c只保证long double类型的精度至少和double类型的精度相同

没有后缀的浮点型常量默认为double类型,但在浮点数后面加上f或F可以覆盖默认设置,编译器会将浮点型常量看成float类型。
例:
2.3——double型
2.3f——float型

P计数法(C99标准添加的一种新的浮点型常量格式——用十六进制表示浮点型常量):
例:0xa.1fp10
在这里插入图片描述

printf()函数使用 %f 转换说明打印十进制计数法的float和double类型浮点数,用 %e 打印指数计数法的浮点数,用 %a 打印十六进制格式的浮点数(比如P计数法)

NaN(not a number)
Inf(infinity)

sizeof是C语言的内置运算符,以字节为单位给出制定类型的大小,C99和C11提供 %zd 转换说明匹配sizeof的返回类型。

0x44、oxAA——————unsigned int————%x
0x5.b6p12————————float————————%a

猜你喜欢

转载自blog.csdn.net/qq_32092885/article/details/83715389