在上一篇文章《快速上手系列-C语言之基础篇(一)》中写了关于C语言的程序结构,关键字及控制语句。本篇主要写写C语言中数据类型,以及运算符相关方面的知识。
一、变量与常量
1、常量:在程序运行过程中,其值不能被改变的量(注意:不能反过来说),这些固定的值,又叫做字面量。常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串字面值,也有枚举常量。
常量的定义方式
2、变量:其值可以改变,变量名只能由字母、数字、下划线组成,第一个字必须为字母或下划线,变量在编译时为其分配相应的内存地址。
二、C语言数据类型:
1、整型数据
整型变量分为
2、实型数据
实型常量
实型变量
3、字符数据
字符常量:用单引号括起来,如:‘a’、‘b’等。
转义字符:以反斜杠“\”开头,后跟一个或几个字符。如‘\n’,‘\t’等,分别代表换行,横向跳格。
字符变量:
例子说明:ch = 'a'; ch变量中存放的是字符 'a' 的ASCII :97, 即 ch=97 跟 ch='a' 在本质上是一致的。
4、字符串
三、数据类型的转换
数据有不同的类型,不同类型数据之间进行混合运算时必然涉及到类型的转换问题.转换的方法有两种:
1、自动转换:遵循一定的规则,由编译系统自动完成。
2、强制类型转换:(类型说明符) (表达式), 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型,如:
注意:
例子1-类型不改变:
例子2-数值不改变 :
四、运算符与表达式
1、数据在运算中使用的运算符包括:运算符的种类、优先级和结合性
2、C语言常见的运算符:
这里需要注意一下“ ”和“--”这两种自增/自减运算符,虽然,它们放在变量前面/后面,作用都是使变量的值增1或减1,但是还是有区别的:
(1)自加/自减运算符在变量后面,表示先使用,后加/减,举例说明一下:
例子当中,先将a的初始值为10,将a的值赋给b,即b的值为10,然后a进行自加运算,自加后a的值变为11,这就是先使用,后加/减;
(2)自加/自减运算符在变量前面,表示先加/减,后使用,举例说明一下:
例子当中,先将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)“?” 和“ :”是一对运算符,不能分开单独使用。
举个简单例子来了解一下条件运算符的用法:
例子当中,将 ( 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语言中数组相关的内容,想了解的小伙伴们,可以添加关注。
联系客服