1、二级 C+笔试 354 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.执行完下列语句 int a,b, *c int * p 后 c 指向(分数:2.00)A.aB.bC.cD.无效地址2.有以下程序 main() union unsigned int n; unsigned char c; ul; u1.cA; coutu1.nendl; 执行后输出结果是(分数:2.00)A.产生语法错B.随机值C.AD.653.若有以下宏定义: # define N 2 # define Y(n) (N+1)*n) 则执行语句 z2*(N+Y(
2、5);后的结果是(分数:2.00)A.语句有错误B.z=34C.z70D.z 无定值4.以下叙述中正确的是(分数:2.00)A.构成 C 程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义5.若已定义 int a1,2,3,4,5,6,7,8,9,10, *pa,i5; 则对数组元素的不正确的引用是(分数:2.00)A.ap-aB.* ( if(abc) coutdendl; else if(c-1d)1) coutd+1endl; else coutd+2endl; 执行后输出结果是(分数:2.00)A.
3、2B.3C.4D.编译时有错,无结果10.下列关于关系运算的叙述中正确的是(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.投影、选择、连接是从二维表的列的方向来进行运算C.并、交、差是从二维表的列的方向来进行运算D.以上三种说法都不对11.下列程序的输出结果是 main() int x1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; cout“a“a“b“bendl; (分数:2.00)A.a2,b=1B.a=1,b1C.a1,b=0D.a=2,b=212.假定其中的 x 的单位是角度且不考虑 值的精
4、度,则与数学公式 (分数:2.00)A.sqrt(cos()B.sqrt(abs(cos(x* 3.14/180)C.sqrt(abs(cos(x*(/180)D.sqrt(fabs(cos(x* 3.14/180)13.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用”括起时,寻找被包含文件的方式是(分数:2.00)A.直接按系统设定的标准方式搜索目录B.先在源程序所在的目录搜索,再按系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录14.以下循环体的执行次数是 main() int i,j; for(i0,j=1;ij+1;i+=2,j-) cou
5、tiendl;(分数:2.00)A.3B.2C.1D.015.以下关于友元函数的叙述不正确的是(分数:2.00)A.友元函数提供了类之间数据共事的一个途径B.一个友元函数可以访问任何类的任何成员C.友元函数破坏了数据的封装D.友元函数增加了程序设计的灵活性16.一棵二叉树中所含最少的结点数是(分数:2.00)A.0B.1C.2D.317.有以下程序 main() int i1,j1,k2; if(j+|k+) 执行后输出结果是(分数:2.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,318.下列程序的运行结果是 main() int a2,c=5; cout“a“a“b=“cen
6、dl (分数:2.00)A.a%2,b%5B.a=2,b5C.ad,bdD.a%d,b=%d19.能保证对所有的参数能够结束的递归函数是(分数:2.00)A.int f(int if(n1) return 1; else return n*f(n+1);B.int f(int if(n1) return 1; else return n*f(n-1);C.int f(int if(abs(1) return 1; else relurn n*n/2);D.int f(int if(n1) return 1; else return n*f(n*2);20.以下函数值的类型是 fun ( flo
7、at x) float y; y 3*x-4; return y; (分数:2.00)A.intB.不确定C.voidD.float21.以下程序的输出结果是 int a, b; void fun() a100; b200; main() int a=5, b=7; fun(); coutabendl; (分数:2.00)A.100200B.57C.200100D.7522.设有语句 int n,m; char a5,b; cinnamb; 为了分别将 10 和 20 分别赋给 n 和m,look 赋给 a,t 赋给 b,则正确的输入为(分数:2.00)A.10 “look“ 20 tCRB.
8、10 “look“ 10C.10 look 20 tD.10CRlook20CRtCR23.执行下面程序中的输出语句后,a 的值是 main() int a; cout(a3*5,a*4,a+5); (分数:2.00)A.65B.20C.15D.1024.数据结构分为(分数:2.00)A.表、队列、堆栈和树B.逻辑结构C.存储结构D.逻辑结构与存储结构25.设有如下说明 typedef struct int n;char c;double x;STD; 则有以下选项,能正确定义结构体数组并赋初值的语句是(分数:2.00)A.STD tt21,A,62,2,B,75;B.STD tt2=“1,“
9、A“,62,2,“B“,75;C.struc tt21,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;26.已知语句 int m10;则下列引用的表示中正确的是(分数:2.00)A.int B.int C.int D.float 27.为了避免嵌套的 if.else 语句的二义性,C+规定与 else 配对的是(分数:2.00)A.缩排位置相同的 ifB.在其之前未配对时 ifC.在其之前未配对的最近的 ifD.同一行上的 if28.在数据流图(DFD)中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成份C.数据的流向D.控制程序
10、的执行顺序29.在最坏情况下,冒泡排序所需要的比较次数为(分数:2.00)A.n/2B.(n+1)/2C.n(n-1)/2D.n(n+1)/230.在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是(分数:2.00)A.封装B.类C.对象D.继承31.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.需求分析C.可行性分析D.详细设计32.有如下程序 main() int n9; while(n6)n-; coutnendl; 该程序段的辅出结果是(分数:2.00)A.987B.876C.8765D.987633.下
11、列叙述中错误的是(分数:2.00)A.二又树不是线性结构B.线性表是非线性结构C.线性链表是线性结构D.栈与队列是线性结构34.对于以下带参数的 main()函数的第二形参,void main(int argc, _),不可能的形式是(分数:2.00)A.char * argvB.char argvC.char * *aD.char * m35.有关构造函数的叙述不正确的是(分数:2.00)A.构造函数名必须和类名一致B.构造函数在定义对象时自动执行C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个二、B填空题/B(总题数:15,分数:30.00)36.所谓数据封装就是将一组数据和与
12、这组数据有关操作组装在一起,形成一个实体,这实体也就是U 【1】 /U。(分数:2.00)填空项 1:_37.在面面对泵方法中,一个对象请求另一对象为其服务的方式是通过发送U 【2】 /U实现。(分数:2.00)填空项 1:_38.在关系数据库中,用来表示实体之间联系的是U 【3】 /U。(分数:2.00)填空项 1:_39.在测试时,完全不考虑程序的内部结构和内部特征的测试方法称为U 【4】 /U测试方法。(分数:2.00)填空项 1:_40.一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于U 【5】 /U的联系。(分数:2.00)填空项
13、1:_41.执行语句序列 char strl10=“ABCD“,str210=“XYZxyz“; for (int i=0; strli=str2i; i+) 后,数组 str1 中的字符是 XYZxyz,数组 str2 中的字符串是U 【6】 /U。(分数:2.00)填空项 1:_42.下列程序的执行结果是U 【7】 /U。 include iostream. h int a; int sum_a(void) a=a+5; return a; void main(void) a = a+sum_a(); coutaendl; (分数:2.00)填空项 1:_43.根据输出结果填空完成下面程序
14、。 # includeiostream. h class Test private: static int val; int a; public: static int func( ); void sfunc(Test ; U 【8】 /U/初始化静态变量 val int Test:func() return val+; void Test:sfunc(Test cout“Result3=“r.a; void main( ) cout“Resultl=“Test:func( )endl; Test a; cout“Result2=“a. func( ); a. sfunc(a) (分数:2.0
15、0)填空项 1:_44.下列程序的运行结果是U 【9】 /U。 # include iostream. h class test private: int num; public: test() int TEST() return num+100; test() ; test:test()num=0; test:test()cout“Destructor is active“endl; void main() test x3 coutx1. TEST()endl; (分数:2.00)填空项 1:_45.下列程序是一个函数模板,用于把数组 a 的每个元素按照逆序放入数组 b 中。请填空完成该函数
16、模板的定义 templateclass Type void Func(Type a, Type b, U【10】 /U) for(int i=0;in;i+) bn-i-1=ai; (分数:2.00)填空项 1:_46.下列程序的运行结果是U 【11】 /U。 # includeiostream. h # includestring. h void main() char * a5=“stuent“,“worker“,“teacher“,“soldier“,“ peasant“; char * p1, * p2; p1=p2=a0 for(int i=0;i5;i+) if(strcmp(ai
17、,p1)0) p1=ai; if(strcmp(ai,p2)0) p2=ai; coutp1“,“p2endl; (分数:2.00)填空项 1:_47.下列程序编译时发现 pb-f(10);语句出现错误,其原因是U 【12】 /U。 # includeiostream. h class Base public: void f(int x)cout“Base:“xendl; ; class Derived: public Base public: void f(char * str)cout“Derivcd:“strendl; ;void main(void) Derived * pd=new
18、Derived; pd-f(10) (分数:2.00)填空项 1:_48.下列程序的运行结果是U 【13】 /U。 # include iostream. h class SomeClass public: SomeClass(int value) some_value=value; void show_data(void) coutdata“some_valueendl; ; static void set_data(int value) data=value; private: static int data; int some_value ; int SomeClass:data voi
19、d main(void) SomeClass my_class(1001),your_class(2002); your_class. set_data(4004); my_elass. show_data() (分数:2.00)填空项 1:_49.下列程序用于打印出 ASC字符,其析构函数内的语句应为U 【14】 /U。 # includeiostream. h # ineludeiomanip, h templateclass T class Array T * elems; int size; public: Array(int.s); Array() T templateclass T
20、 ArrayT:Array(int s) size=s; elems=new Tsize for(int i=0;isize;i+) elemsi=0 templatecelass T ArrayT:Array() _ template class T T templateclass T void ArrayT:operator=(T temp) for(int i=0;isize;i+) elemsi=temp; void main() int i,n=26; Arrayint arr1(n) Arraychar arr2(n) for(i=0;in;i+) -. arr1i=a+i; ar
21、r2i=a+i; cout“ASCII 字符“endl; for(i=0;in;i+) coutsetw(8)arr1isetw(8)arr2iendl; (分数:2.00)填空项 1:_50.下列程序对加号进行了重载,划线部分的语句是U 【15】 /U。 # includeiostream. h # includemath. h class Triangle int x,y,z; double area; public: Triangle(int i,int j, int k) double s; x=i;y=j;z=k; s=(x+y+z)/2.0; area=sqrt(s*(s-x)*(
22、s-y)*(s-z); void disparea() cout“Area=“areaendl; friend double operator+(Triangle t1,Triangle t2) _ ; void main() Triangle t1(3,4,5),t2(5,12,13); double s; cout“t1:“;t1.disparea() cout“t2:“;t2.disparea() s=t1+t2; tout“总面积:=“sendl; (分数:2.00)填空项 1:_二级 C+笔试 354 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35
23、,分数:70.00)1.执行完下列语句 int a,b, *c int * p 后 c 指向(分数:2.00)A.aB.b C.cD.无效地址解析:解析 p 为 c 的引用,即两者实际上是一个指针,故 p 指向 b 后,c 自然也指向 b,故答案为 B。2.有以下程序 main() union unsigned int n; unsigned char c; ul; u1.cA; coutu1.nendl; 执行后输出结果是(分数:2.00)A.产生语法错B.随机值 C.AD.65解析:解析 本题考查联合这种特殊的数据结构的基本知识。联合的本质在于联合的成员共事同一片连续的内存单元。本题中由于
24、整型变量占两个字节,字符型变量占一个字节,而整型变量的一部分没有被赋值,故将输出随机值。本题答案为 B。3.若有以下宏定义: # define N 2 # define Y(n) (N+1)*n) 则执行语句 z2*(N+Y(5);后的结果是(分数:2.00)A.语句有错误B.z=34 C.z70D.z 无定值解析:解析 本题考查宏定义的功能,可以把它看成一个函数,直接代入参数,可计算出结果为 34,故选 B。4.以下叙述中正确的是(分数:2.00)A.构成 C 程序的基本单位是函数 B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前
25、进行定义解析:解析 构成 C 语言的基本单位是函数,函数构成了程序;函数之间可以调用或被调用;main 函数在前的时候,其他函数需要在 main 函数前进行声明,以便于编译器为 main 函数所调用的子函数分配资源5.若已定义 int a1,2,3,4,5,6,7,8,9,10, *pa,i5; 则对数组元素的不正确的引用是(分数:2.00)A.ap-aB.* ( if(abc) coutdendl; else if(c-1d)1) coutd+1endl; else coutd+2endl; 执行后输出结果是(分数:2.00)A.2B.3 C.4D.编译时有错,无结果解析:解析 本题考查逻辑
26、表达式的结合特性,即左结合性。对于表达式 abc,首先判断 ab 为真,结果为 1,然后判断 1c,为假,故转去判断 c-1=d 是否成立,成立结果为 1,再判断 1= =1,结果为真,因此,执行 d+1,答案为 B。10.下列关于关系运算的叙述中正确的是(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.投影、选择、连接是从二维表的列的方向来进行运算 C.并、交、差是从二维表的列的方向来进行运算D.以上三种说法都不对解析:解析 A 和 B 是互相矛盾的答案必然是这两者之一。在关系模型的数据语言中,常规的集合运算(并、交、差、笛卡尔积等),是将关系(即二维表)看成是元组的集
27、合,这些运算主要是从二维表的行的方向来进行的;投影、选择、连接等运算主要是从二维表的列的方向来进行运算。正确答案是 B。11.下列程序的输出结果是 main() int x1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; cout“a“a“b“bendl; (分数:2.00)A.a2,b=1 B.a=1,b1C.a1,b=0D.a=2,b=2解析:解析 本题主要考查 switch 语句中,break 语句的作用。每个 case 语句后面如果没有 break 语句,则程序的执行流程将发生变化,即顺序执行各个 case 语句。这
28、种情况一般不符合程序员的设计思路,但也可以用这种特性完成特殊控制。12.假定其中的 x 的单位是角度且不考虑 值的精度,则与数学公式 (分数:2.00)A.sqrt(cos()B.sqrt(abs(cos(x* 3.14/180)C.sqrt(abs(cos(x*(/180)D.sqrt(fabs(cos(x* 3.14/180) 解析:解析 本题考查数学表达式的掌握,首先应转换为弧度,然后作为 COS 函数的参数,求绝对值,最后是开方函数。考生需要掌握的是常用的数学函数。13.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用”括起时,寻找被包含文件的方式是(分数:2.
29、00)A.直接按系统设定的标准方式搜索目录 B.先在源程序所在的目录搜索,再按系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录解析:解析 本题考查在 include 中采用不同的符号,如或“,编译器搜索方式的不同。14.以下循环体的执行次数是 main() int i,j; for(i0,j=1;ij+1;i+=2,j-) coutiendl;(分数:2.00)A.3B.2C.1 D.0解析:解析 本题考查考生对 for 循环中三个表达式的执行顺序及使用方法。首先执行第一个表达式,然后根据第二个表达式判断是否成立,如果成立则执行循环体,然后执行第三个表达式,随后再去判断第二
30、个表达式。根据这个顺序,可以很容易的判断出,循环体只执行了一次。15.以下关于友元函数的叙述不正确的是(分数:2.00)A.友元函数提供了类之间数据共事的一个途径B.一个友元函数可以访问任何类的任何成员 C.友元函数破坏了数据的封装D.友元函数增加了程序设计的灵活性解析:解析 友元的作用在于提高程序的运行效率,但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。容易混淆是 B,只有在类中声明了某个函数是自己的友元函数之后,该友元函数才能够访问本类的私有成员,而不是任何类的任何成员都可以访问。故答案为 B。16.一棵二叉树中所含最少的结点数是(分数:2.00)A.0 B.1C.
31、2D.3解析:解析 这是考查概念,空二叉树中所含最少的结点数是 0 个。17.有以下程序 main() int i1,j1,k2; if(j+|k+) 执行后输出结果是(分数:2.00)A.1,1,2B.2,2,1C.2,2,2 D.2,2,3解析:解析 本题考查逻辑表达式及自增运算符的联合使用。考生要注意本题里面隐藏的考点: cout“a“a“b=“cendl (分数:2.00)A.a%2,b%5B.a=2,b5 C.ad,bdD.a%d,b=%d解析:解析 本题非常简单,考查 C+中基本的输出语句,注意不要与 C 语言的输出控制字符混淆。19.能保证对所有的参数能够结束的递归函数是(分数:
32、2.00)A.int f(int if(n1) return 1; else return n*f(n+1);B.int f(int if(n1) return 1; else return n*f(n-1);C.int f(int if(abs(1) return 1; else relurn n*n/2); D.int f(int if(n1) return 1; else return n*f(n*2);解析:解析 递归函数的两个重要条件是要有结束和递归表达式。选项 D 无法结束,排除之。根据这两个条件可以进行判断出答案为 C。20.以下函数值的类型是 fun ( float x) fl
33、oat y; y 3*x-4; return y; (分数:2.00)A.int B.不确定C.voidD.float解析:解析 本题考查 C+当中函数的默认返回类型,这种类型与函数内部的局部变量的类型没有关系。如果不小心处理函数返回类型,可能造成数据丢失。本题答案为 A。21.以下程序的输出结果是 int a, b; void fun() a100; b200; main() int a=5, b=7; fun(); coutabendl; (分数:2.00)A.100200B.57 C.200100D.75解析:解析 本题考查同名变量的作用域大小。考生应掌握,同名局部变量在函数内部将屏蔽全
34、局同名变量,因此,main 函数内部使用的局部变量 a 和 b,即 5 和 7,答案为 B。22.设有语句 int n,m; char a5,b; cinnamb; 为了分别将 10 和 20 分别赋给 n 和m,look 赋给 a,t 赋给 b,则正确的输入为(分数:2.00)A.10 “look“ 20 tCRB.10 “look“ 10C.10 look 20 t D.10CRlook20CRtCR解析:解析 本题考查 C+中流操作符的操作规则,即分割符。首先根据字符不需要加引号可以排除选项 A 和 B,而 D 用回车作分割符,但却在 look 和 20 之间缺少一个回车符,故据此可选出
35、正确答案为 C。23.执行下面程序中的输出语句后,a 的值是 main() int a; cout(a3*5,a*4,a+5); (分数:2.00)A.65B.20 C.15D.10解析:解析 本题考查逗号表达式的运算特点。逗号表达式是所有表达式中优先级最低的,从左到右结合,其求解过程是:将逗号表达式各表达式按从左到右的顺序依次求值,并将最右边的表达式结果作为整个逗号表达式的结果。这里考生要注意的是,第二个表达式执行完后,n 的值并没有发生变化,依然是15,所以在执行 a+5 的时候,结果是 20,而不是 65。有的考生可能误选 A。正确答案应是 B。24.数据结构分为(分数:2.00)A.表
36、、队列、堆栈和树B.逻辑结构C.存储结构D.逻辑结构与存储结构 解析:解析 考查知识点直接选择 D。25.设有如下说明 typedef struct int n;char c;double x;STD; 则有以下选项,能正确定义结构体数组并赋初值的语句是(分数:2.00)A.STD tt21,A,62,2,B,75; B.STD tt2=“1,“A“,62,2,“B“,75;C.struc tt21,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;解析:解析 本题考查结构体的基本知识。因为有了 typedef,故可以省略 struct 关键词而直接使用STD
37、名称。结构体数组中的元素在赋值时要求用大括号包含,故答案为 A。26.已知语句 int m10;则下列引用的表示中正确的是(分数:2.00)A.int B.int C.int D.float 解析:解析 本题考查 C+中引入的新类型;引用。引用表示变量的别名,使用方式同变量,效果同指针。引用不能用常数进行赋值,引用的类型必须一致,引用在使用之前必须初始化。27.为了避免嵌套的 if.else 语句的二义性,C+规定与 else 配对的是(分数:2.00)A.缩排位置相同的 ifB.在其之前未配对时 ifC.在其之前未配对的最近的 if D.同一行上的 if解析:解析 C+规定 else 总是与
38、之前未配对的最近的 if 进行配对。这样可以避免二义性,也便于编译器分析。28.在数据流图(DFD)中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成份C.数据的流向 D.控制程序的执行顺序解析:解析 在数据流图中用标有名字的箭头来表示数据流29.在最坏情况下,冒泡排序所需要的比较次数为(分数:2.00)A.n/2B.(n+1)/2C.n(n-1)/2 D.n(n+1)/2解析:解析 只能死记公式。30.在面向对象方法中,实现信息隐蔽是通过对象的某一特性来实现的,这个特性是(分数:2.00)A.封装 B.类C.对象D.继承解析:解析 封装是面向对象方法中的一种信息隐
39、蔽技术。31.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.需求分析 C.可行性分析D.详细设计解析:解析 在需求分析阶段中,要求能准确地确定软件系统必须做什么和必须具备哪些功能。正确答案为 B。32.有如下程序 main() int n9; while(n6)n-; coutnendl; 该程序段的辅出结果是(分数:2.00)A.987B.876 C.8765D.9876解析:解析 注意到 n-的运算顺序,知道第一次输出的应是 8,据此就可以很快排除 A 和 D。然后判断循环几次结束,由于当 n=6 时,while 的条件判断已经
40、不成立了,直接跳过循环体结束程序了。故当n9,8,7 时执行了循环体,故答案为 B。33.下列叙述中错误的是(分数:2.00)A.二又树不是线性结构B.线性表是非线性结构 C.线性链表是线性结构D.栈与队列是线性结构解析:解析 线性表肯定是线性结构二叉树是非线性结构;线性链表是线性结构,栈与队列是特殊的线性表,也是线性结构;线性表是线性结构。34.对于以下带参数的 main()函数的第二形参,void main(int argc, _),不可能的形式是(分数:2.00)A.char * argvB.char argv C.char * *aD.char * m解析:解析 本题要考查的实际是字符
41、数组,用于向函数传递参数,属于指针或引用传递方式。要注意的是考生不要被名称所迷惑,即根据 A 和 D 是相同类别的,故可以排除。对 C 来说,也属于指针传递方式,而 B 不仅不属于指针传递,而且还没有限定数组大小,编译器在编译时就会产生错误。35.有关构造函数的叙述不正确的是(分数:2.00)A.构造函数名必须和类名一致B.构造函数在定义对象时自动执行C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个 解析:解析 本题考查构造函数的基本知识。构造函数名字与类名相同;可以重载;不需要参数;不需要指定返回类型等。本题答案为 D。二、B填空题/B(总题数:15,分数:30.00)36.所谓
42、数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是U 【1】 /U。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 注意不要误以为是类,实体是指对象。37.在面面对泵方法中,一个对象请求另一对象为其服务的方式是通过发送U 【2】 /U实现。(分数:2.00)填空项 1:_ (正确答案:消息)解析:解析 这是概念题,通过发送消息实现。38.在关系数据库中,用来表示实体之间联系的是U 【3】 /U。(分数:2.00)填空项 1:_ (正确答案:二维表)解析:解析 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。即关系模型是用表格数据来表示
43、实体本身及其相互之间的联系。39.在测试时,完全不考虑程序的内部结构和内部特征的测试方法称为U 【4】 /U测试方法。(分数:2.00)填空项 1:_ (正确答案:黑盒)解析:解析 黑盒测试方法只是根据程序功能导出测试用例,完全不考虑程序的内部结构和内部特征。40.一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于U 【5】 /U的联系。(分数:2.00)填空项 1:_ (正确答案:一对多)解析:解析 “项目主管”与实体集“项目”的联系属于一对多的联系。41.执行语句序列 char strl10=“ABCD“,str210=“XYZxyz“;
44、for (int i=0; strli=str2i; i+) 后,数组 str1 中的字符是 XYZxyz,数组 str2 中的字符串是U 【6】 /U。(分数:2.00)填空项 1:_ (正确答案:XYZxyz)解析:解析 注意 for 的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for 循环的作用实际上是将 str2 的字符逐个赋值给 str1 中的对应位置。42.下列程序的执行结果是U 【7】 /U。 include iostream. h int a; int sum_a(void) a=a+5; return a; void main(void) a = a+sum_a(); coutaendl; (分数:2.00)填空项 1:_ (正确答案:10)解析:解析 本题考查全局变量的使用。全局变量被系统默认初始化为 0,故在执行 a=a+sum _a();语句时,首先执行 sum_a 函数,将 a 的值改变为 5,该函数的返回值也是 5,故最后 a 的值被赋值为 10。43.根据输出结果填空完成下面程序。 # includeiostream. h class Test private: static int val; int
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1