(11)以下对C/C++语言函数的描述中,正确的是  C
A)C程序由一个或一个以上的函数组成
B)C函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D)C++程序中调用关系的所有函数必须放在同一个程序文件中
(12)以下正确的描述为 C
A)每个C++语言程序必须在开头用预处理命令:
B)预处理命令必须位于C++源程序的首部
C)在C++语言中预处理命令都以”#”开头
D)C++语言的预处理命令只能实现宏定义和条件编译的功能
(13)下列叙述中正确的是  B
A)全局变量的作用域一定比局部变量的作用域范围大
B)静态类别变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
(14)以下选项中合法的用户标识符是 B
A)long
B)_2Test
C)3Dmax
D)A.dat
(15)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量"\101"是  A
A)字符A
B)字符a
C)字符e
D)非法的常量
(16)下面对宏定义的描述中不正确的是  C
A)宏不存在类型问题,宏名无类型,它的参数也无类型
B)宏替换不占用运行时间
C)宏替换时先求出实参表达式的值,然后代入形参数运算求值
D)其实,宏替换只不过是字符替代而已
(17)下列不是循环语句的是  D
A)while语句
B)do…while语句
C)for语句
D)if…else语句
(18)如果a=l,b=2,c=3,d=4,则表达式a<B?A:C<D?C:D的值为  A
A)1
B)2
C)3
D)4
(19)有关构造函数的说法中错误的是 D
A)构造函数名字和类的名字一样
B)构造函数在说明类变量时自动执行
C)构造函数无任何函数类型
D)构造函数有且只有一个
(20)以下有关析构函数的叙述不正确的是 B
A)一个类只能定义一个析构函数
B)析构函数和构造函数一样可以有形参
C)析构函数不允许有返回值
D)析构函数名前必须冠有符号“~“
(21)以下关于静态成员变量的叙述不正确的是 D
A)静态成员变量为类的所有对象所公有
B)静态成员变量可以在类内任何位置上声明
C)静态成员变量的赋初值必须放在类外
D)定义静态成员变量时必须赋初值
(22)若执行下面的程序时,从键盘上输入3和4,则输出结果是  B
main()
{
A)14
B)16
C)18
D)20
(23)以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为  B
A)a+b
B)a-b
C)b*a
D)a/b
(25)如下程序的输出结果是 C
A)O
B)1
C)2
D)3
(26)有以下程序段  A
intk=O:
while(k=1)k++;
while循环执行的次数是
A)无限次
B)有语法错,不能执行
C)一次也不执行
D)执行1次
(27)以下程序的输出结果是 B
main()
A)1234
B)123
C)12
D)1
(28)设有数组定义:chararray[]=”China”;贝4数组array所占的空间为 C
A)4个字节
B)5个字节
C)6个字节
D)7个字节
(29)以下程序的输出结果是  D
A)20
B)24
C)25
D)15
(30)有以下程序  A
执行后输出结果是
A)7
B)6
C)8
D)无确定值
填空
(3)在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为  消息
(4)程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使呈序在运行过程中暴露错误,这种方法称为  动态分析
(6)执行”cout<<CHAR(F一2)<<ENDL;”语句后得到的输出结果后 D
(7)十进制28和3.26的类型分别是  int和double
(8)假定一个二维数组的定义为”inta[3][5];”,则该数组所含元素的个数为15,所占的
字储空间的字节数为 60
(9)假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数
组,则使用的语句是  Worker*r=newWorker[n]
(1O)将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。
比时const不是指定函数的返回值,而是修饰 this  指针。
(11)若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用
头文件  iostream
(12)下列程序的输出结果为  良好 优秀 良好
(14)下列程序的执行结果是 20
C++程序设计试题(上)样卷(卷面50分)
(考试用时90分钟)
一、选择题(每题1分,共5分)
1.对于面向对象的程序设计(OOP)和过程性(SP)的程序设计,那些说法是正确的      B     
A.面向对象的程序设计和过程性程序设计是两个独立的程序设计范型。
B.面向对象的程序设计和过程性程序设计不是两个独立的程序设计范型,前者包含后者。将两者分开并列是不妥的。
C.面向对象是编程的总体框架,而过程性是编写解决具体问题的程序段的工具。
D.面向对象只是一种语法现象,而过程性程序设计才是编程的工具。
2.下面有关函数调用的说法哪一个是错误的    C       
A.实参与形参的数目要求必须是相同的。
B.实参与形参的对应关系取决于位置而不是名字。
C.实参与对应的形参应类型匹配,即实参的类型可以转化为形参类型。
D.C++有两种调用方式:传值与引用。
3.C++中表示字符A的正确方法是      D   
A.’\65’      B.”A”      C.65      D.’A’
4.有关函数重载的要求哪一个是正确的      D     
A.必须保证参数类型和返回值类型均不同。
B.必须保证返回值类型不同。
C.必须保证参数的数量不同。
D.必须保证参数类型或数量不同。
5.下列有关枚举类型的说明哪些是错误的?    C     
令数组全部的值为0A.枚举常量(或称枚举成员)是以标识符形式表示的整型量。
B.默认状态下,这个整数就是所列举元素的序号,序号从0开始。
C.类型定义时可以为部分或全部枚举常量指定整数值,其余的枚举常量仍按默认方式取值。
D.各枚举常量的值可以重复,但各枚举常量标识符必须不同。
二、简答题(每题1分,共5分)
1.什么是逻辑表达式的求值优化?举例说明。
答、在求逻辑表达式值的过程中,一旦表达式的值能够确定,就不再逐步进行下面的运算。例如,假定a=2, b=0, c=3,逻辑表达式:a||b++||c--
因a为非0整数,表达式的值立即可以确定为true,后面的运算b++和c--不再进行,最后b仍为0,c仍为3。
2.下面4个类定义中,是否有错?如有错请说明错在哪里。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。