C语⾔中⼀些基本问题
c语言char的用法⼀、⼩⽩在学习过程中有时会在程序中看到0u或是0ul等常量有后缀的情况,如果没接触到C语⾔常量后缀的话可能就有点疑惑~
其中的u为unsigned,l为long,f为float
C语⾔中常量的默情况:整形默认为有符号int;浮点型默认为double;如果整形常量⼤⼩超出int,默认⾃然就为long int;如果需要⽆符号整形常量的话就可以在常量后⾯加u或是U,如0u或是0U,同理可以在常量后⾯加ul或UL表⽰⽆符号长整形常量;⽽浮点型常量后缀只有f或F,l或L,没有u或U,因为浮点数⼀般都为有符号
⼆、C语⾔的数据类型分为⼏种?
⼀、基本类型
1、整形类型:int ,short int,long int,long long int(C99),char,bool
2、浮点类型:float ,double,(float_complex,double_complex,long long_comples)
⼆、枚举类型 enum
三、空类型 void
四、派⽣类型
1、指针类型 *
2、数组类型 []
3、结构体类型 struct
4、共⽤体类型 union
5、函数类型
三、unsigned在C语⾔中⽤法
unsigned是⽤于修饰整数(int、long int、short int)和char数据类型的类型说明符,表⽰⼀个上述被修饰的数据类型是⽆符号数(第⼀个⼆进制位不代表符号的数)。
拿char型举例:char为8位,signed char取值范围为[-128,127]共256个整数,unsigned char取值范围为[0,255]共256个整数。
四、C语⾔中定义unsigned a;那么变量a的数据类型是什么?
unsigned int类型,即;
整型的每⼀种都有⽆符号(unsigned)和有符号(signed)两种类型,在默认情况下声明的整型变量都是有符号的类型,如果需声明⽆符号类型的话就需要在类型前加上unsigned,只有unsigned时,表⽰unsigned int;
现在的系统中,int⼀般都占4个字节,32位,表⽰的数组范围是-2147483648~,⽽(unsigned int)不表⽰负数,所以表⽰的整数是有符号的整数的2倍,即0~4294967295。
五、c语⾔的强制转换
(type)<expression>
其中,type为类型描述符,如int,float等。<expression>为表达式。经强制类型转换运算符运算后,返回⼀个具有type类型的数值,这种强制类型转换操作并不改变操作数本⾝,运算后操作数本⾝未改变,例如:
int nVar=0xab65;
char cChar=char (nVar);
上述强制类型转换的结果是将整型值0xab65的⾼端两个字节删掉,将低端两个字节的内容作为char型数值赋值给变量cChar,⽽经过类型转换后nVar的值并未改变。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论