缺陷和测试

缺陷

 一个熟练的程序员花在调试代码上的时间和花

在写程序上的时间一样多

错误类型

 语法错误

 违反了编程语言有关规则

 编译器能够精确指出错误出现在哪一行

 语义及逻辑错误

 没有语法错误,可以运行,但是得不到正确的

结果

 “语义错误”

 程序的运行结果与程序员的期望不同

 “逻辑错误”

 程序按照程序员所设计的有缺陷的算法运行,运行结

果与程序员的期望相同

语法错误示例

#include

int main() 缺少分号

{

int i

int sum = 0;

for (i = 1; i <= 10; i++)

sum = sum + i;

printf("sum = %d\n", sum);

}

常见的语法错误

 声明、语句末尾漏写分号;

 使用未经声明的变量;

 括号不匹配;

 字符串没有结束符;

 赋值运算符左边不是变量;

 … …

语义错误示例

#include

int main()

{

int i;

int sum = 0; 多余的分号

for (i = 1; i <= 10; i++);

sum = sum + i;

printf("sum = %d\n", sum);

}

常见的语义错误

 赋值运算符与相等运算符用错;

 无限循环;

 在 if、while或for结构后面使用多余的分号;

 错误地使用了关系运算符;

 计算或将一个大类型的数转换成小类型时,数据的值超出了

表示范围;

 运算符优先顺序错;

 else搭配不当;

 off-by-one (偏一)错误,通常指for循环的次数多或少一

次;

 将无关代码放到循环体中;

 使用整数除法;

 ……

逻辑错误

 非常隐蔽,需要经过多次测试才会被发现

 很难修复

逻辑错误示例

#include case 8: sum = sum + 31;

int main() case 7: sum = sum + 30;

{ case 6: sum = sum + 31;

int month;

case 5: sum = sum + 30;

int day;

case 4: sum = sum + 31;

int sum = 0;

case 3: sum = sum + 28;

case 2: sum = sum + 31;

printf ("Inp

计算机系统缺陷,4.2 缺陷和测试计算机操作系统原理.pdf相关推荐

  1. 计算机电路门,7.3 门电路计算机操作系统原理.pdf

    门电路 门电路  MOS晶体管,实现与.或.非逻辑运算电路  与门.或门.非门电路 非门(反相器) 3.3伏  栅极连在一起, 输入端  漏极连在一起, 输入 输出 输出端  PMOS管源极 ...

  2. 计算机操作系统的工作原理英文,计算机操作系统原理分析

    <计算机操作系统原理分析>是2014年清华大学出版社出版的图书,作者是丁善镜[1] . 书    名 计算机操作系统原理分析 作    者 丁善镜 ISBN 9787302284710定  ...

  3. 计算机操作系统原理教程与实训(目录)

    计算机操作系统原理教程与实训 第一章 计算机操作系统概论 1.1 操作系统的形成与发展 1.1.1 人工操作方式 1.1.2 脱机输入/输出技术 1.1.3 批处理技术 1.1.4 多道程序设计技术 ...

  4. 计算机操作系统原理精品课程,计算机操作系统原理.ppt

    计算机操作系统原理.ppt 1 第五章??? 设备管理 教学目的和要求: 使学生了解操作系统处理用户I/O请求的基本过程.要求理解缓冲技术的概念.了解操作系统处理用户I/O请求的基本过程.设备管理程序 ...

  5. 视频教程-2021考研专业课《计算机操作系统原理》精讲视频课程-操作系统

    2021考研专业课<计算机操作系统原理>精讲视频课程 河北师范大学软件学院优秀讲师,项目经理资质,担任操作系统原理.软件工程.项目管理等课程教学工作.参与十个以上百万级软件项目管理及系统设 ...

  6. 计算机操作系统原理课件,【】计算机操作系统原理与实例分析PPT课件(完整版 全)精品.ppt...

    []计算机操作系统原理与实例分析PPT课件(完整版 全)精品 4.2 计算机I/O子系统的组成 4.2.1 I/O系统的结构 (1) 总线型I/O系统的结构 总线型I/O系统结构 (2) 通道型I/O ...

  7. 计算机操作系统原理第二章习题

    计算机操作系统原理第二章习题 1.什么是并发?什么是并行?用日常生活中的例子举例说明. 2.在操作系统中为什么要引入进程的概念?它会产生什么样的影响? 3.试说明PCB的作用具体表现在那些方面?为什么 ...

  8. 2013年暑期补课计算机操作系统原理

    2013年暑期补课计算机操作系统原理 什么是操作系统?计算机是如何工作的?操作系统又是如何在计算机上运行的?从这些基本的问题出发,我们一起探索操作系统的奥秘,并动手编写一个自己的操作系统内核,在这个过 ...

  9. 计算机操作系统原理第四章习题

    计算机操作系统原理第四章习题 1.什么是静态链接.装入时动态链接和运行时的动态链接? 2.简述分页系统和分段系统的异同点 3.什么情况下需要重定位?为什么要引入重定位? 4.在具有快表的段页式存储管理 ...

  10. 计算机系统操作在线作业,电子科大《计算机操作系统》在线作业3

    计算机操作,计算机网络 14春13秋 13春电子科大<计算机操作 14春13秋 13春电子科大<计算机操作系统>在线作业3 1 2 试卷总分:100 测试时间:-- 单选题 .单选题 ...

最新文章

  1. LeetCode简单题之买卖股票的最‭佳时机
  2. SSE4.1和SSE4.2 Intrinsics各函数介绍
  3. Introduction to the Trusted Services Project
  4. tensorflow tf.ConfigProto() (配置tf.Session的运算方式)(allow_soft_placement、inter_op_parallelism_threads等)
  5. 【CodeForces - 278C 】Learning Languages(并查集,思维)
  6. 移动应用开发——实验二
  7. 能从入门到精通的 Docker 学习指南
  8. Mac下快速新建txt文件
  9. grep正则表达式详解及练习
  10. BAT[阿里、百度、腾讯]等互联网公司数据结构面试题(一) python分析实现
  11. psd文件图层不多却很大很卡
  12. 苹果cms修改服务器,购买m1938工作室制作的苹果cms模板如何安装修改苹果cms页面说明...
  13. word太大怎么压缩变小,word压缩方法
  14. Java后端Cookie工具类(设置Cookie有效时间、得到Cookie的域名等方法)
  15. Python语言特性和优缺点及什么是鸭子类型?
  16. ElementUI项目使用pdf.js预览pdf文件
  17. 手把手教你做第一个RPA机器人流程
  18. 服务器主板芯片组有几种型号,装机搭配:锐龙所有型号及搭配的主板芯片组信息分享...
  19. 远程连接关闭后账户信息不被注销的方法
  20. SpringBoot2使用hikari报 Failed to validate connection com.mysql.cj.jdbc.ConnectionImpl

热门文章

  1. 网管开始往ITSM迁移(第二季)
  2. 2013中国微信公众平台用户研究报告
  3. iOS入门培训还要钱?看博客,看视频都拿下
  4. 用rsync备份一台linux服务器上的数据
  5. 编程:OJ中使用C编程最基础的操作
  6. thymeleaf之菜单树
  7. 关于RabbitMQ Queue Argument的简介
  8. HDU 2014 - 青年歌手大奖赛_评委会打分
  9. 分布式配置管理平台 - Disconf介绍
  10. usaco Ordered Fractions