在上一篇文章《快速上手系列-C语言之基础篇(一)》中写了关于C语言的程序结构,关键字及控制语句。本篇主要写写C语言中数据类型,以及运算符相关方面的知识。

一、变量与常量

1、常量:在程序运行过程中,其值不能被改变的量(注意:不能反过来说),这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。

常量的定义方式

2、变量:其值可以改变,变量名只能由字母、数字、下划线组成,第一个字必须为字母或下划线,变量在编译时为其分配相应的内存地址。

二、C语言数据类型:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(1)

1、整型数据

整型变量分为

2、实型数据

实型常量

实型变量

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(2)

3、字符数据

字符常量:用单引号括起来,如:‘a’、‘b’等。

转义字符:以反斜杠“\”开头,后跟一个或几个字符。如‘\n’,‘\t’等,分别代表换行,横向跳格。

字符变量:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(3)

例子说明:ch = 'a'; ch变量中存放的是字符 'a' 的ASCII :97, 即 ch=97 跟 ch='a' 在本质上是一致的。

4、字符串

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(4)

三、数据类型的转换

数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题.转换的方法有两种:

1、自动转换:遵循一定的规则,由编译系统自动完成。

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(5)

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(6)

2、强制类型转换:(类型说明符) (表达式), 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型,如:

注意:

例子1-类型不改变:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(7)

例子2-数值不改变 :

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(8)

四、运算符与表达式

1、数据在运算中使用的运算符包括:运算符的种类、优先级和结合性

2、C语言常见的运算符:

这里需要注意一下“ ”和“--”这两种自增/自减运算符,虽然,它们放在变量前面/后面,作用都是使变量的值增1或减1,但是还是有区别的:

(1)自加/自减运算符在变量后面,表示先使用,后加/减,举例说明一下:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(9)

例子当中,先将a的初始值为10,将a的值赋给b,即b的值为10,然后a进行自加运算,自加后a的值变为11,这就是先使用,后加/减;

(2)自加/自减运算符在变量前面,表示先加/减,后使用,举例说明一下:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(10)

例子当中,先将a的初始值为10,a先进行自加运算,自加后a的值为11,然后将a的值赋给b,即b的值为11,这就是先加/减,后使用;

(1)条件运算符,是一种三元运算符,形式为: (a > b) ? a : b;

(2)说明:先判断(a > b)是否为真,若为真,表达式取值a,否则取值b;

(3)条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符;比如 max = ( a > b) ? a : b;可以去掉括号而写为 max = a > b ? a : b;

(4)“?” 和“ :”是一对运算符,不能分开单独使用。

举个简单例子来了解一下条件运算符的用法:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(11)

例子当中,将 ( a < 1 ) ? 100 : 200 表达式的值赋给b,a的值为5,条件 a < 1为假, 因此表达式( a < 1 ) ? 100 : 200取值是200,即b为200;

后面一句 b = ( a == 5 ) ? 100 : 200;a初始值为5,条件 a == 5 为真,因此表达式 ( a == 5 ) ? 100 : 200 取值100,即b为100.

用算术运算符将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式.运算对象包括常量、变量、函数等(函数指的是函数的返回值)

另外说一下复合的赋值运算符,就是在赋值符“=”之前加上其它二目运算符构成复合赋值符: =,-=,*=,%=,<<=,>>=,&=,^=

五、运算符的优先级

运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。

例如 x = 7 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。

在判断同优先级运算符计算顺序时,要注意结合性,详细的优先级及结合性请参考以下表格:

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(12)

c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(13)

今天就写到这里,下面来一条华丽的分割线


c语言中基本数据类型的标识符(快速上手系列-C语言之基础篇)(14)

接下来开始写C语言中数组相关的内容,想了解的小伙伴们,可以添加关注。

,