C语言学习笔记-C语言中的数据类型

简介: C语言学习笔记-C语言中的数据类型

二、C语言中的数据类型

1、命名规范

C 语言规定,标识符可以是字母(A~Z,a~z)数字(0~9)下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点:

(1) 标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。

(2) 标识符是严格区分大小写的。例如Imooc和imooc 是两个不同的标识符。

(3) 标识符最好选择有意义的英文单词组成做到"见名知意",不要使用中文。

(4) 标识符不能是C语言的关键字。想了解更多C语言关键字的知识,请查阅WIKI。

例如:

img

2、变量及其赋值

变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。使用变量之前必须先定义变量,要区分变量名和变量值是两个不同的概念。就好比:住在房间里的客人与房间号是两个不同的概念。

img

变量定义的一般形式为:数据类型 变量名;

多个类型相同的变量:数据类型 变量名, 变量名, 变量名...;

img

3、基本数据类型

在我们玩游戏的时候,游戏中的角色是有类型的,有敏捷型、力量型、法术型等等。同样C语言中的数据也是有类型的,C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。如图所示:

img

常见的数据类型:

img

整型数据的类型:

img

浮点数据类型:

img

注:
    int、short int、long int是根据编译环境的不同,所取范围不同。而其中short int和long int至少是表中所写范围,但是int在表中是以16位编译环境写的取值范围。另外 c语言int的取值范围在于他占用的字节数 ,不同的编译器,规定是不一样。ANSI标准定义int是占2个字节,TC是按ANSI标准的,它的int是占2个字节的。但是在VC里,一个int是占4个字节的。

    C语言中不存在字符串变量,字符串只能存在字符数组中

4、格式化输出语句

格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。这样做的好处,是有利于计算机能够准确的将我们所要类型数据给我们。

其格式为:printf("输出格式符",输出项);

C语言中的常用格式化符:

img

如果要输出多个变量的并指定变量的位置时候,格式符还可以连用,变量之间需要用逗号隔开,如:

img

输出结果为: 整数:10,小数:7.560000,字符:c

4、不可变的常量

在程序执行过程中,值不发生改变的量称为常量。C语言的常量可以分为直接常量和符号常量

直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如:

  • 整型常量:13、0、-13;
  • 实型常量:13.33、-24.4;
  • 字符常量:‘a’、‘M’
  • 字符串常量:”I love imooc!”

下面的代码分别打印这四种直接常量:

img

在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:

#define 标识符 常量值

符号常量的标示符一般习惯使用大写字母,变量的标示符一般习惯使用小写字母,加以区分。下面是一个使用符号常量的小例子:

img

运算结果为: 圆周率:3.140000

注意:常量是不可改变的

4、自动类型转换

有这么一个词叫“狸猫换太子”,变量的数据类型就存在这样的情况。数据类型存在自动转换的情况,比如:

img

自动转换发生在不同数据类型运算时,在编译的时候自动完成。自动转换遵循的规则就好比小盒子可以放进大盒子里面一样,下图表示了类型自动转换的规则。

img

char类型数据转换为int类型数据遵循ASCII码中的对应值,ASCII码请查看WIKI。

注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换

5、强制类型转换

强制类型转换是通过定义类型转换运算来实现的。其一般形式为:

(数据类型) (表达式)

其作用是把表达式的运算结果强制转换成类型说明符所表示的类型,例如:

img

输入结果:

img

在使用强制转换时应注意以下问题:

1、数据类型和表达式都必须加括号,如把(int)(x/2+y)写成(int)x/2+y则成了把x转换成int型之后再除2再与y相加了。

2、转换后不会改变原数据的类型及变量值,只在本次运算中临时性转换

3、强制转换后的运算结果不遵循四舍五入原则

相关文章
|
5天前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
19 5
|
6天前
|
文件存储 C语言
|
4天前
|
存储 编译器 C语言
C语言数据类型和变量(二)
C语言数据类型和变量(二)
|
4天前
|
存储 编译器 C语言
C语言数据类型和变量(一)
C语言数据类型和变量(一)
|
6天前
|
存储 机器学习/深度学习 编译器
C语言代码学习笔记
<编程精粹:编写高质量C语言代码> 读书笔记
|
5天前
|
存储 C语言
【海贼王编程冒险 - C语言海上篇】C语言中的数据类型有哪些?又是如何存储?
【海贼王编程冒险 - C语言海上篇】C语言中的数据类型有哪些?又是如何存储?
11 0
|
6天前
|
编译器 C语言
【C语言】:sizeof操作符的使用和各种常见数据类型的大小
【C语言】:sizeof操作符的使用和各种常见数据类型的大小
9 0
|
6天前
|
存储 Linux 编译器
c语言的数据类型与运算符
c语言基础学习数据类型与运算符
|
9天前
|
编译器 C语言
c语言中数据类型和变量
c语言中数据类型和变量
12 0
TU^
|
16天前
|
存储 编译器 C语言
C语言之数据类型和变量
C语言之数据类型和变量
TU^
16 0