1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言 字符串转运算符 快速上手系列-C语言之基础篇(二)数据类型与运算符...

c语言 字符串转运算符 快速上手系列-C语言之基础篇(二)数据类型与运算符...

时间:2021-01-01 19:31:45

相关推荐

c语言 字符串转运算符 快速上手系列-C语言之基础篇(二)数据类型与运算符...

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

一、变量与常量

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

整型 100,180,-100,0实型 3.14 , 0.125,-3.789字符型 ‘a’,‘b’,‘6’字符串 “a”,“abc”,“123”常量的定义方式:

使用 #define 预处理器。 // #define MY_NUM 10使用 const 关键字。 // constchar ch = 'a';

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

二、C语言数据类型:

1、整型数据

整型常量的表示方法:十进制;八进制以数字0开头,如0123;十六进制以0x开头,如0x12整型变量分为有符号/无符号基本整型 (unsigned/signed) int有符号/无符号短整型 (unsigned/signed) short(int)有符号/无符号长整型 (unsigned/signed) long (int)

2、实型数据

实型常量实型也称为浮点型,实型常量也称为实数或者浮点数十进制形式:由数字和小数点组成:0.0、0.12、5.0指数形式:123e3代表123*10的三次方实型变量单精度(float)和双精度(double)float型: 占4字节,7位有效数字(十进制)Double型: 占8字节,15~16位有效数字 (十进制)包含小数点却不以f结尾的常量是double

3、字符数据

字符常量:用单引号括起来,如:‘a’、‘b’等。转义字符:以反斜杠“\”开头,后跟一个或几个字符。如‘\n’,‘\t’等,分别代表换行,横向跳格。字符变量:用char定义的变量只能存放一个字符常量;每个字符变量被分配一个字节的内存空间;字符值以ASCII码的形式存放在变量的内存单元中

例子说明:ch = 'a'; ch变量中存放的是字符 'a' 的ASCII :97, 即 ch=97 跟 ch='a' 在本质上是一致的。4、字符串是由双引号括起来的字符序列,如“haha”、“hello world”,“123”等都是合法的字符串常量。注意:字符串常量和字符常量是不同的

三、数据类型的转换

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

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

数据类型转换的规律:占用内存字节数少(值域小)的类型,向占用内存字节数多(值域大)的类型转换,以保证精度不降低。

来看个例子:

从这个例子可以看出:a为char型,求其类型大小为1,而在sizeof(a+a),进行a+a计算的时候自动转换为int行,所以sizeof(a+a)为4,sizeof(a+1.2),其中1.2默认为double类型(之前说过,1.2f为float型,不加f默认为double型),a在与double型进行计算时自动转换为double型,故sizeof(a+1.2)为8;2、强制类型转换:(类型说明符) (表达式), 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型,如:(float)a; // 把a的值转换为实型(int)(x+y); // 把x+y的结果值转换为整型注意:类型说明符和表达式都必须加括号;无论是强制转换或是自动转换,都只是为了本次运算的需要而对变量的数据长度进行的临时性转换,而不改变数据定义的类型例子1-类型不改变:

例子2-数值不改变 :

四、运算符与表达式

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

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

算术运算符 (+、-、*、/、%、++、--)

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

++i,--i(先加/减,后使用)i++,i-- (先使用,后加/减)

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

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

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

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

关系运算符 (>、<、==、>=、>、&、|、 ~ 、∧ )赋值运算符 (=、及其扩展赋值运算符)条件运算符 (?:)条件运算符,是一种三元运算符,形式为: (a > b) ? a : b;说明:先判断(a > b)是否为真,若为真,表达式取值a,否则取值b;条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符;比如 max = ( a > b) ? a : b;可以去掉括号而写为 max = a > b ? a : b;“?” 和“ :”是一对运算符,不能分开单独使用。

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

例子当中,将 ( 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.

逗号运算符 (,)指针运算符 (*和&)求字节数运算符(sizeof( ))强制类型转换运算符((类型))分量运算符(.->)下标运算符([])其他( 如函数调用运算符())

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

例如: a*b/c-1.5+'a′

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

a += 10 //等价于 a = a + 10;a *= b+10 //等价于 a = a * (b+10);

五、运算符的优先级

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

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

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

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

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

举报/反馈

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。