c语言中指数运算符号( 三 )


类型说明符
c语言中指数运算符号
说明:
单词signed来说明“有符号”(即有正负数之分),不写signed也隐含说明为有符号,unsigned用来说明“无符号”(只表示正数) 。
(二)实型变量
C语言中,实型变量分为单精度类型( float )和双精度类型( double )两种 。如:
float a , b ;
double m ;
在vc中,float 型数据在内存中占4个字节(32位),double型数据占8个字节 。单精度实数提供7位有效数字,双精度实数提供15~16位有效数字 。实型常量不分float型和double型,一个实型常量可以赋给一个float 型或double型变量,但变量根据其类型截取实型常量中相应的有效数字 。
注意:实型变量只能存放实型值,不能用整型变量存放实型值,也不能用实型变量存放整型值 。
(三)字符变量
字符变量用来存放字符常量,定义形式:
char 变量名;
其中关键字char定义字符型数据类型,占用一个字节的存储单元 。
例:char cr1,cr2;
cr1= ‘A’ , cr2=‘B’ ;
将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的ASCII码存储到内存单元中 。例如,字符 ′A′ 的ASCII码为65,在内存中的存放形式如下:01000001
由于在内存中字符以ASCII码存放,它的存储形式和整数的存储形式类似,所以C语言中字符型数据与整型数据之间可以通用,一个字符能用字符的形式输出,也能用整数的形式输出,字符数据也能进行算术运算,此时相当于对它们的ASCII码进行运算 。
c语言中指数运算符号
类型的自动转换和强制转换
当同一表达式中各数据的类型不同时,编译程序会自动把它们转变成同一类型后再进行计算 。转换优先级为:
char < int < float < double
即左边级别“低“的类型向右边转换 。具体地说,若在表达式中优先级最高的数据是double型c语言指数函数,则此表达式中的其他数据均被转换成double型,且计算结果也是double型;若在表达式中优先级最高的数据是float型,则此表达式中的其他数据均被转换成float型,且计算结果也是float型 。
在做赋值运算时,若赋值号左右两边的类型不同,则赋值号右边的类型向左边的类型转换;当右边的类型高于左边的类型时,则在转换时对右边的数据进行截取 。
除自动转换外,还有强制转换,表示形式是:
( 类型 )(表达式);
例:(int)(a+b)
讨论:当a值赋值为3.4,b值赋值为2.7,(int)(a+b)和(int)a+b的值分别为多少?
c语言中指数运算符号
C运算符认识
C语言的运算符范围很广,可分为以下几类:
1、算术运算符:用于各类数值运算 。包括加(+)、减(-)、乘(*)、除(/)、求余(%)、自增(++)、自减(--)共七种 。
2、赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=, & ∧ |。
例1:左移运算符“”右边的数指定移动的位数 。
例如:
设 a=15,
a>>2
表示把000001111右移为00000011(十进制3) 。
应该说明的是,对于有符号数,在右移时,符号位将随同移动 。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定 。
例3:设二进制数a是00101101,若通过异或运算a∧b 使a的高4位取反,低4位不变,则二进制数b是 。
解析:异或运算常用来使特定位翻转,只要使需翻转的位与1进行异或操作就可以了,因为原数中值为1的位与1进行异或运算得0,原数中值为0的位与1进行异或运算结果得1 。而与0进行异或的位将保持原值 。异或运算还可用来交换两个值,不用临时变量 。


以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!

「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助: