《高级语言程序设计(C++)》练习题 下载本文

内容发布更新时间 : 2024/6/1 18:39:47星期一 下面是文章的全部内容请认真阅读。

《高级语言程序设计(C++)》练习题

2015.4

一.单项选择题

1.用C++语言编制的源程序要变为目标程序必须要经过( )。

(a) 解释 (b) 汇编 (c) 编辑 (d) 编译 2. 执行C++程序时出现的“溢出”错误属于( )错误。

(a) 编译 (b) 连接 (c) 运行 (d) 逻辑 3. 按C++标识符的语法规定,合法的标识符是( )。

(a) abc (b) new (c) π (d) \ 4.计算表达式x=a=4,b=x++ 后,变量x,a,b的值分别是:( )

(a) 4,4,4 (b) 4,4,5 (c) 4,5,5 (d) 5,4,4 5.表达式1/2*2.0的值是:( )

(a) 2 (b) 1 (c) 0.5 (d) 0

6.下列选项中,( )不能交换变量a和b的值。

(a) t=b; b=a; a=t; (b) a=a+b; b=a-b; a=a–b; (c) t=a; a=b; b=t; (d) a=b; b=a; 7.有以下变量说明,下面正确的语句是( )。

int a=10, b; int &pa=a, &pb=b;

(a) &pb = a; (b) pb = pa; (c) pb = &pa; (d) *pb = *pa; 8.执行下面语句序列后,a和b的值分别为( )。

int a = 5 , b = 3 , t ; int &ra = a ; int &rb = b ;

t = ra ; ra = rb ; rb = t ;

(a) 3和3 (b) 3和5 (c) 5和3 (d) 5和5

9.设X为整型变量,不能正确表达数学关系 1<X<5 的C++逻辑表达式是( )。 (a) 1< X <5 (b) X==2||X==3||X==4 (c) 1=5)

10. 设 int a=1, b=2, c=3, d=4; 则以下条件表达式的值为( )。

a

(a) 1 (b) 2 (c) 3 (d) 4 11. 以下逗号表达式的值为( )。

( a = 5/2, a*5 ), a*5

(a) 2 (b) 10 (c) 15 (d) 50

12. 设 int x=1, y=3 , 能正确表示代数式3x|x-y|的C++表达式是( )。 (a)abs(x-y)*3*x (b)3x(abs(x-y))

(c) 3x||(x-y) (d)3*x*(x-y)|| 3*x*(y-x)

13.已知 int i=0, x=1, y=0 ; 在下列选项使i的值变成1的语句是( )。 (a) if( x && y ) i++ ; (b) if( x = y ) i++ ; (c) if( x || y ) i++ ; (d) if( !x ) i++ ;

14.已知int i=0,x=0; 下面while语句执行时循环次数为( )。

while( !x && i < 3 ) { x++ ; i++ ; }

(a) 4 (b) 3 (c) 2 (d) 1 15.已知int i=3;下面do_while 语句执行时循环次数为( )。

do{ i--; cout<

(a) 1 (b) 2 (c) 3 (d) 无限 16.下面for语句执行时循环次数为( )。 for ( int i=0,j=5;i=j; ) { cout << i << j << endl;

i++; j--; }

(a) 0 (b) 5 (c) 10 (d) 无限 17.执行以下程序段后,屏幕的显示结果是( )。

i=10; s=0; do{ s=s+i; i++;} while(i<=10); cout<

(a)10 (b)11 (c)12 (d)21

18. 已知 int x=1, y=0, w ; 执行下面程序段后,w的值为( )。 if(x) if(y) w=x&&y; else w=y;

(a)0 (b)-1 (c)1 (d)不确定

19.执行语句 x=1; while( ++x<7 )cout<<’*’; 后输出结果是:( ) (a) ***** (b) ****** (c) ******* (d) ******** 20.执行以下程序段后,屏幕的显示结果是( )。 int i=0; do { i++;} while(i<=0); cout<

(a) 0 (b) 1 (c) 2 (d) 3 21.以下正确的函数原型为( )。

(a) f1( int x; int y ); (b) void f1( x, y ); (c) void f1( int x, y ); (d) void f1( int, int );

22.有函数原型 void fun2( int ); 下面选项中,不正确的调用是( )。 (a) int x = 21; fun2( x ); (b) int a = 15; fun2( a*3 ); (c) int b = 100; fun2( &b ); (d) fun2( 256 );

23.有函数原型 void fun3( int * ); 下面选项中,正确的调用是( )。 (a) double x = 2.17; fun3( &x ); (b) int a = 15 ; fun3( a*3.14 ); (c) int b = 100; fun3( &b ); (d) fun3( 256 );

24.有函数原型 void fun4( int & ); 下面选项中,正确的调用是( )。 (a) int x = 2.17; fun4( &x ); (b) int a = 15; fun4( a*3.14 ); (c) int b = 100; fun4( b ); (d) fun4( 256 ) ; 25.有声明 int fun5( int ); int (*pf)(int) = fun5; 下面选项中,正确的调用是( )。

(a) int a=15; int n=fun5(&a); (b) int a = 15; cout<<(&pf)(a); (c) cout<<(*pf)( 256 ); (d) cout << *pf( 256 ); 26.以下对一维数组 a 的正确定义是( )。

(a) int n = 5, a[n]; (b) int a(5);

(c) const int n = 5; int a[n]; (d) int n; cin>>n; int a[n]; 27.下列数组定义语句中,不合法的是( )。

(a) int a[3] = { 0, 1, 2, 3 }; (b) int a[] = { 0, 1, 2 };

(c) int a[3] = { 0, 1, 2 }; (d) int a[3] = { 0 };

28.已知 int a[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, *p = a ;则不能表示数组 a 中元素的式子是( )。

(a) *a (b) *p (c) a (d) a[ p-a ] 29.以下不能对二维数组a进行正确初始化的语句是( )。 (a) int a[2][3] = { 0 };

(b) int a[][3] = { { 0,1 }, { 0 } };

(c) int a[2][3] = { { 0, 1 }, { 2, 3 }, { 4, 5 } }; (d) int a[][3] = { 0, 1, 2, 3, 4, 5 };

30.已知int a[][3] = { { 0, 1 }, { 2, 3, 4 }, { 5, 6 }, { 7 } }; 则 a[2][1]的值是( )。

(a) 0 (b) 2 (c) 6 (d) 7

31.已知int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ; 则不能表示数组元素a[2][1]的地址是( )。

(a) &a[2][1] (b) *(a[2]+1) (c) a[2]+1 (d) *(a+2)+1 32.已知char *a[]={ \\basic\\\\; 则 cout<

(a) t (b) 一个地址值 (c) java (d) javac++ 33.若用数组名作为调用函数的实参,则传递给形参的是( )。 (a) 数组存贮首地址 (b) 数组的第一个元素值 (c) 数组中全部元素的值 (d) 数组元素的个数

34.设有变量定义 int a[]={3,5,7,9,11}, *p=a+2, y ; 执行语句 y=*p ; 后,变量y的值是:( )

(a) 6 (b) 7 (c) 8 (d) 9

35.设有变量定义 int a[3][4]; 能够表示元素a[2][1]的值有:( ) (a) *a[2]+1 (b) &a[2][1] (c) *a[2][1] (d) *(a[2]+1)

36.设有说明语句char *s=”ABCD”; 下列选项中,输出字符 ”CD” 的代码是:( )

(a) cout<<*s+2; (b) cout<

(c) cout<

37.一个5个元素的一维数组,其元素类型是整型指针。正确定义是:( ) (a) int p * [5] (b) * int p[5] (c) * p int[5] (d) int * p[5] 38.有变量说明

struct ptype{int x; int y; }; ptype point, *p = &point;

以下正确的引用是:( )

(a) *p.y (b) p->x (c) point->x (d) (*point).y

39.已知int a[][3]={{0,1},{2,3, 4 },{ 5, 6 },{ 7 } }; 则 a[2][2]的值是( )。 (a) 1 (b) 3 (c) 6 (d) 0 40.有int ary[5]={1,2,3,4,5}; 以下表达式值等于3的是( )。 (a)ary[ary[1]] (b)ary[3] (c)*(ary+3) (d) *ary+3 41.有关类和对象的说法不正确的是( )

(a) 对象是类的一个实例