如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Q1结构化设计程序和面向对象设计程序有什么优缺点?结构化程序设计优点:有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。缺点:可重用性差数据安全性差难以开发图形界面的应用面向对象的编程语言优点:程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都更为方便缺点:1由于涉及到更多的关于类的保护,封装的操作,可能引起更多的数据安全性问题2很难直接与计算机的硬件直接操作(尤其是JAVAC++还好),可能是代码的时间效率和空间效率有所下降Q2使用CONST定义和使用#DEFINE定义有什么优缺点?1const定义常量是有数据类型的,而#define宏定义常量却没有2.const常量有数据类型,而宏常量没有数据类型。编译器可以对const进行类型安全检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换中可能会产生意料不到的错误3.有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。4.const与#define最大的差别在于:const在堆栈分配了空间,而#define只是把具体数值直接传递到目标变量5.#define可以避免头文件的重复包含问题,而CONSTW无法做到Q3关于变量存储类型的一些总结定义:变量是对程序中数据的存储空间的抽象变量的属性:数据类型:变量所持有的数据的性质(操作属性)存储属性存储器类型:寄存器、静态存储区、动态存储区生存期:变量在某一时刻存在-------静态变量与动态变量作用域:变量在某区域内有效-------局部变量与全局变量变量的存储类型auto-----自动型(动态变量是在定义变量时才为其分配存储空间;执行到该变量的作用域的结束处时,系统就收回为该变量分配的存储空间。该变量的生存期仅在变量的作用域内。))register-----寄存器型(把普通存在内存空间的变量存在CPU的寄存器里,提高效率)static------静态型(可分为局部和全局的,普通变量会随着定义的不同改变而改变,而静态的不同.在程序开始执行时系统就为变量分配存储空间,直到程序执行结束时,才收回为变量分配的存储空间,这种变量称为静态存储类型变量。在程序执行的整个过程中,静态存储类型变量一直占用为其分配的存储空间,而不管是否处在这种变量的作用域内。这种变量的生存期为整个程序的执行期间。)关于静态型的特殊说明:①静态局部变量属于静态存储类别,在程序开始执行时,为这种变量分配存储空间,当调用定义该变量的函数结束后,系统并不收回这些变量所占用的存储空间,当再次调用函数时,变量仍使用相同的存储空间,因此这些变量仍保留原来的值,即在整个程序运行期间变量都存在。②静态局部变量存储在内存的静态存储区中。③静态局部变量具有确定的值,当说明变量时没有指定其初值时,则编译器将其初值置为0。④虽然静态局部变量在函数调用后仍然存在,但其他函数是不能引用它的,只能由定义它的函数引用。extern-----外部型(用extern说明外部变量有两个目的,目的一是在同一文件中使用extern说明外部变量扩展全局变量的作用域,目的二是在同一程序的不同文件中使用extern说明外部变量,使不同文件之间可以引用相同的全局变量或函数)局部变量与全局变量局部变量---内部变量定义:在函数内定义,只在本函数内有效说明:main中定义的变量只在main中有效不同函数中同名变量,占不同内存单元形参属于局部变量可定义在复合语句中有效的变量局部变量可用存储类型:autoregisterstatic(默认为auto)全局变量---外部变量定义:在函数外定义,可为本文件所有函数共用有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件例:intmain(){inta,b;a=3;b=4;cout<<“main:a=“<<a<<“b=“<<b;sub();cout<<“main:a=“<<a<<“b=“<<b;return0;}voidsub(){inta,b;a=6;b=7;cout<<“sub:a=“<<a<<“b=“<<b;}运行结果:main:a=3,b=4sub:a=6,b=7main:a=3,b=4例题2:voidswap(intx,inty){inttemp;temp=x;x=y;y=temp;}intmain(){inta,b;cin>>a>>b;if(a<b)swap(a,b);cout<<a<<“,”<<b;}(关于指针问题voi