C语言基本数据类型介绍及格式字符

目录

一、数据类型

1)字符型

2)整型

3)浮点型

4)布尔类型

二、格式字符

1)d格式符:

2)f格式符:

3)c格式符:

4)s格式符:

5)e格式符:

6)o格式符:

7)x格式符:

8)u格式符:


一、数据类型

C语言提供了丰富的数据类型来描述生活中的各种数据,用整型类型来描述整数,用字符类型来描述字符,使用浮点型类型来描述小数,这些都是内置类型,仅靠这些是不能很好满足生活中的需求的,所以C语言中还有自定义类型,可以根据需求来创建使用,下面主要讲解内置类型

C语言基本数据类型介绍及格式字符_第1张图片

1)字符型

C语言把字符当作整数进行处理的,所有字符都是以二进制的形式进行编码的,每个字符都对应一个特定的整数,例如字符‘a’的值为97,‘0’的值为48。

字符型分为有符号字符(即 signed char)和无符号字符(即 unsigned char),需要注意的是,C语言中并没有说明普通char类型数据是有符号型还是无符号型,不同的编译器可能有所不同。

有符号字符的取值范围是-128~127,无符号字符的取值是0~255。

注:小写字母 - 32 = 大写字母(常用)

2)整型

①短整型:

short (int)

(signed)short (int)

unsigned short (int)

②整型:

int

(signed)int

unsigned int

③长整型:

long (int)

(signed)long (int)

unsigned long (int)

④更长的整型(C99中引入):

long long (int)

(signed)long long(int)

unsigned long long(int)

(括号表示可以省略)

可以发现,对于一般的short、int、long都认为是有符号的,这是C语言规定了的,与字符型不同。

对于int型,只能容纳-32768~32767范围内的数,如果需要表示超出此范围的数则需要用long型。

3)浮点型

浮点型是用来表示小数的,按数值的取值范围不同分为三种:单精度(即 float)、双精度(即 double)和长双精度(即 long double),当精度要求不严格时,float类型是很合适的类型,而double能够提供更高的精度,对于绝大多数程序来说都够用了,long double 支持极高精度的要求,很少会用到。

C语言基本数据类型介绍及格式字符_第2张图片

浮点常量有很多种书写方式,例如57.0可以写成下面这些形式:

57.0   57.    57.0e0   5.7e+1  .57e2   570.e-1

浮点常量必须包含小数点或者指数,其中,指数指明了对前面的数进行缩放所需的10的幂次,如果有指数则需要在指数数值前放字母e,例如5.7e+1表示5.7 * 10 ^1。

4)布尔类型

C语言原来并没有为布尔值单独设置一个类型,而是用整数0表示假,非零表示真。

在C99中引用了布尔类型(即  _Bool),是专门表示真假的。

布尔类型的使用需包含头文件

布尔类型变量的取值是:true或者false

即 #define bool  _Bool

#define false 0

#define true 1

代码演示:

C语言基本数据类型介绍及格式字符_第3张图片

注意:使用布尔类型前,需要保证所使用的编译器支持C99或更高版本的标准,因为布尔类型是在C99标准中引入的。

二、格式字符

格式字符顾名思义是用于控制输出格式的特殊字符,当我们用printf输出数据时可以用其来控制格式。

1)d格式符:

%d,用于输出十进制整数,按实际长度输出。

2)f格式符:

用于输出浮点数,实数中整数部分全部输出,小数部分输出6位。

①基本型:%f

②指定数据宽度和小数位数:%m.nf(表示占m列,其中n位小数,需要注意的是小数点也算一列)

举个例子:printf("%5.3f\n",2.0 / 5.0);输出的结果应该是0.400,若是%6.3f则应该是(一个空格)0.400,前边不够的要补空格,这是右对齐。

③左对齐,%-m.nf:与②类似,只是数据想左靠,右端补空格

④%0m.nf : 与②类似,将前边补的空格替换成0,例如用%06.3f输出0.4,则最后输出的是 00.400。

3)c格式符:

%c,输出字符,注意:字符需要写在单引号' '里面,例如'a'表示字符a。

4)s格式符:

%s,输出字符串,字符串需要写在双引号" "内,例如"China"。

与f格式符类似,也有几种使用方法,但又有点区别。

①基本型:%s,直接输出

②%ms:至少输出m列,若超过m列则全数输出。

③%m.ns:输出占m列,只取字符串中的n个字符(从左至右)。

C语言基本数据类型介绍及格式字符_第4张图片

5)e格式符:

以指数形式输出实数。

小数占6列,指数部分5列(其中“e”占1列,指数符号(+ / -)占1列,指数占3列)

C语言基本数据类型介绍及格式字符_第5张图片

6)o格式符:

%o,用于输出八进制整数。

7)x格式符:

%x或者%X,用于输出十六进制整数。

8)u格式符:

用于输出无符号整数(十进制)。

于此,就讲解完啦,如果有不正确的地方欢迎指出!

你可能感兴趣的:(c语言)