C++程序设计考试题库 2.docx
《C++程序设计考试题库 2.docx》由会员分享,可在线阅读,更多相关《C++程序设计考试题库 2.docx(289页珍藏版)》请在冰豆网上搜索。
C++程序设计考试题库2
【课程信息】
课程名称:
C++程序设计
课程编码:
L
前导课程:
计算机导论、计算机基础
课程说明:
《C++程序设计》是为本科生开设的一门专业基础课程。
通过本课程的学习,使学生能够掌握C++程序设计的基本原理、有关算法的模型和程序的设计方法。
通过对较复杂的程序范例的剖析,使学生掌握结构化程序设计方法与面向对象的程序设计方法,并学会运用C++进行程序设计与开发的技巧。
提高利用计算机语言分析问题和解决问题的能力,为学生应用开发和后续课的学习打下扎实的基础。
任课教师:
-黄超
【录入】黄超
【章节】第1章C++基础知识
【知识点】
1、C++程序的构成与书写形式;
2、基本数据类型,常量、变量和表达式
3、C++的标准输入输出
【单选题】
1、在C++中,源程序变为可执行程序的正确顺序应该是()。
A.编辑、链接、编译、执行B.编辑、编译、链接、执行
C.编译、编辑、链接、执行
D.编译、链接、编辑、执行
答案:
B
分值:
2
难度:
1
知识点:
1
评析:
2、要把高级语言编写的源程序转换为目标程序,需要使用()。
A.编辑程序
B.驱动程序
C.调试程序
D.编译程序
答案:
D
分值:
2
难度:
1
知识点:
评析:
3、下列关于C++与C语言的关系描述中,错误的是()。
A.C语言是C++语言的一个子集
B.C++与C语言是兼容的
C.C++对C语言进行了一些改进
D.C++和C语言都是面向对象的
答案:
D
4、下面为使用面向对象语言的正确理由是()。
A.面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构
B.程序语句比面向过程语言简单
C.面向对象程序设计可以设计为自行修改错误
D.面向对象程序很容易概念化
答案:
D
分值:
2
难度:
1
知识点:
评析:
5、以下选项中,合法的用户标识符是()。
A.long
B._2Test
C.3Dmax
D.A.dat
答案:
B
分值:
2
难度:
1
知识点:
评析:
6、下列描述中正确的是()。
A.不是每个C++程序都必须包含预处理命令#include
B.C++程序必须有return语句
C.C++程序中的变量必须定义在主程序内部
D.C++程序中所使用的符号常量可以不进行定义
答案:
A
分值:
2
难度:
1
知识点:
评析:
7、C++源程序文件的扩展名为()。
A..CPP
B..C
C..DLL
D..EXE
答案:
A
分值:
2
难度:
1
知识点:
评析:
8、cout是I0流库预定义的()。
A.类
B.对象
C.包含文件
D.常量
答案:
B
分值:
2
难度:
1
知识点:
评析:
9、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是()。
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
答案:
D
分值:
2
难度:
1
知识点:
评析:
10、下列选项中,()是不合法的标识符.
A.Program
B.Obj23
C.double
D.B_C_D
答案:
C
分值:
2
难度:
1
知识点:
评析:
11、下列标识符中,不合法的用户标识符为()。
A.a~!
B._int
C.a_10
D.PAd
答案:
A
分值:
2
难度:
1
知识点:
评析:
12、只能向终端输出一个字符的函数是()。
A.pringf函数
B.putchar函数
C.getchar函数
D.scanf函数
答案:
B
分值:
2
难度:
1
知识点:
评析:
13、如果有整型量intx=5,执行情况x+=1.9后x的值为()。
A.6
B.7
C.结果不确定
D.表达式非法
答案:
A
分值:
2
难度:
1
知识点:
评析:
14、已知a=5,b=3,表达式a+=a*=++b*3的值为()。
A.40
B.80
C.100
D.120
答案:
D
分值:
2
难度:
1
知识点:
评析:
15、下列语句彼此等价的是()。
A.!
(a<10)&&!
(a>0)和!
((a<10)&&(a>0))
B.!
(a==b)和(a>b)&&(a
C.!
((a>10)||(a<0))和(a<=10)&&(a>=0)
D.!
(a>b)和a
答案:
C
16、定义如下变量:
inti=2;intj=3;则i/j的结果为()。
A.0.66667
B.0
C.0.7
D.0.…
答案:
B
分值:
2
难度:
1
知识点:
评析:
17、下面表达式的值为false的是()。
A.1<3&&5<7
B.!
(2>4)
C.!
(5<8)||(2<8)
D.3&&0&&1
答案:
D
分值:
2
难度:
1
知识点:
评析:
18、设inta=3,b=4,c=5;表达式(a+b)>c&&b==c的值是()。
A.2
B.-1
C.0
D.1
答案:
C
分值:
2
难度:
1
知识点:
评析:
19、下列符号中,不是分隔符的是()。
A.;
B.()
C.//
D.{}
答案:
C
分值:
2
难度:
1
知识点:
评析:
20、在C++语言中,自定义的标识符()。
A.能使用关键字并且不区分大小写
B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且区分大小写
答案:
D
分值:
2
难度:
1
知识点:
评析:
21、字符串常量"ME"的字符个数是()。
A.4
B.3
C.2
D.1
答案:
B
分值:
2
难度:
1
知识点:
评析:
22、C++语言可执行程序从()开始执行。
A.程序中第一条可执行语句
B.x=0,y=0,z=0
C.程序中的main函数
D.包含文件中的第一个函数
答案:
C
分值:
2
难度:
1
知识点:
评析:
23、下列符号中,不是分隔符的是()。
A.;
B.[]
C.()
D.{}
答案:
B
分值:
2
难度:
1
知识点:
评析:
24.在C++语言中,自定义的标识符()。
A.能使用关键字及标准标识符
B.不能使用关键字并且不区分大小写
C.能使用关键字并且区分大小写
D.不能使用关键字并且区分大小写
答案:
D
分值:
2
难度:
1
知识点:
评析:
25、在C++语言里,一条语句以()字符作为结束符。
A.,
B.;
C..
D.无符号
答案:
B
分值:
2
难度:
1
知识点:
评析:
26、设以下变量都是int类型,则值不等于7的表达式是()。
A.x=y=6,x+y,x+1
B.x=y=6,x+y,y+1
C.x=6,x+1,y=6,x+y
D.y=6,y+1,x=y,x+1
答案:
C
分值:
2
难度:
1
知识点:
评析:
27、x=1,y=1,z=1,执行表达式w=++x||++y&&++z后,x、y、z的值分别为()。
A.x=2,y=1,z=1
B.x=2,y=2,z=2
C.x=1,y=1,z=1
D.x=2,y=2,z=1
答案:
A
分值:
2
难度:
1
知识点:
评析:
28、用逻辑表达式表示“大于10而小于20的数”,正确的是()。
A.10B.x>10||x<20
C.x>10&x<20
D.!
(x<=10||x>=20)
答案:
D
分值:
2
难度:
1
知识点:
评析:
29、设inta=10,b=11,c=12;表达式(a+b)A.2
B.0
C.-2
D.1
答案:
B
分值:
2
难度:
1
知识点:
评析:
30、整型变量i定义后赋初值inti=2.8*6的结果是()。
A.12
B.16
C.17
D.18
答案:
B
分值:
2
难度:
1
知识点:
评析:
31、在C语言中合法的字符型常量是()。
A.'\t'
B."A"
C.65
D.a
答案:
A
分值:
2
难度:
1
知识点:
评析:
32、C++语言程序的基本单位是()。
A.程序行
B.语句
C.函数
D.字符
答案:
B
33、下列C++运算符中,优先级最高的是()。
A.+(双目)
B.*(单目)
C.<=
D.*=
答案:
B
分值:
2
难度:
1
知识点:
评析:
34、在32位计算机中,一个int型数据所占用的内存长度为多少字节()。
A.2
B.4
C.6
D.8
答案:
B
分值:
2
难度:
1
知识点:
评析:
35.若变量a是int型,并执行了语句:
a=’A’+1.6;,则正确的叙述是()。
A.a的值为字符C
B.a的值为浮点型
C.不允许字符型和浮点型数据相加
D.a的值为字符‘A’的ASCII值加1
答案:
D
分值:
2
难度:
1
知识点:
评析:
36、下列十六进制整型常量的写法中,正确的是()。
A.0xaf
B.2f0x
C.021b
D.0xAE
答案:
D
分值:
2
难度:
1
知识点:
评析:
37、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要改进是()
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
答案:
D
分值:
2
难度:
1
知识点:
评析:
38、下列符号属于c++语言用户标识符的是()。
A.DO
B.if
C.void
D.switch
答案:
A
分值:
2
难度:
1
知识点:
评析:
39、任意一个类,析构函数的个数最多是()。
A.不限个数
B.1
C.2
D.3
答案:
B
分值:
2
难度:
1
知识点:
评析:
40、()函数是Windows应用程序开始执行时的入口点。
A.WinMain()
B.Win()
C.Main()
D.Windows()
答案:
A
分值:
2
难度:
1
知识点:
评析:
41、下列数据中不合法的c++实数是()。
A.3e-5
B..6
C.5.
D.6
答案:
D
分值:
2
难度:
1
知识点:
评析:
42、下列数据中合法的c++字符常量是()。
A.’as’
B.”a”
C.’123’
D.’\\’
答案:
D
分值:
2
难度:
1
知识点:
评析:
43、表达式33/5的结果为()。
A.6
B.6.6
C.7
D.以上都不对
答案:
A
分值:
2
难度:
1
知识点:
评析:
44、下列符号属于C++语言用户标识符的是()。
A.void
B.template
C.IF
D.switch
答案:
C
分值:
2
难度:
1
知识点:
评析:
45、以下所列的C++语言常量中,错误的是()。
A.0xFF
B.1.2e0.5
C.2L
D.'\721'
答案:
B
分值:
2
难度:
1
知识点:
评析:
46、若x=4,则x*=x+2的值为()。
A.36
B.24
C.18
D.20
答案:
B
分值:
2
难度:
1
知识点:
评析:
47、以下运算符中,运算对象必须是整型的是()。
A./
B.%=
C.!
=
D.〈=
答案:
B
分值:
2
难度:
1
知识点:
评析:
48、能将数学表达式a<=c<=b表示为正确的c++表达式的是()。
A.a<=c<=b
B.c<=a&&c>=b
C.c>=a&&c<=b
D.c>=a||c<=b
答案:
C
分值:
2
难度:
1
知识点:
评析:
49、以下选项中,与k=n++完全等价的表达式是()。
A.k=n,n=n+1
B.n=n+1,k=n
C.k=++n
D.k+=n+1
答案:
A
分值:
2
难度:
1
知识点:
评析:
【程序阅读】
1、定义如下变量和数组:
inti;intx[3][3]={1,2,3,4,5,6,7,8,9};
则语句for(i=0;i<3;i++)cout<答案:
258
分值:
4
难度:
1
知识点:
评析:
2、以下程序的输出结果是______。
#include
usingnamespacestd;
intmain()
{
inta=7,b=4,c=6,d;
cout<<(d=a>b?
(a>c?
a:
c):
(b));
}
答案:
7
分值:
4
难度:
1
知识点:
评析:
【程序改错题】选做
【编程题】选做
【章节】第2章基本控制结构程序设计
【知识点】
1、算法的相关概念
2、C++语句及应用
3、C++程序的阅读与设计、调试
【单选题】
1、结构化程序设计所规定的三种基本控制结构是()。
A.顺序结构、选择结构、循环结构
B.输入、输出、处理
C.for、while、switch
D.主程序、子程序、函数
答案:
A
分值:
2
难度:
1
知识点:
评析:
2、当执行以下程序段时,循环体将执行().
intmain()
{
inty=1;
do{y--;}while(--y);
}
A.一次
B.两次
C.无限次
D.系统将提示有语法错误
答案:
C
分值:
2
难度:
1
知识点:
评析:
3. while(!
x)中的(!
x)与下面()条件等价.
A.x==1
B.x!
=1
C.x!
=0
D.x==0
答案:
D
4、下面程序的输出结果是()。
#include
usingnamespacestd;
intmain()
{
intx=4;
do{
cout<<(x-=3)<}while(--x);
}
A.1
B.1和-3
C.2和0
D.死循环
答案:
A
分值:
2
难度:
1
知识点:
评析:
5、下列语句段将输出字符’*’的个数为().
inti=100;
while
(1)
{
i--;
if(i==0)break;
cout<<‘*’;
}
A.98个
B.99个
C.100个
D.101个
答案:
B
分值:
2
难度:
1
知识点:
评析:
6、t为int类型,进入循环while(t=1){...}之前,t的值为0。
则以下叙述中,正确的是()。
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式不合法
D.以上说法都不对
答案:
B
分值:
2
难度:
1
知识点:
评析:
7、为了避免在嵌套的条件语句if...else中产生歧义,C++规定的if...else语句的匹配原则是()。
A.else子句与所排位置相同的if配对
B.else子句与其之前最近的if配对
C.else子句与其之后最近的if配对
D.else子句与同一行上的if配对
答案:
B
分值:
2
难度:
1
知识点:
评析:
8、x=0;for(i=0;i<99;i++)if(i)x++;执行完程序段后,x的值是().
A.0
B.30
C.98
D.90
答案:
C
分值:
2
难度:
1
知识点:
评析:
9、下列程序的输出结果是()。
#include
usingnamespacestd;
voidmain()
{intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
case1:
a++;
case2:
a++;b++;
}
cout<<“a=”<}
A.a=2b=1
B.a=1b=1
C.a=1b=0
D.a=2b=2
答案:
A
分值:
2
难度:
1
知识点:
评析:
10、下列给字符数组进行初始化的语句中,()是正确的。
A.chars1[]="abcd";
B.chars2[3]="xyz";
C.chars3[][]={'a','x','y'};
D.chars4[2][3]={"xyz","mnp"};
答案:
A
分值:
2
难度:
1
知识点:
评析:
11、下列程序段中循环体执行的次数为()。
intk=10;while(k==1)k=k-1;
A.循环体语句一次都不执行
B.循环体语句执行无数次
C.循环体语句执行一次
D.循环体语句执行9次
答案:
A
分值:
2
难度:
1
知识点:
评析:
12、执行以下程序段后,变量i的值为()。
inti=2;
switch(i)
{case1:
i+=10;
case2:
i+=10;
case3:
i++;break;
default:
i++;break;}
A.24
B.14
C.12
D.13
答案:
D
分值:
2
难度:
1
知识点:
评析:
13、C++语言中规定,if语句的嵌套结构中,else总是与()配对。
A.与最近的if配套
B.与第一个if配套
C.与缩进位置相同的if配套
D.与最近的且尚未配对的if配套
答案:
D
分值:
2
难度:
1
知识点:
评析:
【程序阅读题】
1、写出以下程序的输出结果
#include
usingnamespacestd;
intmain()
{
inta=7,b=4,c=6,d;
cout<<(d=a>b?
(a>c?
a:
c):
(b));
}
答案:
7
分值:
4
难度:
1
知识点:
评析:
2、写出以下程序的输出结果
#include
usingnamespacestd;
intmain()
{
inta=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case0:
case3:
a+=2;
case1:
case2:
a+=3;
default:
a+=5;
}
}
cout<return0;
}
答案:
31
分值:
4
难度:
2
知识点:
评析:
【编程题】选做
1、打印出所有的水仙花数。
(所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身)
答案:
pa201.c
#include
usingnamespacestd;
voidmain()
{intn,a,b,c;
for(n=100;n<1000;n++)
{a=n%10;
b=n/10%10;
c=n/100;
if(a*a*a+b*b*b+c*c*c==n)
cout<}
}
结果:
结果文件名。
可选,程序输入结果文件。
没有输出文件则为【src】另起一行屏幕显示结果。
素材:
分值:
10
难度:
知识点:
评析:
2、输入100到200之间的所有素数。
(所谓素数是指除了1和它本身外,不能被其他数所整除的数)
答案:
pa202.c
#include
usingnamespacestd;
voidmain()
{intm;
for(m=100;m<=200;m++)
if(prime(m))
cout<}
intprime(intm)
{inti,k=1;
if(m<=1)k=0;
for(i=2;iif(m%i==0)k=0;
returnk;
}
结果。
素材:
分值:
10
难度:
知识点:
评析:
3、打印如下图形:
*
***
*****
*******
答案:
pa203.c
#include
usingnamespacestd;
intmain(){
inti,j;
for(i=1;i<=4;i++)
{for(j=1;j<=4-i;j++)
cout<<’’;
for(j=1,j<=2*i-1;j++)
cout<<’*’;
cout<return0;}
结果。
素材:
分值:
10
难度:
知识点:
评析:
【章节】第3章函数