1、二级 C+模拟 486 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是_。(分数:1.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除2.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第
2、1 层)_。(分数:1.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.负责数据库中查询
3、操作的数据库语言是_。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C b 2 1 c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B并C交D差10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化
4、值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1, 2, 3, 4, 511.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_。(分数:1.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念12.下列_是 C+语言的有效标识符。(分数:1.00)A._No1B.No. 1C.12345D.int13.设有定义 int x; float y;,则 10+x+y 值的数据类型是_。(分数:1.00)A.intB.doubleC.floatD.不确定14.下列程序的执行结果为
5、_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3C.3, 4D.4, 415.下面程序的运行结果为_。 #includeiostream. h void main() for(int a=0, x=0;! x a+) a+; coutaendl; (分数:1.00)A.10B.11C.12D.016.下面有关 for 循环的正确描述是_。(分数:1.00)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达
6、式C.在 for 循环中,不能用 break 语句跳出循环体D.在 for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来17.以下程序中调用 cin 函数给变量 a 输入数值的方法是错误的,其错误原因是_。 #includeiostream. h void main() int*P, *q, a, b; P= cout“input a:“; cinP; (分数:1.00)A.*P 表示的是指针变量 P 的地址B.P 表示的是变量 a 的地址,而不是变量 a 的值C.*P 表示的是指针变量 P 的值D.*P 只能用来说明 P 是一个指针变量18.假定 int 类型变量占用两个字节,
7、其有定义 int x10=0, 2, 4;,则数组 x 在内存中所占是_。(分数:1.00)A.3B.6C.10D.2019.下列选项,不正确的是_。(分数:1.00)A.for(int a=1; a=10; a+);B.int a=1;doa+; while(a=10);C.int a=1;while(a=10)a+;D.for(int a=1; a=10; a+)a+;20.下面关于数组的初始化正确的是_。(分数:1.00)A.char str=“a“, “b“, “c“B.char str2=“a“, “b“, “c“C.char str23=“a“, “b“, “c“, “d“, “e
8、“, “f“D.char str()=“a“, “b“, “c“21.下列程序的输出结果为_。 #includeiostream. h void main() char*a=“hello“, “the“, “world“; char*pa=a; pa+; cout*paendl; (分数:1.00)A.helloB.theC.wordD.hellotheworld22.决定 C+语言中函数的返回值类型的是_。(分数:1.00)A.return 语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型23.有以下程序: #includ
9、eiostream. h void fun(int a, int b, int c) a=456, b=567, c=678; void main() int x=10, y=20, z=30; fun(x, y, z); coutx“,“y“,“zendl; 输出结果是_。(分数:1.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45624.以下叙述正确的是_。(分数:1.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义25.下列程序的输出结果
10、是_。 #includeiostream. h int min(int a, int b) if(ab)return a; else return b; return 0; void main() coutmin(1, min(2, 3)endl; (分数:1.00)A.0B.1C.2D.326.下列程序的运行结果为_。 #includeiostream. h void print(double a) cout+a; void print(int a, int b) coutba; void main() print(1. 2); cout“ “; print(3, 4); (分数:1.00)
11、A.1.2 34B.2.2 34C.1.2 43D.2.2 4327.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是_。(分数:1.00)A.公有类型B.私有类型C.保护类型D.友元类型28.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是_。(分数:1.00)A.友元函数B.虚函数C.构造函数D.析构函数29.类的析构函数的作用是_。(分数:1.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象30.下列说法正确的是_。(分数:1.00)A.内联函数在运行时是将该函数的目标代码插入
12、每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义31.下面对静态数据成员的描述中,正确的是_。(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受 private 控制符的作用D.静态数据成员可以直接用类名调用32.下面对于友元函数描述正确的是_。(分数:1.00)A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员33.在公有派
13、生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是_。(分数:1.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针34.下面程序的运行结果为_。 #includeiostream. h class A public: A() cout“1“; A() cout“2“; ; class B: public A public: B() cout“3“; B() cout“4“; ; void main() B b; (分数:1.00)A.1234B.1324C.1342D.31
14、4235.下列关于虚基类的描述,错误的是_。(分数:1.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数36.下列关于多态性的描述,错误的是_。(分数:1.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定37.下列运算符中,在 C+语言中不能重载的是_。(分数:1.00)A.*B. =C.
15、: :D./38.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_(分数:1.00)A.ios:inB.ios:outC.ios:in | ios:outD.以上都不对39.下列程序的运行结果是_。 #includeiostream. h Class A int a; public: A() a=0; A(int aa) a=aa; couta+; ; void main() A x, y(2), z(3); coutendl; (分数:1.00)A.00B.23C.34D.2540.下面程序的输出结果是_。 #includeiostream. h cla
16、ss example int a; public: example(int b) a=b+; void print() a=a+1; couta“ “; void print()const couta“ “; ; void main() example x(3); const example y(2); x. print(); y. print(); (分数:1.00)A.2 2B.4 3C.4 2D.3 2二、基本操作题(总题数:1,分数:18.00)41.请使用 VC6 或使用答题菜单打开 proj1 下的工程 proj1,该工程中包含程序文件 main. cpp,其中有类 Door(“门
17、”)和主函数 main 的定义。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开 503 号门门是锁着的,打不开。 打开 503 号门的锁锁开了。 打开 503 号门.门打开了。 打开 503 号门.门是开着的,无须再开门。 锁上 503 号门先关门门锁上了。 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespace std; class Door int num;/门号 bool closed;/true 表示门关着 bool loc
18、ked;/true 表示门锁着 public: Door(int num) /ERROR *found* num=this-num; closed=locked=true; bool isClosed()const return closed; /门关着时返回 true, 否则返回 false bool isOpened()const return ! closed; /门开着时返回 true, 否则返回 false bool isLocked()const return locked; /门锁看时返回 true, 否则返回 false bool isUnlocked()const retur
19、n ! locked; /门未锁时返回 true, 否则返回 false void open() /开门 coutendl“打开“num“号门.“; /ERROR *found* if(closed) cout“门是开着的,无须再开门。“; else if(locked) cout“门是锁着的,打不开。“; else closed=false; cout“门打开了。“; void close() /关门 coutendl“关上“num“号门“; if(closed) cout“门是关着的,无须再关门。“; else closed=tree; cout“门关上了。“; /ERROR *found
20、* void lock()const /锁门 coutendl“锁上“num“号门“; if(locked) cout“门是锁着的,无须再锁门。“; else if(! closed) cout“先关门“; closed=true; locked=true; cout“门锁上了。“; void unlock() /开锁 coutendl“开“num“号门的锁“; if(! locked) cout“门没有上锁,无须再开锁。“; else locked=false; cout“锁开了。“; ; int main() Door door(503); door. open(); door. unlo
21、ck(); door. open(); door. open(); door. lock(); return 0; (分数:18.00)_三、简单应用题(总题数:1,分数:24.00)42.请使用 VC6 或使用答题菜单打开 proj2 下的工程 proj2,该工程中包含一个程序文件 main. epp,其中有日期类 Date、人员类 Person 及排序函数 sortByName 和主函数 main 的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。此程序的正确输出结果应为: 按姓名排序 排序前: 张三 男 出生日期:1978 年 4 月 20 日 王五 女 出
22、生日期:1965 年 8 月 3 日 杨六 女 出生日期:1965 年 9 月 5 日 李四 男 出生日期:1973 年 5 月 30 日 排序后: 李四 男 出生日期:1973 年 5 月 30 日 王五 女 出生日期:1965 年 8 月 3 日 杨六 女 出生日期:1965 年 9 月 5 日 张三 男 出生日期:1978 年 4 月 20 日 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 #includeiostream using namespace std; class Date /日期类 int year, month, da
23、y;/年、月、日 public: Date(int year, int month, int day): year(year), month(month), day(day) int getYear()const return year; int getMonth()const return month; int getDay()const return day; ; class Person /人员类 char name14;/姓名 bool is_male;/性别,为 true 时表示男性 Date birthdate;/出生日期 public: Person(char*name, boo
24、l is_male, Date birth_date) /*found* :_ strcpy(this-name, name); const char*getName()const return name; bool isMale()const return is_male; Date getBirthdate()const return birth_date; /利用 strcmp()函数比较姓名,返回一个正数、0 或负数,分别表示大于、等于、小于 int compareName(const Person coutname“(is_male?“男“: “女“)“出生日期: “birth_da
25、te. getYear()“年“/显示出生年 /*found* _/显示出生月 birth_date. getDay()“日“;/显示出生日 ; void sortByName(Person ps, int size) /将人员数组按姓名排列为升序 for(int i=0; isize-1; i+) /采用选择排序算法 int m=i; for(int j=i+1; jsize; j+) if(ps j. compareName(psm)0) m=j; if(mi) Person P=psm; psm: psi; psi=P; int main() Person staff= Person(“
26、张三“, true, Date(1978, 4, 20), Person(“王五“, false, Date(1965, 8, 3), Person(“杨六“, false, Date(1965, 9, 5), Person(“李四“, true, Date(1973, 5, 30) ; const int size=sizeof(staff)/sizeof(staff0); int i; coutendl“按姓名排序“; coutendl“排序前:“; for(i=0; isize; i+) staffi. show(); sortByName(staff, size); coutendle
27、ndl“排序后:“; for(i=0; isize; i+) staffi. show(); coutendl; return 0; (分数:24.00)_四、综合应用题(总题数:1,分数:18.00)43.请使用 VC6 或使用答题菜单打开 proj3 下的工程 proj3,其中包含了类 IntegerSet 和主函数 main的定义。一个 IntegerSet 对象就是一个整数的集合,其中包含 0 个或多个无重复的整数;为了便于进行集合操作,这些整数按升序存放在成员数组 elem 的前若干单元中。成员函数 add 的作用是将一个元素添加到集合中(如果集合中不存在该元素),成员函数 remo
28、ve 从集合中删除指定的元素(如果集合中存在该元素)。请编写成员函数 remove。在 main 函数中给出了一组测试数据,此时程序的正确输出结果应为: 2 3 4 5 27 28 31 66 75 2 3 4 5 6 27 28 31 66 75 2 3 4 5 6 19 27 28 31 66 75 3 4 5 6 19 27 28 31 66 75 3 4 5 6 19 27 28 31 66 75 要求: 补充编制的内容写在“/*333*”与“/*666*”之间,不得修改程序的其他部分。 注意:程序最后将结果输出到文件 out. dat 中。输出函数 writeToFile 已经编译为
29、 obj 文件,并且在本程序中调用。 /IntegerSet. h #ifndef INTEGERSET #define INTEGERSET #includeiostream using namespace std; const int MAXELEMENTS=100; /集合最多可拥有的元素个数 class IntegerSet int elemMAXELEMENTS; /用于存放集合元素的数组 int counter;/用于记录集合中元素个数的计数器 public: IntegerSet(): counter(0) /创建一个空集合 IntegerSet(int data, int si
30、ze); /利用数组提供的数据创建一个整数集合 void add(int element); /添加一个元素到集合中 void remove(int element); /删除集合中指定的元素 int getCount()const return counter; /返回集合中元素的个数 int getElement(int i)const return elemi;/返回集合中指定的元素 void show()const; ; void WriteToFile(char*); #endif /main. cpp #include“IntegerSet. h“ #includeiomanip
31、IntegerSet:IntegerSet(int data, int size): counter(0) for(int i=0; isize; i+) add(datai); void IntegerSet:add(int element) int j; /从后往前寻找第一个小于等于 element 的元素 for(j=counter; j0; j-) if(element=elemj-1) break; /如果找到的是等于 element 的元素,说明要添加的元素已经存在,直接返回 if(j0) if(element=elemj-1)return; /如果找到的是小于 element 的
32、元素,j 就是要添加的位置 /该元素及其后面的元素依次后移,腾出插入位置 for(int k=counter; kj; k-) elemk=elemk-1; elemj=element;/将 element 插入到该位置 counter+;/计数器加 1 void IntegerSet:remove(int element) /*333* /*666* void IntegerSet:show()const for(int i=0; igetCount(); i+) coutsetw(4)getElement(i); coutendl; int main() int d=5, 28, 2, 4
33、, 5, 3, 2, 75, 27, 66, 31; IntegerSet s(d, 11); s. show(); s. add(6); s. show(); s. add(19); s. show(); s. remove(2); s. show(); s. add(4); s. show(); WriteToFile(“ “); return 0; (分数:18.00)_二级 C+模拟 486 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是_。(分数:1.00)A.栈顶元素最先能被删除 B.栈顶元素最后才能被删除
34、C.栈底元素永远不能被删除D.栈底元素最先被删除解析:解析 栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。栈底元素最先入栈却最后被删除。所以选择 A。2.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D.以上说法都不正确解析:解析 栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择 C。3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假
35、设根结点在第 1 层)_。(分数:1.00)A.3B.4C.6D.7 解析:解析 根据二叉树的基本性质 3:在任意一棵二叉树中,度为 0 的叶子结点总比度为 2 的结点多一个,所以本题中度为 2 的结点为 1-1=0 个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共 7 个结点共 7 层,即度为 7。4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统 B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统解析:解析 软件按功能可以分为:应用软件、系统软件、支撑软件。操作系统、编译程序、汇编程序、
36、网络软件、数据库管理系统都属于系统软件。所以 B、C、D 都是系统软件,只有 A 是应用软件。5.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转 C.选择(分支)结构D.重复(循环)结构解析:解析 1966 年 Boehm 和 Jacopini 证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。6.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解
37、析:解析 详细设计的任务是为软件结构图中而非总体结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节,所以 A 错误。7.负责数据库中查询操作的数据库语言是_。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 数据定义语言:负责数据的模式定义与数据的物理存取构建;数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作;数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。(分数:1.00)A.1:1
38、联系B.1:m 联系C.m:1 联系D.m:n 联系 解析:解析 因为一个教师可讲授多门课程,而一门课程又能由多个老师讲授,所以他们之间是多对多的关系,可以表示为 m: n。9.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C b 2 1 c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B并C交D差 解析:解析 关系 T 中的元组是关系 R 中有而关系 S 中没有的元组的集合,即从关系 R 中除去与关系 S中相同元组后得到的关系 T。所以做的是差的运算。10.
39、定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是_。(分数:1.00)A.-369B.369 C.0.369D.整数集合1, 2, 3, 4, 5解析:解析 只有 B 选项中 369 可以用无符号整数来表示和存储。A 选项中-369 有负号,选项 C 中0.369 是小数都不能用无符号整数类存储。选项 D 是一个整数集合得用数组来存储。11.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_。(分数:1.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念 解析:解析 C+语言最重要
40、的特点是其为一种面向对象的程序设计语言,但是 C+语言也包含了 C 语言的全部特征。12.下列_是 C+语言的有效标识符。(分数:1.00)A._No1 B.No. 1C.12345D.int解析:解析 标识符是一个以字母或下画线开始的,由字母、下画线和数字组成的字符串,标识符不能与任意关键字同名。13.设有定义 int x; float y;,则 10+x+y 值的数据类型是_。(分数:1.00)A.intB.doubleC.float D.不确定解析:解析 由算术运算符组成的表达式中,若含有不同类型的操作数,则系统隐含地将低类型转化为高类型,由低至高的顺序为 intfloatdouble。
41、14.下列程序的执行结果为_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3 C.3, 4D.4, 4解析:解析 *p 为所指对象 a 的值,语句“b=+a+;”等价于“b=b+a; a=a+1;”。15.下面程序的运行结果为_。 #includeiostream. h void main() for(int a=0, x=0;! x a+) a+; coutaendl; (分数:1.00)A.10B.11C.12 D.0解析:解析 在进入最后一次
42、循环时 a=10,在循环体内执行“a+;”后 a=11,执行完该次循环体计算for 循环的增量部分后 a=12 小于 10,循环结束。16.下面有关 for 循环的正确描述是_。(分数:1.00)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在 for 循环中,不能用 break 语句跳出循环体D.在 for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 解析:解析 选项 A 中 for 循环可以用于循环次数不确定的情况;选项 B 中 for 循环是先判断表达式,后执行循环体语句;选项 C 中 for 循环可以用 break 语
43、句跳出循环体,从而接着执行循环体后面的语句。17.以下程序中调用 cin 函数给变量 a 输入数值的方法是错误的,其错误原因是_。 #includeiostream. h void main() int*P, *q, a, b; P= cout“input a:“; cinP; (分数:1.00)A.*P 表示的是指针变量 P 的地址B.P 表示的是变量 a 的地址,而不是变量 a 的值 C.*P 表示的是指针变量 P 的值D.*P 只能用来说明 P 是一个指针变量解析:解析 p 表示的是变量 a 的地址,定义后*p 表示的是变量 a 的值。18.假定 int 类型变量占用两个字节,其有定义
44、int x10=0, 2, 4;,则数组 x 在内存中所占是_。(分数:1.00)A.3B.6C.10D.20 解析:解析 x 数组共有 10 个元素,在花括号内只提供 3 个初值,这表示只给前面的 3 个成员赋值,后7 个元素的值为 0,所以,一共有 20 个字节。19.下列选项,不正确的是_。(分数:1.00)A.for(int a=1; a=10; a+);B.int a=1;doa+; while(a=10); C.int a=1;while(a=10)a+;D.for(int a=1; a=10; a+)a+;解析:解析 本题考查的是基本循环语句的使用,选项 A,选项 C 和选项 D
45、 都为正确的形式,在选项 B中的 while(a=10)后缺少结束符分号“;”。20.下面关于数组的初始化正确的是_。(分数:1.00)A.char str=“a“, “b“, “c“ B.char str2=“a“, “b“, “c“C.char str23=“a“, “b“, “c“, “d“, “e“, “f“D.char str()=“a“, “b“, “c“解析:解析 本题考查的是字符数组的初始化。选项 B 中用 3 个元素初始化大小为 2 的数组,越界了;选项 C 中应该是 2 行 3 列的数组,题中使用 3 行 2 列初始化;选项 D 中数组合后应用方括号。21.下列程序的输出结果为_
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1