C Primer Plus第五版记录

此文用来记录我在学习《C Primer Plus第五版》期间所遇到的重要知识点。以日后用来提醒自己,也十分希望广大博友留言与我一起讨论交流。

—————————————————————————————————————————————

使用C语言的7个步骤:定义程序目标,设计程序,编写代码,编译,运行程序,测试和调试程序,维护和修改程序。
定义程序目标:希望程序做什么?考虑程序需要的信息,需要进行的计算和操作以及程序应该报告的信息。
设计程序:用户界面应该如何,程序应该如何组织,目标用户是谁,确定在程序中如何表示数据,以及用什么方法来处理数据
编写代码:将程序设计解释为C语言

源代码转换为机器语言代码,将结果放置在一个目标代码文件,但该文件并不能运行,因为它不是一个完整的程序。它还缺少一个启动代码的东西,相当于程序与操作系统之间的接口。第二个缺少的是库例程的代码。链接器将这3个元素(目标代码、系统的标准启动代码和库代码)结合起来,并存放在单个文件之中,即可执行文件。对库代码而言,链接器只从库中提取所使用的函数所需要的代码

–#inclue甚至不是C语言的语句
“#”符号表明这一行是在编译器接手之前由C处理器处理的语句
一个C程序总是从main()函数开始执行的

使程序可读的技巧
1.选择有意义的变量名和使用注释
2.使用空行分隔一个函数的概念上的多个部分
3.每个语句用一行

位是计算机存储的基本单位。字是自然的存储单位,对于8位微机,一个字正好8位。对于16位机器一个字的大小为16位。

加了小数点的数就是浮点型值,所以7是整数类型,而7.00是浮点型。浮点数表示法将一个数分为小数部分和指数部分并分别存储。因此尽管7.00和整数7的值相同,但它们的存储方式不同。在十进制中,7.00可表示为0.7E1。0.7是小数部分,而1是指数部分。浮点数运算通常比整数运算慢。

一般地,int类型存储在计算机的一个字中。

最好避免在一个声明语句中同时出现初始化和未初始化变量

八进制和十六进制常量通常被视为int类型。要打印unisgned int数字可以使用%u,打印long数值可以使用%ld格式说明符,对于short类型使用%h。

C把一个字节定义为char类型所使用的位数。C将字符变量视为int类型而非char类型

printf()说明符决定数据的显示方式而不是决定数据的存储方式

C标准规定float类型至少能表示6位有效数字。通常系统使用32位存储一个浮点数,其中8位表示指数及其符号,24位用于表示非指数的部分及其符号,C规定了double类型至少能表示10位有效数字,一般地使用64位长度。

编译器会将浮点常量当作double类型,C可以通过f或F后缀使编译器把浮点常量当作float类型

C99位表示浮点常量添加一种16进制格式,该格式使用前缀0x或0X,接着是十六进制数字,
然后是p或P(而不是e或E),最后是2的指数(而不是10的指数),如下:
0xa.1fp10,a是10,.1f表示1/16+16/256,p10表示2的10次方(即1024)。整个数十进制位10364.0

使用%d显示float值不会把该float值转换为近似的int值,而是显示垃圾值,反之,使用%f显示int值也不会把该int值转换为浮点值。

printf()语句将输出传递给一个被成为缓冲区的中介存储区域,缓冲区中的内容再不断地被传递给屏幕。标准C规定在以下几种情况下将缓冲区内容传给屏幕:缓冲区满的时候、遇到换行符的时候以及需要输入的时候。

字符串中的字符存放在相邻的存储单元中,每个字符占用一个单元。

scanf()开始读取输入以后,会在遇到的第一个空白字符空格、制表符(tab)或者换行符处停止读取。一般情况下,使用%s的scanf()只会把一个单词而不是把整个语句作为字符串读入。

printf()的转换说明修饰符,.digit(s),表示精度,对于浮点数来说是小数点的有点打印的数字的位数,对于字符串则是要打印的字符的最大数目,对于整数,是将要打印的数字的最小位数。printf()函数的返回值是所打印的字符的数目。

在printf中想分割一个字符串有三个选项可供选择

printf ("Here's one way to print a ");
printf ("long string.\n");
printf ("Here's another way to print a \
long string.\n");
printf ("Here's the newest way to print a "
        "
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值