C语言——数据和C

今天,学习了C Primer Plus的第三章。本章中,数据之间的转换有些复杂;使用转换说明打印各种类型的值较不易记忆,还应多加练习,熟能生巧。

现将知识点总结如下:

  • 在printf()中使用%f来处理浮点数,%.2f中的.2用于精确控制输出,制定输出的浮点数只显示小数点后面两位
  • 数据:承载信息的数字和字符
  • int关键字表示基本的整数类型,long、short、unsigned和signed用于提供基本整形类型的变式
  • char关键字用于指定字母和其他字符(eg:#、$、%和*),也可表示较小的整数(实际储存的是整数而不是字符)
  • _Complex和_Imaginary分别表示复数和虚数
  • 按计算机的储存方式可将关键字的类型分为两大基本类型:整数类型和浮点数类型
  • 位、字节和字是描述计算机数据单元或存储单元的术语
  • 位:最小的存储单元,可以存储0或1。位是计算机内存的基本构建块
  • 字节:常用的计算机存储单元,1字节为8位
  • 字:设计计算机时给定的自然存储单元
  • 浮点数的存储方案:计算机把浮点数分成小数部分和指数部分来表示,而且分开储存这两部分。
  • 对于一些算术运算(eg:两个很大的数相减),浮点数损失的精度更多
  • C语言中的整数类型可表示不同的取值范围和正负值
  • 变量获值途径:赋值 / 通过函数(eg:scanf())获得值 / 初始化变量(为变量赋一个初始值)
  • 转换说明:指定printf()使用什么格式来显示一个值
  • 0x或0X前缀表示十六进制值,0前缀表示八进制
  • 以十进制显示数字,用%d;以八进制显示数字,用%o;以十六进制显示数字,用%x
  • 显示各进制数的前缀0、0、和0X,分别使用%#o、%#x、%#X
  • 布尔类型是无符号int类型
  • unsigned int或unsigned只用于非负值的场合(单独的unsigned相当于unsigned int)
  • 字符常量:用单引号括起来的单个字符
  • 活跃位置:显示设备中下一个字符将出现的位置
  • 在printf()中,%c指明待打印字符
  • printf()中的转换说明决定了数据的显示方式,而不是数据的储存方式
  • sizeof是内置运算符,以字节为单位给出指定类型的大小
  • \b——退格字符(将光标左移一个位置)
  • \r——使得光标回到当前行的起始处
  • printf()语句把输出发送到中间储存区域(缓冲区),然后缓冲区的内容再不断发送到屏幕上(从缓冲区把数据发送到屏幕或文件称为刷新缓冲区
  • unsignedlonglong(十六进制)short(十进制/八进制)unsigned longsigned long long
    %u%ld%lx%hd / %ho%lu%lld

例题3.3代码:

#include <stdio.h>
#include <stdlib.h>

int main(){
	int num = 100;

	printf("10的十进制表示为%d,十六进制表示为%x,八进制表示为%o\n", num, num, num);
	printf("10的十进制表示为%d,十六进制表示为%#x,八进制表示为%#o\n", num, num, num);

	system("pause");
	return 0;
}

运行结果:

例题3.4代码:

#include <stdio.h>
#include <stdlib.h>

int main(){
	unsigned int un = 3000000000;
	short end = 200;
	long big = 65537;
	long long verybig = 12345678905896;

	printf("un=%u and not %d\n", un, un);
	printf("end=%hd and not %d\n", end, end);
	printf("big=%ld and not %hd\n", big, big);
	printf("verybig=%lld and not %ld\n", verybig, verybig);

	system("pause");
	return 0;
}

运行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值