c语言数据类型转换特例,C语言的数据类型

1.整数常量

用10、8、16进制表示的形式 123 0123 0x123

整数常量后面加一个字母l或者L,表示这个整数位长整型。主要用于函数调用中:如果形参为长整型,实参必须加L转换为长整型。

2.整数变量(signed、unsigned 只用于整型变量)

基本型 int ,即signed int

短整型 short ,即short int ,或signed short int,或signed short

长整形 long ,即 long int,或 signed long int,或signed long

如果是无符号整数,则用unsigned

表示,但其表示的数的范围并没有扩大,只是没有负数了,表示的数的个数不变,但表示的正整数的个数翻倍了;

3.实型常量

两种表现形式:十进制 、指数形式。指数形式的e或者E前必须有数字,e或者E后面的数字必须为整数

4.实型变量

float 、double

赋值时根据定义截取对应的有效数字即可,两者的区别只在于有效位数

5.字符常量

用单引号括起来的单个字符或者转义字符。转义字符以\ 开头。转义字符列表如下:

\b 退格

\f 换页

\n 换行

\r 回车 --- 返回本行最左端

\t 水平制表 --- 跳到下一个输出区,一个输出区为8个字符,下一个的起点应该是第九个字符

\v 垂直制表

\" 双引号

\' 单引号

\\ 反斜杠

\a 报警

\? 问号

\N 8进制常量(N是8进制常数)

\xN 16进制常量 (N是16进制常数)

如果转义字符不是上面的,比如\c,编译器将提示错误。

用上述的转义字符可以输出任何字母、专用字符、图形字符和控制字符。

\0或者\000 (八进制表示)为控制字符,即空操作,用于字符串中。\x0是否也可以呢?!

6.字符变量

char,只能存放一个字符,即该字符的ASCII

码,为一个二进制数,所以内存中存储的是一个整数。从存储的意义上讲,字符变量是整型变量的子集,只是输出形式可以是整数或者字符,操作上和整数完全一样(赋值、运算等):

#include

int main()

{

char c1,c2;

c1=65;c2=98;

printf("c1=%d,c2=%d\nc1=%c,c2=%c\n",c1,c2,c1,c2);

}

上面程序的输出如下:

c1=65,c2=98

c1=A,c2=b

7.字符串常量 --- 没有字符串变量,只能用数组将字符串存起来

用双引号引用起来,在存储上系统会自动加上结束标志'\0',输出和赋值时不用加入'\0'

变量的赋值(初始化)不是在编译阶段完成是,是在程序运行时赋值的

----> 理解为在程序运行时为变量分配存储空间,并且初始化存储空间。

特例:静态存储变量、外部变量的初始化是在编译阶段完成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值