- 1
- 0
- 约6.49千字
- 约 17页
- 2016-12-02 发布于浙江
- 举报
CTestingandDebugging翻译-20130312
面向对象程序设计(C++)课程系列辅导书
Testing and Debugging(测试和调试)
参考译文
信息技术与传播学院
2013年3 月
第二章
1. 对于任一非C++保留字的标识符必须要声明。如果你使用了一个未被声明的标识符(既没有自己用语句声明或也没有包含相应的头文件),你将得到出错信息。
2. 如果想试图声明一个和C++保留字相同的标识符,编译器会给出一条出错信息。附录A列出了C++的保留字。
3. C++语言对大小写敏感:两个大小写不同的标识符会被视为是两个不同的标识符。而main和C++其它所有的保留字都只是用小写字母。
4.为了使用标准库中的标识符,例如cout和 string,你必须采用如下方法之一:或者使用限定的名字,如std::cout;或者在程序的头部附近使用using指令:“using namespace std;”。
5. 检查字符和文字串中不匹配的引号。每个字符的开头和结尾都是撇号(单引号),而每个文字串是以双引号开头和结尾。
6. 请确保仅使用单撇号(’)来包含字符文字。大多键盘上都有个很容易与其混淆的反向撇号(`)。如果你使用了这个反向撇号,编译器就会给出出错信息。
7. 要在文字串中使用双引号,那么在一行中使用这两个符号\”。如果仅使用双引号,那么它将结束此串,编译器就会把串的剩余部分视为错误。
8. 在赋值语句中,确保“=”左边的标识符是个变量而不是命名常量。
9. 当把一个数赋值给字符串变量时,“=”右边的表达式必须是个字符串表达式、文字字符串或字符。
10. 在连接表达式中,“+”的两个操作数中至少有一个必须是字符串类型。例如,两端不能都是文字串或字符值。
11. 务必确保程序语句以分号结束(除了那些在右括号后不需要分号的复合语句)。
第三章
1. 一个非零的整型常量不能以0开始,如果以0开头,那么它就表示一个八进制数(以8 为基)了。
2. 密切注意整数的除法。表达式47/100结果为0,即整数商。这是C++程序中输出出错的主要来源之一。
3. 当使用运算符/和%时,记住让它们除以0是不合法的。
4. 根据优先级的规则仔细检查每个表达式,以确保所有的运算都会以预期的顺序运行。
5. 避免将整型和浮点型在一个表达式中混用。如果必须要这样做,考虑使用显性的强制类型转换来减少出错的可能性。
6. 对于每一个赋值语句,检查以确认表达式的结果与赋值符号左边的变量具有相同的数据类型。如果不是这样,为了清晰和正确,要考虑使用强制类型转换。并且记住当将一个浮点型数值存储到一个整型变量时会舍去它的小数部分。
7. 对于在程序中使用的每一个库函数,要确保用#include命令把相应的头文件包含进来。
8. 检查每一个对库函数的调用,以确保参数的数量和参数的数据类型是正确的。
9. 对于一个字符串类型,字符在字符串中的位置是从0开始编号的,而不是从1开始。
10. 如果程序中的出错原因不明显,离开电脑,研究一下打印的(程序)清单。只有当你完全明白错误来源时,才开始修改你的程序。
第四章
1:输入、输出语句总是以流对象的名字开始,插入运算符和提取运算符指示着数据的去向。语句cout n;的作用是把数据送给输出流cout,语句cin n;是把数据10赋给变量n。
2:当一个程序从文件读写时,要确保每一个输入、输出语句都要用文件流的名字,而不是cin或者cout。
3:与ifstream 或者ofstream对象相关的open(打开文件)函数要求一个C字符串作为参数。这个参数不能是string对象。对这一点,本教材中规定:这个参数只能是如下两种情况之一:(a)一个文字字符串,或者是(b),由调用函数myString .c_str()返回的字符串,这里的myString是string(字符串)类型。
4:当你打开一数据文件作时,应保证打开函数的参数提供的文件名和存放在磁盘上的文件名一致。
5:当把字符串读入字符串对象时,提取运算符会在字符尾部第一个空白处停止,但不会消耗掉该字符。
6:确保每一个输入语句都能指定了正确数量的变量,并且及每一个变量的数据类型也是正确的。
7:如果你的输入数据是混合的(比如字符和数字),务必用插入中间空格的方法来处理。
8:回显输入的数据以验证每一个量都在应该的位置上并且有正确的格式。(这是非常重要的,因为在C++里,输入错误既不会产生出错提示信息,也不会终止程序)。
第五章
C++有三对外形相似、但是效果迥异的操作符:“==”和“=”;“”和“”,“||”或和“|”。仔细检查所有的逻辑表达式以确保你正在使用“==”;
原创力文档

文档评论(0)