C语言(数据类型)
来源:互联网 发布:文华期货软件 编辑:程序博客网 时间:2024/06/05 05:31
数据类型
- 基本数据类型
- 整型 int
- 字符型 char
- 单精度浮点型 float
- 双精度浮点型 double
- 限定符
- 符号限定符
- 有符号 signed
- 无符号 unsigned
- 长度限定符
- 短整型 short
- 长整型 long
- 超长整型 long long
- 符号限定符
注意:
- C 语言标准只规定了char 占用一个字节,而未规定int 占几字节,具体的字节数由编译器与机器架构实现,在32 位的机器上,int 一般占4 字节。
- C 语言同样未规定short 与long 的具体长度,C 语言只规定了,short 的长度不能大于int,long 的长度不能小于int,具体的长度还是由编译器与机器架构实现。
- 浮点数都是有符号数,不可以用限定符进行限定,像unsigned short float 这样的写法是错误的。
- 在32 位的Ubuntu14.04 系统中,float 一般占用4 字节,double 一般占用8 字节。长度不一样导致两者所能表示的数据范围和精度不一样,float 型数据能得到6 位有效数字,而double 型数据能得到15 位有效数字。此外,long 可与double 构成long double 类型,表示高精度浮点型,经验证,long double类型的长度可以达到16 字节!
格式控制字符
可以通过不同的格式控制字符来控制数据的输出格式,采用不同的格式控制字符,即使相同的数据,也可以有不同的输出形式,具体的格式控制格式如下:
- %c:打印单个字符。
- %d:打印有符号的十进制整数。
- %u:打印无符号的十进制整数。
- %x:打印无符号十六进制整数,使用0~f。
- %X:打印无符号十六进制整数,使用0~F。
- %o:打印无符号八进制整数。
- %f :打印十进制浮点数。
- %e:打印浮点数。指数的形式1.23e+001
- %E:打印浮点数。1.23E+001
- %s:打印字符串。
输出长度与对齐方式控制
可以在格式化控制字符中限定字符的输出长度与对齐方式,以%X.Y□举例(□表示对应的格式化控制字符),X 用于限定输出的长度,在该长度以内,默认按照右对齐,可以前面加上“-”表示左对齐,超出该长度时,该参数无效。Y 用于限定浮点数的打印精度,默认是小数点后6 位。
使用限定符
对于使用unsigned 或long 修饰的类型,打印时还需要加上对应的限定符描述,否则打印的结果也是不对的,规则列表如下 :
关于使用scanf 有以下注意点
- 格式控制字符用于说明输入数据的类型,与printf 的控制格式字符遵循一样的对应关系。
- 输入参数是地址。
- 格式控制字符串中的非占位符也要按原样进行输入,比如“%d,%d”,那么在输入的时候,两个数之间要以逗号间隔。
- 在输入数据时,如输入空间、回车、tab 键或者遇到非法字符时,则认为输入数据结束。
- scanf 函数返回成功输入的数据个数。
C 语言中运算符的总结
- 算术运算符:
- 五则运算:+ - * / %
- 取反运算符:-
- 自增与自减运算符:++ –
注意点:
1、%(取模运算)的操作数不可以是浮点数
2、自增自减运算符只能用于变量,不能用于常量和表达式,类似5–,(a+b)++的写法都是不对的。
- 关系运算符:
- 大于、大于等于:> >=
- 小于、小于等于:< <=
- 等于: ==
- 不等于: !=
- 逻辑运算符:
- 逻辑与: &&
- 逻辑或: ||
- 逻辑非: !
注意点:
逻辑运算的短路求值特性:
表达式1 && 表达式2,当表达式1 为假时,与运算的结果肯定为0,所以表达式2 无
须计算。或运算的规则请自行推导。
- 赋值运算符:=及其扩展赋值运算符
赋值运算的结合方向是从右向左,类似 a = b = c = 3 的计算方式是 a = (b = (c = 3))。 - 条件运算符:? :
- 指针运算符:
- 取地址:&
- 解地址:*
- 求字节运算符:sizeof
- 位运算符:
- 左移:<<
- 右移:>>
- 按位与:&
- 按位或:|
- 按位取反:~
- 按位异或:^
- 成员运算符:. 和 ->
- 下标运算符:[]
- 逗号运算符: ,
逗号运算是C 语言中优先级最低的运算符,所有表达式从左往右依次计算,逗号运算的结果
是最后一个表达式的值。
运算符优先级表
表格来自《C 语言深度解剖(第2 版)》
0 0
- C语言(数据类型)
- C语言(数据类型)
- C语言数据类型(4.21)
- C语言 数据类型(复习)
- C语言 数据类型(初识)
- C语言笔记(数据类型)
- C语言(二)--数据类型
- 【C语言】C语言数据类型
- c语言-数据类型-基本数据类型
- c语言课件,数据类型(续)
- C语言的基本数据类型(9)
- C语言的数据类型(一)
- C语言的数据类型(二)常量
- C语言的数据类型(三)变量
- C语言学习(一)概述,数据类型
- c语言中的数据类型(小结3)
- 枚举数据类型概述(c语言)
- (1.1.5) C语言数据类型长度
- Building libmesh with Petsc support
- MFC中,Unicode和多字节字符集下 CString和char的转化
- iOS 返回首页
- dialog
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
- C语言(数据类型)
- FFmpeg长时间无响应的解决方法
- java设计模式进阶_state
- 点击UITableView的cell展开收缩
- 企业宣传片如何做?上海宣传片公司拍摄与制作看这里
- 求出现次数最多的数
- 《剑指offer》面试题57 删除链表中重复的结点 C++ 实现 以及 错误总结 (指针问题)!!
- 图论小结
- c++简单整理