C Primer Plus 第三章笔记

警告

从 double类型转换到float类型可能会出现数据丢失 (j警告)

float类型可以存放小数 打印用%f来处理浮点值,%.2f中的.2表示保留2位小数

scanf("",&); 是输入函数 &为取地址符

变量和常量

可变化的叫变量
不可变化的叫常量

最初K&R给出的关键字 C90标准添加的关键字 C99标准添加的关键字
int signer _Bool
long void _Complex
short _Imaginary
unsigned
char
float
double

位,字节,字

最小的存储单位是,可储存0和1
字节是常用的计算机存储单位,1字节 = 8位
字是设计计算机是给定的自然存储单位。有8位,16位,32位,64位。计算机的字长越大,其数据转移越快,允许的内存访问也越多。

整数

在C语言中整数是没有小数部分的数

浮点数

只要加一个小数点就变成浮点数
e的记法:10000000=1e7

注意

对于算数运算(如两个很大的数相减),浮点数损失的精度更多。
浮点数比整数运算慢

C语言中的数据类型

int类型

  1. 它是符号整型(正整数,负整数,零)
  2. ISO-C规定int的取值范围最小为-32768~32767
  3. 打印时需要%d(转换说明)而且要确保转换说明的数量和待打印值的数量相同
  4. short int类型 占用的存储空间可能比int类型少。(有符号类型)
  5. long int类型占用的存储空间可能比int多。(有符号类型)
  6. unsigned int类型终于的存储空间可能比long多取值范围0~65535无符号整数可以表示更大的数
  7. C90标准添加了unsigned long int, unsigned short int, C99标准中添加了unsigned long long int
  8. 在任何符号类型片面添加关键字signed可强调使用有符号类型的意图

打印

  1. %u 用于打印unsigned int的整数

  2. %ld 用于打印long类型的整数

  3. %lx 用于打印十六进制的long类型的整数

  4. %lo 用于打印八进制的long类型的整数

  5. 注意转换符中只能用小写

  6. %hd 用于打印short类型整数

  7. %ho 用于打印八进制的short类型的整数

  8. h和l前缀都可以和u一起使用表示无符号类型

  9. %lu 表示打印unsigned long类型的值

  10. %lld 和 %llu 表示有符号和无符号类型

八进制和十六进制

1.0X或0x的前缀表示十六进制,0表示八进制
2.八进制用%o打印,十六位用%x打印,若显示进制位数的前缀则必须用%#o,%#x,%#X

char类型

  1. char类型用于存储字符但从技术上看他是整数类型
  2. 标准ASCII码的范围是0~127
  3. C语音把椅子姐定义为char类型占用的位数(bit)
  4. 在C语音中单引号括起来的单个字符被成为字符常量 ‘A’ 如果用双引号括起来则被看作是一个字符串

非打印字符

转义序列
  • \a 报警
  • \b 退格
  • \f 换页
  • \n 换行
  • \r 回车
  • \t 水平制表符
  • \v 垂直制表符
  • \\ 反斜杆
  • \' 单引号
  • \" 双引号
  • ? 问号
  • \0oo 八进制 0 代表0~7
  • \xhh 十进制 hh代表十六进制

_Bool 类型

ture 1 和false 0

可移植类型 stdin.h和inttypes.h

附录B

float double long double

  1. 在浮点数后加F或者f后缀可以覆盖默认设置
  2. 后缀L 或 l 可以变为long double类型
  3. 没有后缀默认为double类型
  4. 在十六位进制数前加上十六位前缀(0X或0x)用p或者P表示e或者E, 2的幂代表10的幂(p计数法)
    如0xa.1fp10→(10+1/16+15/256)× 1024 也就是十进制的10364.0
  5. %e打印指数计数法的浮点数

虚数和复数

复数 float_Complex, double_Complex, long double_Coplex
虚数 float_Imaginary, double_Imaginary, long double_Imaginary
如果包含 complex.h头文件 便可用complex代替_Complex 用imaginary代替_Imaginary I代替-1的平方根

其他类型

c中没有字符串类型

类型大小

使用内置函数 sizeof()
打印用%zd 不支持的话 可以用%u或者%lu代替



如果发现错误请及时评论和私信!
同时也欢迎大家一起加入我的学习中!寻找志同道合的人!

你可能感兴趣的:(C Primer Plus 第三章笔记)