Archive

Posts Tagged ‘The C Programming Language’

《C程序设计语言(The C Programming Language)》学习笔记 1.10

May 23rd, 2011 1 comment

讲述外部变量及其作用域。

讲述了外部变量的定义方式和使用方式,外部变量有其运用方便的地方,但同时会带来一定的风险。
Read more…

《C程序设计语言(The C Programming Language)》学习笔记 1.9

May 11th, 2011 No comments

通过一个实例来介绍字符数组,重点说明字符串结束符”\0″,以及程序中需要设定的检验输入字符串溢出的问题。

练习1-16要求修改本节的示例程序,打印出任意长度输入行的长度,并尽可能多的打印出输入行。
Read more…

《C程序设计语言(The C Programming Language)》学习笔记 1.8

April 28th, 2011 No comments

本节讲述c语言函数的参数采用的值传递特性,也就是,传递给被调用函数的参数不是存放在原来的变量中的,被调用函数不能直接修改主调函数中变量的值,而只能修改私有的临时副本的值。如何做到让函数可以修改参数的值呢,C也提供了方法。那就是提供参数的地址为参数,相应的,调用函数的参数就应声明为指针类型。

本节没有习题。

《C程序设计语言(The C Programming Language)》学习笔记 1.7

April 27th, 2011 No comments

1.7介绍了函数的大概,讲述了哪怕只是很简单的程序段,但是仍然使用函数的形式的优点。

讲述了函数声明,函数定义,函数原型,参数,形参,实参,等概念及语法。

练习1-15:改写1.2节的温度转换程序,采用函数方式,改写一下还是很简单的。
Read more…

《C程序设计语言(The C Programming Language)》学习笔记 1.6

April 21st, 2011 1 comment

本节介绍了数组的概念,数组下标的表示方法,if、else if的用法。

本节练习题1-13要求输出一个直方图,不懂啊,什么意思,不懂只能翻答案了。配套习题解答里面给出的答案,原来就是按照单词长度,输出一个由”*”组成的图形,但是给出程序的执行结果我不是很明白,于是按照自己对题目的理解,修改了程序,代码如下:
Read more…

《C程序设计语言(The C Programming Language)》学习笔记 1.5.4

April 2nd, 2011 No comments

本节给出一个程序,功能是计算输入字符的行数,单词数和字符数。通过这个程序,介绍了以下一些概念:

  • 表达式的赋值结合次序为从右至左。
  • 运算符||和&&,说明了&&比||优先级要高,它们连接的表达式为从左向右求值,并且一旦足够判断出最终结果了,则求值终止,不再对余下的表达式求值。
  • 与 if 配对的 else 语句。
  • 练习1-11:
    就是要求给出一个测试文档,我想宗旨就是测试边界条件。放到本节的示例程序,边界条件就比如说:
    空输入,只有空格、制表符或者换行符的情况,等等,在此,不一一举例。
    Read more…

    《C程序设计语言(The C Programming Language)》学习笔记 1.5.3

    April 1st, 2011 No comments

    这一节继续讲计数相关,这次是计算行数。

    计算行数,也就是计算”\n”的数量。

    要注意的是:
    双等号”==”和单等号”=”在表达式中的不同意义。
    单引号中的字符表示一个整形值,包括转义字符。

    练习1-8:编写一个程序,计算有几个空格,制表符和换行符。
    Read more…

    《C程序设计语言(The C Programming Language)》学习笔记 1.5.2

    March 31st, 2011 No comments

    这一节用一个简单的程式介绍了字符数的计算。

    新出现的知识点是自增运算符”++”和自减运算符”–”,要注意的是此种运算符作为“前缀运算符”和“后缀运算符”是有区别的。

    第二个“for循环”的程序版本,给出了一个空循环体的实例。

    最后总结了while循环和for循环的一个优点:

    就是在执行循环体之前就对条件进行测试。在出现边界条件时,while语句与for语句有助于确保程序执行合理的操作。
    

    本节无练习。

    《C程序设计语言(The C Programming Language)》学习笔记 1.5.1

    March 20th, 2011 No comments

    1.5节开始讲述字符的输入与输出,介绍了一次读写一个字符的最简单的函数:getchar 和 putchar 。

    1.5.1节文件复制,要点如下:

  • 字符在机器内部以位模式存储。
  • 文件结束指示符:EOF,并且为了使变量足够存放文件结束指示符,于是把变量声明为 int 类型,而非 char 类型。
  • 表达式是有值的,即赋值后,表达式的值为左边变量的值。表达式的左值特性有利有弊,一反面可以精简程序,另一方面,如果滥用,可能导致程序的不可读,用时斟酌。
  • 运算符的优先级问题。本节出现的”!=”优先级比”=”高,所以要正确利用括号来保证语句的正确。
  • Read more…

    《C程序设计语言(The C Programming Language)》学习笔记 1.4

    March 8th, 2011 No comments

    本节介绍#define的用法。

    意义就是避免程序中出现“幻数”,类似会赋值为数字常量这样的变量,程序中要尽量避免,否则不易增加程序的可阅读性,对于修改程序也会增加困难。

    统一用#define在程序开头处,对这一类的“符号常量”进行定义,意义直观,且修改方便,是很好的编程习惯。

    本节没有练习。