摘要:
今天去百度大厦面试,职位是测试开发工程师(暑期实习),面试官是一位漂亮、友善的JJ 第一道很简单,问程序在内存有几个数据区,堆和栈区有啥区别第二道是两个有序数组(可能升序或降序),要求合并到一个大数组中,使其仍然有序,讲了大体思路,并用C简单写了实现代码第三道是给出int型的x、 y两个数,要求不借助第三个变量交换x和y的值,啊。从大一开始学C,碰到过用value传参、引用传参、指针传参、宏定义交换x和y,但都要用到辅助变量,这次遇到JJ给的不借助第三变量交换x 和y,还真是第一次,My god。。。 第一反应,卡壳了,不过也到觉得很新鲜,特别好奇JJ似乎也看出了我不会,于是说:你先想一会吧, 阅读全文
摘要:
学习、研究库函数的实现,能使你考虑问题更加严谨、全面,培养良好的编程风格和习惯最近想学习一下C语言库函数的内部实现,于是自己简单地写了几个贴出以下代码,希望大家能够帮忙指正、优化、完善,特别是考虑不周和执行效率上给出指导意见阅读本文前,可以先参考本博客的上一篇文章 C语言函数小集合调试环境:VS2008(C)// sysFunc.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <ctype.h>/******************** 阅读全文
摘要:
一、字符操作函数名: fputc功 能: 送一个字符到一个流中用 法: int fputc(int ch, FILE *stream); 函数名: fputs功 能: 送一个字符串到一个流中用 法: int fputs(char *string, FILE *stream); 函数名: sprintf功 能: 输出数据到一字符串中(而printf是输出到屏幕上)函数名: fread用 法: fread(fa,4,5,fp); 功 能: 其意义是从fp所指的文件中,每次读4个字节(一个实数)送入实数组fa中,连续读5次,即读5个实数到fa中函数名: strncmp用 法: extern int 阅读全文
摘要:
本博客前面文章已对树与二叉树有过简单的介绍,本文主要是重点介绍有关二叉树的一些具体操作与应用阅读本文前,可以先参考本博客 各种基本算法实现小结(三)—— 树与二叉树 和 各种基本算法实现小结(二)—— 堆 栈二叉树深度层数、叶子数、节点数和广度优先算法以及树的先序、中序、后序的递归与非递归(深度优先)测试环境:VS2008(C)#include "stdafx.h"#include <stdlib.h>#include <malloc.h>#define DataType charint d_tree=0; /* tree's depth * 阅读全文
摘要:
本博客前面文章已对图有过简单的介绍,本文主要是重点介绍有关图的一些具体操作与应用阅读本文前,可以先参考本博客 各种基本算法实现小结(四)—— 图及其遍历 和 图的一些基本算法无向图——邻接矩阵的深度优先和广度优先算法实现测试环境:VS2008(C)#include "stdafx.h"#include <stdlib.h>#include <malloc.h>#define INFINITY INT_MAX#define MAX_VEX 20#define VRType int#define VertexType char#define InfoTy 阅读全文
摘要:
本博客前面文章已对图有过简单的介绍,本文主要是重点介绍有关图的一些具体操作与应用阅读本文前,可以先参考本博客 各种基本算法实现小结(四)—— 图及其遍历 一、无向图 1 无向图——邻接矩阵 测试环境:VS2008 #include "stdafx.h"#include <stdlib.h>#include <malloc.h>#define MAX_VEX 20#define INFINITY 65535int *visited;struct _node{ int vex_num; struct _node *next;};typedef struc 阅读全文
摘要:
1. 什么是内聚?什么是耦合? 内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。比如说:物品是一个模块,用户物品是一个模块,用户金钱是一个模块那么这三个模块之间应该是没有任何联系的,而模块内的功能应该是紧密联系的。比如用户物品模块, 阅读全文
摘要:
概述 软件开发模型(Software Development Model)是指软件开发全部过程、活动和任务的结构框架。软件开发包括需求、设计、编码、测试和维护 阶段。 软件开发模型能清晰、直观地表达软件开发全过程,明确规定了要完成的主要活动和任务,用来作为软件项目工作的基础。对于不同的软件系统,可以采用不同的开发方法、使用不同的程序设计语言以及各种不同技能的人员参与工作、运用不同的管理方法和手段等,以及允许采用不同的软件工具和不同的软件工程环境。最早出现的软件开发模型 最早出现的软件开发模型是1970年W·Royce提出的瀑布模型。该模型给出了固定的顺序,将生存期活动从上一个阶段向下 阅读全文
摘要:
软件概念简介 软件(Software)简单的说就是那些在计算机中能看的着,但摸不着的东西,概念性的说软件也称为“软设备”,广义地说软件是指系统中的程序以及开发、使用程序所需要的所有文档的集合。软件分为系统软件和应用软件。 软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分 。 软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响软件开发的内容是:需求、设计、编程和测试 需求 不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据......为了清楚地知道这些需求,你... 阅读全文
摘要:
简介 CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。 CMMI家族包括CMMI for Development, CMMI for Service和CMMI for Acquisition三个套装产品。CMMI的基本思想 1、解决软件项目过程改进难度增大问题 2、实现软件工程的并行与多学科组合 3、实现过程改进的最佳效益 等级 1. 初始级 软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。2. 已管理级 建立了基本的项目管理过程来跟踪费用、进度和功能特性。... 阅读全文