c++程序设计测试(带答案)及习题(40页).doc
《c++程序设计测试(带答案)及习题(40页).doc》由会员分享,可在线阅读,更多相关《c++程序设计测试(带答案)及习题(40页).doc(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-c+程序设计测试(带答案)及习题-第 40 页1.一个最简单的C+程序,可以只有一个( )。 (C)(a) 库函数 (b) 自定义函数 (c) main函数 (d) 空函数2.用C+语言编制的源程序要变为目标程序必须要经过( )。 (D)(a) 解释 (b) 汇编 (c) 编辑 (d) 编译3. C+程序中的简单语句必须以( )结束。 (B)(a) 冒号 (b) 分号 (c) 空格 (d) 花括号4.有说明 int a=0; double x=5.16; 以下语句中,( )属于编译错误。 (C)(a) x=a/x; (b) x=x/a; (c) a=a%x; (d) x=x*a;5. 执行C
2、+程序时出现的“溢出”错误属于( )错误。 (D)(a) 编译 (b) 连接 (c) 运行 (d) 逻辑6.下列选项中,全部都是C+关键字的选项为( )。 (C) (a) while IF Static (b) break char go(c) sizeof case extern (d) switch float integer7. 按C+标识符的语法规定,合法的标识符是( )。 (A)(a) _abc (b) new (c) (d) “age“8下列选项中,( )不能作为C+的分隔符。 (A)(a) 标识符 (b) ; (c) : (d) +9下列正确的八进制整型常量表示是( )。 (B)
3、(a) 0a0 (b) 015 (c) 080 (d) 0x1010下列错误的十六进制整型常量表示是( )。 (C)(a) 0x11 (b) 0xaf (c) 0xg (d) 0x1f11 在下列选项中,全部都合法的浮点型数据的选项为( )。 (B)(a) -1e3.5 15. 2e-4 (b) 12.34 -1e+5 0.1E-12(c) 0.2e-2 -12345. e-5 (d) 5.0e(1+4) 0.1 8e+212下列正确的字符常量为( )。 (D)(a) “a” (b) name (c) a (d) 10113下列选项中,( )不能交换变量a和b的值。 (D)(a) t=b; b
4、=a; a=t; (b) a=a+b; b=a-b; a=ab;(c) t=a; a=b; b=t; (d) a=b; b=a; 14关于下列语句叙述错误的是( )。 (A)int i=10, *p=&i;(a) p的值为10 (b) p指向整型变量i(c) *p表示变量i的值 (d) p的值是变量i的地址15有以下变量声明,下面不正确的赋值语句是( )。 (B)int a=5, b=10, c; int *p1 = &a, *p2 = &b; (a) *p2 = b ; (b) p1 = a ;(c) p2 = p1 ; (d) c = *p1 *( *p2 ) ;16有以下变量声明,下面正
5、确的语句是( )。 (B) int a=10, b; int &pa=a, &pb=b; (a) &pb = a; (b) pb = pa; (c) pb = &pa; (d) *pb = *pa;17执行下面语句序列后,a和b的值分别为( )。 (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和518. 在下列运算符中,( )优先级最高。 (D)(a) = (b) *= (c) + (d) *19.在下列运算符中,( )优先级
6、最低。 (D)(a) ! (b) & (c) != (d) ? :20设 int i=1, j=2; 则表达式 i+j 的值为( )。 (C)(a) 1 (b) 2 (c) 3 (d) 421设 int i=1, j=2; 则表达式 +i+j 的值为( )。 (D)(a) 1 (b) 2 (c) 3 (d) 422在下列表达式选项中,( )是正确。 (C)(a) +(a+) (b) a+b (c) a+b (d) a+b23已知 int i=0, j=1, k=2; 则逻辑表达式 +i|-j&+k 的值为( )。 (B)(a) 0 (b) 1 (c) 2 (d) 324. 执行下列语句后,x的
7、值是( ) (D)。int x, y ;x = y = 1; + x | + y ;(a) 不确定 (b) 0 (c) 1 (d) 225. 执行下列语句后,y的值是( )。 (C)int x, y ;x = y = 1; + x | + y ;(a) 不确定 (b) 0 (c) 1 (d) 226.设X为整型变量,不能正确表达数学关系 1X5 的C+逻辑表达式是( )。 (A)(a) 1 X 5 (b) X=2|X=3|X=4(c) 1X&X5 (d) !(X=5)27. 已知 int x=5; 执行下列语句后,x的值为( )。 (C)x += x -= x * x; (a) 25 (b)
8、40 (c) 40 (d) 2028. 设 int a=1, b=2, c=3, d=4; 则以下条件表达式的值为( )。 (A)a b ? a : c d ? c : d(a) 1 (b) 2 (c) 3 (d) 429. 以下逗号表达式的值为( )。 (D)( x = 4 * 5, x * 5 ), x + 25 (a) 25 (b) 20 (c) 100 (d) 451.1 把下列数学表达式写成c+算术表达式1. 2. xxx(ax+b)+c+d+e3. ln(1+|10) 4.5. cot 6. lg(a2+ab+b2) 1.2 用关系表达式或逻辑表达式表示下列条件 1. i 被j整除
9、 2. n是小于正整数k的偶数 3. 1x10 4. x,y其中有一个小于z5. y 100,10,并且 y 10,1006. 坐标点(x, y)落在以(10, 20)为圆心,以35为半径的圆内 7. 三条边a,b和c构成三角形 8. 年份Year能被4整除,但不能被100整除或者能被400整除1.3 阅读下列程序,写出执行结果1.#include void main() int a = 1, b = 2, x, y; cout a+b endl; cout a % b b;? y = x- & b; cout x endl; cout y endl;2#include void main()
10、 int x,y,z,f; x = y = z = 1; f = -x | y- & z+; cout x = x endl; cout y = y endl; cout z = z endl; cout f = f endl;3#include #include void main() int a=123; int &ra=a; int *pa=&a; coutsetw(5)decasetw(5)octrasetw(5)hex*paendl;1.4 思考题 1什么叫数据类型?数据的类型定义有什么作用? 2数据对象在C+中有什么不同的访问方式?请编写一个程序验证之。 3普通数据类型变量和指针类
11、型变量的定义、存储、使用方式上有何区别?请编写一个程序验证之。 4什么叫数据对象的引用?对象的引用和对象的指针有什么区别?请用一个验证程序说明之。 5为了约束只能对数据对象的值做读操作,C+采用什么方式?请做出简要归纳。 6什么叫表达式?表达式值的类型由什么因素决定?使用不同运算符连接以下3个变量,请写出5个以上获得值等于1的表达式。 int a=1, b=2; double x=0.5;1.5 编程题 1.输入一个三位整数,将它反向输出。2.输入平面上某点横坐标x和纵坐标y,若该点在由图1表示的方块区域内,则输出1;否则,输出0。 图1 正方形3.输入三个整数,求出其中最小数(要求使用条件表
12、达式)。1.6 操作题建立简单控制台程序。使用VC6开发环境来调试以下源程序。 #include #include void main() double a, b, c, s, area; cout a b c; / 输入三角形的三条边 s = ( a + b + c ) / 2.0; area = sqrt( s * ( s-a ) * ( s-b ) * ( s-c ) ); / 求三角形的面积 cout area = area = 0 ) if( x != 0 ) if( x = 0 ) y = 0 ; if( x 0 ) y = 1 ; else y = -1; else y = 0
13、(c) if( x = 0 ) (d) y = -1 ; if( x 0 ) y = -1 ; if( x = 0 ) else y = 0 ; if( x 0 ) y = -1 ; else y = 1 ; else y = 1 ;3假设i=2,执行下列语句后i的值为( )。 (B)switch( i ) case 1 : i + ;case 2 : i - ;case 3 : + i ; break ;case 4 : - i ;default : i + ; (a) 1 (b) 2 (c) 3 (d) 44已知int i=0,x=0; 下面while语句执行时循环次数为( )。 (D)
14、while( !x & i 3 ) x + ; i + ; (a) 4 (b) 3 (c) 2 (d) 15已知int i=3;下面do_while 语句执行时循环次数为( )。 (B) do i-; coutiendl;while( i!= 1 ); (a) 1 (b) 2 (c) 3 (d) 无限6下面for语句执行时循环次数为( )。 (B) for ( int i=0,j=5;i=j; ) cout i j endl; i+; j-; (a) 0 (b) 5 (c) 10 (d) 无限7以下死循环的程序段是( )。 (B) (a) for( int x = 0 ; x = 0 ) ;
15、(c) int a = 5 ; while( a ) a - ; ; (d) int i = 3 ; for( ; i ; i - ) ;思考题1. C+中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。2. 什么叫循环控制?归纳比较C+中各种循环控制语句的语法、循环条件和循环结束条件的表示形式。3. 根据一个实际问题,用不同的循环语句编程,分析其优缺点。4. 用if语句和goto语句组织循环,改写2.3第3小题编写的程序。分析在什么情况下可以适当使用goto语句。2.1 阅读下列程序,写出执行结果1. #include void main() i
16、nt a,b,c,d,x; a = c = 0; b = 1; d = 20; if( a ) d = d-10; else if( !b ) if( !c ) x = 15; else x = 25; cout d endl;2.#include void main() int a = 0, b = 1; switch( a ) case 0: switch( b ) case 0 : cout a= a b= b endl; break; case 1 : cout a= a b= b endl; break; case 1: a+; b+; cout a= a b= b endl;3.
17、#include void main() int i = 1; while( i=10 ) if( +i % 3 != 1 ) continue; else cout i endl;4. #include void main() int i = 0 , j = 5; do i+; j-; if ( i3 ) break; while ( j0 ); cout i= i t j= j endl;5.#include void main() int i,j; for( i=1, j=5; ij; i+ ) j-; cout i t j endl;6. #include void main() in
18、t i, s = 0; for( i=0; i5; i+ ) switch( i ) case 0: s += i; break; case 1: s += i; break; case 2: s += i; break; default: s += 2; cout s= s endl;7. #include void main() int i, j, x = 0; for( i=0; i=3; i+ ) x+; for( j=0; j=3; j+ ) if( j % 2 ) continue; x+; x+; cout x= x endl;2.2 思考题1. C+中有什么形式的选择控制语句?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 程序设计 测试 答案 习题 40
限制150内