C语言学习——数据

C语言的数据类型关键字

int

long

short

unsigned

char

float

double

signed

void

_Bool

_Complex

_Imaginary

在C语言中,用int关键字来表示基本的整数类型。long,short,unsigned,signed这四个关键字用于提供基本整数类型的变式。

char关键字用于指定指定字母和其他字符,另外也可表示较小的整数。

float,double,long double代表带小数点的数。

_Bool类型表示布尔值(true或false)。

_Complex和_Imaginary分别表示复数和虚数。

数据类型大小和范围

类型

存储大小

值范围

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

在printf()和scanf()中格式转换说明符:

转换说明

输 出

%a

浮点数、十六进制数字和p-记数法 (C99)

%A

浮点数、十六进制数字和P-记数法 (C99)

%c

一个字符

%d

有符号十进制整数

%e

浮点数、e-记数法

%E

浮点数、E-记数法

%f

浮点数,十进制记数法

%g

根据数值不同自动选择%f或者%e。%e格式在指数小于-4或者大于等于精度时使用

%G

根据数值不同自动选择%f或者%E。%E格式在指数小于-4或者大于等于精度时使用

%i

有符号十进制整数 (与%d相同)

%o

无符号八进制整数

%p

指针(就是指地址)

%s

字符串

%u

无符号十进制整数

%x

使用十六进制数字0f 的无符号十六进制整数

%X

使用十六进制数字0F的无符号十六进制整数

%%

打印一个百分号

  • 声明int类型
1 int ears;
2 int hog,cow,goats;
  • 初始化变量
 
1 int ears = 21;
2 int hog =1,cow 5,goats =31;

简而言之,声明为变量创建和标记储存空间,并为其指定初始值。

  • 其他形式

Short(int)

Long(int)

Long long(int)

Unsigned(int)

Unsigned long(int)

Unsigned long long(int)

  • 声明char类型

char的类型变量声明方式与其他类型相同

1 char response;
2 char itable,latan;
  • 字符常量和初始化
char grade 'A'

在c语言中,用单引号括起来的单个字符被称为字符常量。编译器一发现‘A’就会转换成相应代码值。单引号必不可少。

实际上,字符是由数值形式储存的,所以也可以用数值代替字符来赋值:

char grade = 65
  • 非打印字符

单引号只适用于字符,数字和标点符号。有些字符打印不出来,c语言提供三种方法:

  • 使用ASCII码
char beep = 7
  • 使用特殊的符号序列(转义序列)
char nerf = ‘\n’;

转义序列

表示

\a

提醒/(警报)

\b

退格

\f

换页

\n

换行

\r

回车

\t

水平制表符

\v

垂直制表符

\'

单引号

\ "

双引号

\\

反斜杠

\?

文本问号

\ ooo

八进制表示法的 ASCII 字符

\x hh

十六进制表示法的 ASCII 字符

  • 使用十六进制形式表示字符常量,即反斜杠后边跟一个x或X,再加上1~3位十六进制数字
  • _Bool类型

c语言用1表示true,用0表示flase

  • float,double和long double

浮点常量由整数部分、小数点、小数部分和指数部分组成。您可以使用小数形式或者指数形式来表示浮点常量。

当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时, 必须包含小数点、指数,或同时包含两者。带符号的指数是用 e 或 E 引入的。

下面列举几个浮点常量的实例:

3.14159       /* 合法的 */
314159E-5L    /* 合法的 */
510E          /* 非法的:不完整的指数 */
210f          /* 非法的:没有小数或指数 */
.e55          /* 非法的:缺少整数或分数 */

计算 int, float, double 和 char 字节大小

 1 {
 2 int a;
 3 long b;
 4 long long c;
 5  
 6 double e;
 7 long double f;
 8  
 9  
10 printf("Size of int = %ld bytes \n", sizeof(a));
11 printf("Size of long = %ld bytes\n", sizeof(b));
12 printf("Size of long long = %ld bytes\n", sizeof(c));
13  
14 printf("Size of double = %ld bytes\n", sizeof(e));
15 printf("Size of long double = %ld bytes\n", sizeof(f));
16  
17 return 0;
18 }

 

结果

 

Size of int = 4 bytes
Size of long = 8 bytes
Size of long long = 8 bytes
Size of double = 8 bytes
Size of long double = 16 bytes

猜你喜欢

转载自www.cnblogs.com/liuyubo/p/11730201.html
今日推荐