资源描述
【单选题】
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、如果有整型量 int x = 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 < b)
C. !((a > 10) || (a < 0))和(a <= 10) && (a >= 0)
D. !(a > b) 和a < b
答案:C
16、定义如下变量:int i=2; int j=3;则i/j的结果为( ) 。
A. 0.66667
B. 0
C. 0.7
D. 0.6666666666…
答案: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、设int a=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. 10< x < 20
B. x > 10 || x < 20
C. x >10 & x < 20
D. !(x <= 10 || x >= 20)
答案:D
分值:2
难度:1
知识点:
评析:
29、设int a = 10, b = 11, c = 12;表达式( a + b ) < c && b = = c的值是( ) 。
A. 2
B. 0
C. -2
D. 1
答案:B
分值:2
难度:1
知识点:
评析:
30、整型变量i 定义后赋初值int i = 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、定义如下变量和数组:int i;int x[3][3] = {1,2,3,4,5,6,7,8,9};
则语句for(i = 0; i < 3; i ++) cout << x[i][1]; 的执行结果是 ______ 。
答案:258
分值:4
难度:1
知识点:
评析:
2、以下程序的输出结果是______ 。
#include<iostream>
using namespace std;
int main()
{
int a = 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、当执行以下程序段时,循环体将执行( ).
int main( )
{
int y = 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<iostream >
using namespace std;
int main()
{
int x = 4;
do{
cout << (x -= 3) << endl;
}while(--x);
}
A. 1
B. 1和-3
C. 2和0
D. 死循环
答案:A
分值:2
难度:1
知识点:
评析:
5、下列语句段将输出字符’*’的个数为( ).
int i = 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 <iostream>
using namespace std;
void main( )
{ int x = 1, a = 0, b = 0;
switch(x)
{
case 0 : b++;
case 1 : a++;
case 2 : a++; b++;
}
cout << “a= ” << a << “b=” << b ;
}
A. a=2 b=1
B. a=1 b=1
C. a=1 b=0
D. a=2 b=2
答案:A
分值:2
难度:1
知识点:
评析:
10、下列给字符数组进行初始化的语句中,( ) 是正确的。
A. char s1[]="abcd";
B.char s2[3]="xyz";
C.char s3[][]={'a','x','y'};
D.char s4[2][3]={"xyz","mnp"};
答案:A
分值:2
难度:1
知识点:
评析:
11、下列程序段中循环体执行的次数为( )。
int k=10; while (k==1)k=k-1;
A. 循环体语句一次都不执行
B. 循环体语句执行无数次
C. 循环体语句执行一次
D. 循环体语句执行9次
答案:A
分值:2
难度:1
知识点:
评析:
12、执行以下程序段后,变量i 的值为( )。
int i=2;
switch (i)
{ case 1: i+=10;
case 2:i+=10;
case 3: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<iostream>
using namespace std;
int main()
{
int a = 7, b = 4, c = 6, d;
cout << (d = a > b ? (a > c? a : c):(b));
}
答案:7
分值:4
难度:1
知识点:
评析:
2、写出以下程序的输出结果
#include <iostream>
using namespace std;
int main()
{
int a = 0,i;
for(i = 1; i < 5; i++)
{
switch(i)
{
case 0:
case 3: a += 2;
case 1:
case 2: a += 3;
default: a += 5;
}
}
cout << a << endl;
return 0;
}
答案:31
分值:4
难度:2
知识点:
评析:
【编程题】 选做
1、打印出所有的水仙花数。(所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身)
答案:pa201.c
#include<iostream>
using namespace std;
void main( )
{int n,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<<n<<’\t’;
}
}
结果:结果文件名。可选,程序输入结果文件。没有输出文件则为【src】另起一行屏幕显示结果。
素材:
分值:10
难度:
知识点:
评析:
2、输入100到200之间的所有素数。(所谓素数是指除了1和它本身外,不能被其他数所整除的数)
答案:pa202.c
#include<iostream>
using namespace std;
void main()
{int m;
for(m=100;m<=200;m++)
if(prime(m))
cout<<m<<’\t’;
}
int prime(int m)
{int i,k=1;
if(m<=1) k=0;
for(i=2;i<m;i++)
if(m%i==0) k=0;
return k;
}
结果。
素材:
分值:10
难度:
知识点:
评析:
3、打印如下图形:
*
***
*****
*******
答案:pa203.c
#include<iostream>
using namespace std;
int main(){
int i,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<<endl;}
return 0;}
结果。
素材:
分值:10
难度:
知识点:
评析:
【章节】 第3章 函数
【知识点】
1、C++函数的相关知识
2、函数定义与函数的调用
3、内联函数与函数重载
【单选题】
1、在Visual Bacic中,要使一个窗体不可见,但不从内存中释放,应使用的语句是( )。
A.Show
B.Hide
C.Load
D.Unload
答案:B
难度:1
分值:2
知识点:1
评析:
1、若有以下函数调用语句,在此函数调用语句中实参的个数是( ) 。
fun(a+b,(y=10,y),fun(n,k,d));
A. 3
B. 4
C. 5
D. 6
答案:A
分值:2
难度:1
知识点:
评析:
2、以下程序的运行结果是( ) 。
int main()
{ int k=4,m=1,p;
p=func(k,m);
cout<<p<<endl;
p=func(k,m);
cout<<p<<endl;
}
func(int a,int b)
{ static int m,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
A. 8,17
B. 8,16
C. 8,20
D. 8,8
答案:A
分值:2
难度:1
知识点:
评析:
3.以下函数调用语句中,含有的实参个数是( ).
func(rec1,rec2 +1,(rec3,rec4));
A. 3
B. 4
C. 5
D. 有语法错误
[答案] A
4.分析如下程序:
#include <iostream>
int f(int b[],int n)
{int i,r=1;
for(i=0;i<=n;i++)
r=r*b[i];
return r;
}
void main(){
int x,a[]={2,3,4,5,6,7,8,9};
x=f(a,3);
cout<<x<<endl;
}
上面程序的输出结果是( ) 。
A. 720
B. 120
C. 24
D. 6
答案:B
分值:2
难度:1
知识点:
评析:
5、下列函数参数默认值定义错误的是( ) 。
A. Fun(int x, int y=0)
B. Fun(int x = 100)
C. Fun(int x = 0, int y)
D. Fun(int x = f( )) (假定函数f()已经定义)
答案:C
分值:2
难度:1
知识点:
评析:
6、在函数定义前加上关键字“inline”表示该函数被定义为( ) 。
A. 重载函数
B. 内联函数
C. 成员函数
D. 普通函数
答案:B
分值:2
难度:1
知识点:
评析:
7、一个函数功能不太复杂,但要求被频繁调用,选用( ) 。
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
答案:A
分值:2
难度:1
知识点:
评析:
8、下面有关重载函数的说法中正确的是( ) 。
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
答案:C
分值:2
难度:1
知识点:
评析:
9、在C++语言中,对函数参数默认值描述正确的是( ) 。
A. 函数参数的默认值只能设定一个
B. 一个函数的参数若有多个,则参数默认值的设定可以不连续
C. 函数必须设定默认值
D. 在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值
答案:D
分值:2
难度:1
知识点:
评析:
10、考虑函数原型 void test(int a,int b=7,char z='*'),下面的函数调用中,属于不合法调用的是
A. test(5);
B. test(5,8);
C. test(6,'#');
D. test(0,0,'*');
答案:C
分值:2
难度:1
知识点:
评析:
11、以下对C++ 函数的有关描述中,正确的是( ) 。
A. C 调用函数时,只能把实参的值传给形参,形参的值不能传递给实参
B. C++函数既可以嵌套定义又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C++程序中有调用关系的所有函数必须放在同一源程序文件中
答案:A
分值:2
难度:1
知识点:
评析:
12、在C++语言中函数返回值的类型是由( )决定的。
A. 调用该函数时系统临时
B. return语句中的表达式类型
C. 定义该函数时所指定的函数类型
D. 调用该函数时的主调函数类型
答案:C
分值:2
难度:1
知识点:
评析:
13、以下程序的输出结果是( ) 。
int func(int a,int b)
{ return a+b;}
int main()
{ int x=6,y=7,z=8,r;
r=func(func(x,y),z--);
cout<<r<<endl;
}
A. 15
B. 20
C. 21
D. 31
答案:C
分值:2
难度:1
知识点:
评析:
14、以下程序的输出结果是( ) 。
void fun(int a,int b,int c)
{ a=456;b=567;c=678;}
int main( )
{ int x=10,y=20,z=30;
fun(x,y,z);
cout<<z<<”,”<<y<<”,”<<x<<endl;
}
A. 30,20,10
B. 10,20,30
C. 456,567,678
D. 678,567,456
答案:A
分值:2
难度:1
知识点:
评析:
15、C++语言中,形参与实参之间的数据传递方式是( ) 。
A. 只能按值传递
B. 只能按地址传递
C. 既可以按值传递也可以按地址传递
D. 以上说法都不对
答案:C
分值:2
难度:1
知识点:
评析:
16、分析以下程序:
#include <iostream>
void fun(int num){cout<<num<<endl;}
void fun(char ch){cout<<(ch+1)<<endl;}
int main(){
fun('A');
return 0;
}
以上程序的输出结果是( ) 。
A. 65
B. 66
C. A
D. B
答案:B
分值:2
难度:1
知识点:
评析:
17、一个函数为void f(int x, char y = ‘a’),另一个函数为void f(int),则它们( ) 。
A. 不能在同一程序块中定义
B. 可以在同一个程序块中定义并可重载
C. 可以在同一个程序块中定义,但不可以重载
D. 以上说法均不正确
答案:A
分值:2
难度:1
知识点:
评析:
18、函数定义为Fun(int &i),变量定义n = 100,则下面调用正确的是( ) 。
A. Fun(20)
B. Fun(20 + n)
C. Fun(n)
D. Fun(&n)
答案:C
分值:2
难度:1
知识点:
评析:
19、当一个函数无返回值时,函数的类型应为( ) 。
A. 任意
B. void
C. int
D. char
答案:B
分值:2
难度:1
知识点:
评析:
20、下列带缺省值参数的函数说明中,正确的说明是( ) 。
A. int Fun(int x,int y=2,int z=3);
B. int Fun(int x=1,int y,int z=3);
C. int Fun(int x,int y=2,int z);
D. int Fun(int x=1,int y,int z=3);
答案:A
分值:2
难度:1
知识点:
评析:
21、下列函数参数默认值定义错误的是( ) 。
A. Fun(int x, int y=0)
B. Fun(int x = 100)
C. Fun(int x = 0, int y)
D. Fun(int x = f( )) (假定函数f( )已经定义)
答案:C
分值:2
难度:1
知识点:
评析:
22、在函数定义前加上关键字“inline”表示该函数被定义为( ) 。
A. 重载函数
B. 内联函数
C. 成员函数
D. 普通函数
答案:B
分值:2
难度:1
知识点:
评析:
23、一个函数功能不太复杂,但要求被频繁调用,选用( ) 。
A. 内联函数
B. 重载函数
C. 递归函数
D. 嵌套函数
答案:A
分值:2
难度:1
知识点:
评析:
24、下面有关重载函数的说法中正确的是( ) 。
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同
答案:C
分值:2
难度:1
知识点:
评析:
25、在C++语言中,对函数参数默认值描述正确的是( ) 。
A. 函数参数的默认值只能设定一个
B. 一个
展开阅读全文