C程序设计考试题库精简版剖析.docx
- 文档编号:30468502
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:141
- 大小:43.62KB
C程序设计考试题库精简版剖析.docx
《C程序设计考试题库精简版剖析.docx》由会员分享,可在线阅读,更多相关《C程序设计考试题库精简版剖析.docx(141页珍藏版)》请在冰豆网上搜索。
C程序设计考试题库精简版剖析
【章节】第1章C++基础知识
【知识点】
1、C++程序的构成与书写形式;
2、基本数据类型,常量、变量和表达式
3、C++的标准输入输出
【单选题】
1、在C++中,源程序变为可执行程序的正确顺序应该是()。
A.编辑、链接、编译、执行B.编辑、编译、链接、执行
C.编译、编辑、链接、执行
D.编译、链接、编辑、执行
答案:
B
2、要把高级语言编写的源程序转换为目标程序,需要使用()。
A.编辑程序
B.驱动程序
C.调试程序
D.编译程序
答案:
D
3、下列关于C++与C语言的关系描述中,错误的是()。
A.C语言是C++语言的一个子集
B.C++与C语言是兼容的
C.C++对C语言进行了一些改进
D.C++和C语言都是面向对象的
答案:
D
4、下面为使用面向对象语言的正确理由是()。
A.面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构
B.程序语句比面向过程语言简单
C.面向对象程序设计可以设计为自行修改错误
D.面向对象程序很容易概念化
答案:
D
5、以下选项中,合法的用户标识符是()。
A.long
B._2Test
C.3Dmax
D.A.dat
答案:
B
6、下列描述中正确的是()。
A.不是每个C++程序都必须包含预处理命令#include
B.C++程序必须有return语句
C.C++程序中的变量必须定义在主程序内部
D.C++程序中所使用的符号常量可以不进行定义
答案:
A
7、C++源程序文件的扩展名为()。
A..CPP
B..C
C..DLL
D..EXE
答案:
A
8、cout是I0流库预定义的()。
A.类
B.对象
C.包含文件
D.常量
答案:
B
9、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
答案:
D
10、下列选项中,()是不合法的标识符.
A.Program
B.Obj23
C.double
D.B_C_D
答案:
C
11、下列标识符中,不合法的用户标识符为()。
A.a~!
B._int
C.a_10
D.PAd
答案:
A
12、只能向终端输出一个字符的函数是()。
A.pringf函数
B.putchar函数
C.getchar函数
D.scanf函数
答案:
B
13、如果有整型量intx=5,执行情况x+=1.9后x的值为()。
A.6
B.7
C.结果不确定
D.表达式非法
答案:
A
14、已知a=5,b=3,表达式a+=a*=++b*3的值为()。
A.40
B.80
C.100
D.120
答案:
D
20、在C++语言中,自定义的标识符()。
A.能使用关键字并且不区分大小写
B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且区分大小写
答案:
D
32、C++语言程序的基本单位是()。
A.程序行
B.语句
C.函数
D.字符
答案:
B
37、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要改进是()
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
答案:
D
38、下列符号属于c++语言用户标识符的是()。
A.DO
B.if
C.void
D.switch
答案:
A
39、任意一个类,析构函数的个数最多是()。
A.不限个数
B.1
C.2
D.3
答案:
B
【章节】第3章函数
【知识点】
1、C++函数的相关知识
2、函数定义与函数的调用
3、内联函数与函数重载
【单选题】
1、若有以下函数调用语句,在此函数调用语句中实参的个数是()。
fun(a+b,(y=10,y),fun(n,k,d));
A.3
B.4
C.5
D.6
答案:
A
2、以下程序的运行结果是()。
intmain()
{intk=4,m=1,p;
p=func(k,m);
cout<
p=func(k,m);
cout<
}
func(inta,intb)
{staticintm,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
A.8,17
B.8,16
C.8,20
D.8,8
答案:
A
3.以下函数调用语句中,含有的实参个数是().
func(rec1,rec2+1,(rec3,rec4));
A.3
B.4
C.5
D.有语法错误
[答案]A
4.分析如下程序:
#include
intf(intb[],intn)
{inti,r=1;
for(i=0;i<=n;i++)
r=r*b[i];
returnr;
}
voidmain(){
intx,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
cout< } 上面程序的输出结果是()。 A.720 B.120 C.24 D.6 答案: B 5、下列函数参数默认值定义错误的是()。 A.Fun(intx,inty=0) B.Fun(intx=100) C.Fun(intx=0,inty) D.Fun(intx=f())(假定函数f()已经定义) 答案: C 6、在函数定义前加上关键字“inline”表示该函数被定义为()。 A.重载函数 B.内联函数 C.成员函数 D.普通函数 答案: B 7、一个函数功能不太复杂,但要求被频繁调用,选用()。 A.内联函数 B.重载函数 C.递归函数 D.嵌套函数 答案: A 8、下面有关重载函数的说法中正确的是()。 A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同 C.重载函数必须有不同的形参列表 D.重载函数名可以不同 答案: C 9、在C++语言中,对函数参数默认值描述正确的是()。 A.函数参数的默认值只能设定一个 B.一个函数的参数若有多个,则参数默认值的设定可以不连续 C.函数必须设定默认值 D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值 答案: D 10、考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于不合法调用的是 A.test(5); B.test(5,8); C.test(6,'#'); D.test(0,0,'*'); 答案: C 11、以下对C++函数的有关描述中,正确的是()。 A.C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参 B.C++函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C++程序中有调用关系的所有函数必须放在同一源程序文件中 答案: A 12、在C++语言中函数返回值的类型是由()决定的。 A.调用该函数时系统临时 B.return语句中的表达式类型 C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型 答案: C 13、以下程序的输出结果是()。 intfunc(inta,intb) {returna+b;} intmain() {intx=6,y=7,z=8,r; r=func(func(x,y),z--); cout< } A.15 B.20 C.21 D.31 答案: C 14、以下程序的输出结果是()。 voidfun(inta,intb,intc) {a=456;b=567;c=678;} intmain() {intx=10,y=20,z=30; fun(x,y,z); cout< } A.30,20,10 B.10,20,30 C.456,567,678 D.678,567,456 答案: A 15、C++语言中,形参与实参之间的数据传递方式是()。 A.只能按值传递 B.只能按地址传递 C.既可以按值传递也可以按地址传递 D.以上说法都不对 答案: C 16、分析以下程序: #include voidfun(intnum){cout< voidfun(charch){cout<<(ch+1)< intmain(){ fun('A'); return0; } 以上程序的输出结果是()。 A.65 B.66 C.A D.B 答案: B 17、一个函数为voidf(intx,chary=‘a’),另一个函数为voidf(int),则它们()。 A.不能在同一程序块中定义 B.可以在同一个程序块中定义并可重载 C.可以在同一个程序块中定义,但不可以重载 D.以上说法均不正确 答案: A 18、函数定义为Fun(int&i),变量定义n=100,则下面调用正确的是()。 A.Fun(20) B.Fun(20+n) C.Fun(n) D.Fun(&n) 答案: C 19、当一个函数无返回值时,函数的类型应为()。 A.任意 B.void C.int D.char 答案: B 20、下列带缺省值参数的函数说明中,正确的说明是()。 A.intFun(intx,inty=2,intz=3); B.intFun(intx=1,inty,intz=3); C.intFun(intx,inty=2,intz); D.intFun(intx=1,inty,intz=3); 答案: A 21、下列函数参数默认值定义错误的是()。 A.Fun(intx,inty=0) B.Fun(intx=100) C.Fun(intx=0,inty) D.Fun(intx=f())(假定函数f()已经定义) 答案: C 22、在函数定义前加上关键字“inline”表示该函数被定义为()。 A.重载函数 B.内联函数 C.成员函数 D.普通函数 答案: B 23、一个函数功能不太复杂,但要求被频繁调用,选用()。 A.内联函数 B.重载函数 C.递归函数 D.嵌套函数 答案: A 24、下面有关重载函数的说法中正确的是()。 A.重载函数必须具有不同的返回值类型 B.重载函数形参个数必须不同 C.重载函数必须有不同的形参列表 D.重载函数名可以不同 答案: C 25、在C++语言中,对函数参数默认值描述正确的是()。 A.函数参数的默认值只能设定一个 B.一个函数的参数若有多个,则参数默认值的设定可以不连续 C.函数必须设定默认值 D.在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值 答案: D 26、考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于不合法调用的是()。 A.test(5); B.test(5,8); C.test(6,'#'); D.test(0,0,'*'); 答案: C 27、以下对C++函数的有关描述中,正确的是()。 A.C调用函数时,只能把实参的值传给形参,形参的值不能传递给实参 B.C++函数既可以嵌套定义又可以递归调用 C.函数必须有返回值,否则不能使用函数 D.C++程序中有调用关系的所有函数必须放在同一源程序文件中 答案: A 28、在C++语言中函数返回值的类型是由()决定的。 A.调用该函数时系统临时 B.return语句中的表达式类型 C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型 答案: C 29、以下程序的输出结果是()。 intfunc(inta,intb) {returna+b;} intmain() {intx=6,y=7,z=8,r; r=func(func(x,y),z--); cout< } A.15 B.20 C.21 D.31 答案: C 30、以下程序的输出结果是()。 voidfun(inta,intb,intc) {a=456;b=567;c=678;} intmain() {intx=10,y=20,z=30; fun(x,y,z); cout< } A.30,20,10 B.10,20,30 C.456,567,678 D.678,567,456 答案: A 【章节】第7章类与对象 【知识点】 1、面向对象程序设计的基本概念 2、类定义、属性与行为、访问权限控制,对象的定义、使用 3、构造函数与析构函数 4、函数重载技术与运算符重载技术 5、友元 【单选题】 1、对于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句(划线处)应该是()。 classMyClass { public: MyClass(intx) { n=x; } voidSetValue(intn1) { n=n1; } private: intn; }; intf() { MyClass*ptr=newMyClass(45); __________; } A.MyClass(50) B.SetValue(50) C.ptr->SetValue(50) D.ptr->n=50 答案: C 分值: 2 难度: 1 知识点: 评析: 2、类MyClass的定义如下: classMyClass { public: MyClass() { value=0; } setVariable(inti) { value=i; } private: intvalue; }; 则以下各项对如下语句序列的描述中,正确的是()。 MyClass*p,my;p=&my; A.语句”p=&my;”是把对象my赋值给指针变量p B.语句”MyClass*p,my;”会调用两次类MyClass的构造函数 C.对语句”*p.SetVariable(5)”的调用是正确的 D.语句”p->SetVariable(5)”与语句”my.SetVariable(5)”等价 答案: D 分值: 2 难度: 1 知识点: 评析: 3、下面类的定义,有()错误。 classMyClass{ inti=0; public: voidMyClass();~MyClass(intValue);}; A.1 B.2 C.3 D.4 答案: C 分值: 2 难度: 1 知识点: 评析: 4、定义析构函数时,应该注意()。 A.其名与类名完全相同 B.返回类型是void类型 C.无形参,也不可重载 D.函数体中必须有delete语句。 答案: C 分值: 2 难度: 1 知识点: 评析: 5、构造函数不具备的特征的是()。 A.构造函数的函数名与类名相同 B.构造函数可以重载 C.构造函数可以设置默认参数 D.构造函数必须指定返回类型 答案: D 分值: 2 难度: 1 知识点: 评析: 6、类的析构函数是在()被自动调用的。 A.类创建时 B.创建对象时 C.删除对象时 D.不自动调用 答案: C 分值: 2 难度: 1 知识点: 评析: 7、对于任何一个类,析构函数最多有()个。 A.0 B.1 C.2 D.4 答案: B 分值: 2 难度: 2 知识点: 评析: 8、通常,拷贝构造函数的参数是()。 A.某个对象名 B.某个对象的引用名 C.某个对象的成员名 D.某个对象的指针名 答案: B 分值: 2 难度: 1 知识点: 评析: 9、面向对象程序设计中的数据隐藏指的是()。 A.输入数据必须输入保密口令 B.数据经过加密处理 C.对象内部数据结构上建有防火墙 D.对象内部数据结构的不可访问性 答案: D 分值: 2 难度: 1 知识点: 评析: 10、下列关于类的访问权限的描述中,错误的是().。 A.说明为公有的成员可以被程序中的任何代码访问 B.说明为私有的成员只能被类的成员和说明为友元类的成员函数访问 C.说明为保护的成员,除了能被本身的成员函数和说明为友元类的成员函数访问外,该类的派生类的成员也可以访问 D.类的所有成员都可以被程序中的任何代码访问 答案: D 分值: 2 难度: 1 知识点: 评析: 11、一个类的友元函数或友元类可以访问该类的()。 A.私有成员 B.保护成员 C.公有成员 D.所有成员 答案: D 分值: 2 难度: 1 知识点: 评析: 12、下列关于成员函数特征的描述中,错误的是()。 A.成员函数一定是内联函数 B.成员函数可以重载 C.成员函数可以设置参数的默认值 D.成员函数可以是静态的 答案: A 分值: 2 难度: 1 知识点: 评析: 13、下面对类中静态数据成员的描述中,正确的是()。 A.静态数据成员是类的所有对象共享的数据 B.类的每个对象都有自己的静态数据成员 C.类的不同对象有不同的静态数据成员 D.静态数据成员不能通过类的对象调用 答案: A 分值: 2 难度: 1 知识点: 评析: 14、C中对于类中定义的成员,其默认的访问权限为()。 A.public B.protected C.private D.static 答案: C 分值: 2 难度: 1 知识点: 评析: 15、类的析构函数的作用是()。 A.作为类的一般成员函数 B.类的初始化 C.对象的初始化 D.对象扫尾处理 答案: D 分值: 2 难度: 1 知识点: 评析: 16、若有一个MyClass类,则执行语句”MyClass,a,b (2),*p;”后,自动调用该类的构造函数()次。 A.2 B.3 C.4 D.5 答案: A 分值: 2 难度: 1 知识点: 评析: 17、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要改进是() A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 答案: D 分值: 2 难度: 1 知识点: 评析: 18、类MyClass的定义如下: classMyClass { public: Myclass(){} MyClass(inti){value=newint(i);} int*value; }; 若要对value赋值,则下面语句正确的是()。 A.MyClassmy;my.value=10; B.MyClassmy;*my.value=10; C.MyClassmy;my.*value=10; D.MyClassmy(10); 答案: D 分值: 2 难度: 1 知识点: 评析: 19、下面是对类MyClass的定义,对定义中语句描述正确的是()。 classMyClass { public: voidMyClass(inta){X=a;}//① intf(inta,intb)//② { X=a; Y=b; } intf(inta,intb,intc=0)//③ { X=a; Y=b; Z=c; } staticvoidg(){X=10;}//④ private: intX,Y,Z; }; A.语句①是类MyClass的构造函数定义 B.语句②是类和语句③实现类成员函数的重载 C.语句④实现对类成员变量X的更新操作 D.语句①、②、③和④都不正确 答案: D 分值: 2 难度: 1 知识点: 评析: 20、类aClass的定义如下: classaClass{public: aClass(){}aClass(inti){value=newint(i);}int*value;}若要对类中的valu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计考试题库精简版剖析 程序设计 考试 题库 精简 剖析