数据与C
数据与C
一、int类型
- 获取值的途径
- 赋值
- 通过函数(如,scanf())
- 八进制和十六进制
- 0x或0X前缀表示十六进制
- 0表示八进制
- 以%d显示十进制
- 以%o显示八进制
- 以%x显示十六进制
- 其他整数进制
- short 16 %hd
- int 16或32 %d
- long 32 %ld
- long long 64 %lld
- unsigned 非负可搭配 %u
整型溢出
整数超出相应类型的取值范围(不会报错,会从范围左侧重新开始)
二、char类型
ASCII码0~127
1字节
-
字符常量
- 用单引号括起来的单个字符
- char name='a';//将‘a'赋给name
- char name=65;//将65对应的ASCII码'A'赋给name
- char name='';//将‘fate';将‘e’赋给name
- (即把4个独立的8位ASCII码储存在一个32位的储存单元,把它赋给name只有最后8位有效,所以name的值为‘E')
-
转义序列
-
转义序列用例
#include<stdio.h>
int main()
{
printf("人民币元换角");
float yuan=0,jiao=0;
printf("\a请输入元:___");
printf("\b\b\b");
scanf("%f",&yuan);
jiao = yuan * 10;
printf("\t%.2f元能换%.2f角。", yuan, jiao);
return 0;
}
- 人民币元换角请输入元:2.3
- 2.30元能换23.00角。
- 打印字符与scanf()函数
#include<stdio.h>
int main()
{
char ch;
printf("请输入:");
scanf("%c",ch);
printf("%d的ASCII编码是%c",ch);
return 0;
}
运行程序后:
请输入:C
67的ASCII编码是C
1. scanf()函数会读取用户输入的字符,&符号表示把输入的字符赋给变量ch;
2. printf()函数中转换说明决定了数据的显示方式,而不是数据的存储方式.
三、布尔类型
- 1表示ture
- 2表示false
- 占一位空间
四、浮点数类型
- 计数法
- 一般计数法 12.34
- 科学计数法 1.234*(10的1次方)
- 指数计数法 1.234e1
- float
- 必须至少6位有效数字
- 占32位8位表示指数的值和符号剩下24位表示非指数的部分及符号
- double
- 必须至少10位有效数字
- 占64位
- 打印浮点值
- %f %lf
- 浮点数的上下溢
五、复数、虚数类型
六、其他类型
- 由基本类型衍生的其他类型,如数组、指针、结构和联合。
七、类型大小
- sizeof()是1C语言内置运算符,一字节为单位给出指定类型的大小。
- %zd转换说明匹配sizeof的返回类型。
八、刷新输出
- printf()语句把输出发送到一个叫缓存区的中间存储区域,然后缓存区中的内容在不断被发到屏幕上
- 当缓存区满、与换行符或需要输入(如,scanf())时,把缓存区内容发到屏幕(被称为刷新缓存区)