c程序设计语言习题与
答案
Company number:【0089WT-8898YT-W8CCB-BUUT-202108】
习题1及其解答
选择题
1.一个最简单的C++程序,可以只有一个( c )。 (a) 库函数 函数
2.用C++语言编制的源程序要变为目标程序必须要经过( d )。 (a) 解释 (d) 编译
3. C++程序中的简单语句必须以( b )结束。 (a) 冒号 (d)花括号
4.有说明 int a=0; double x=; 以下语句中,( c )属于编译错误。 (a) x=a/x;
(b) x=x/a;
(c) a=a%x;
(d) x=x*a;
5. 执行C++程序时出现的“溢出”错误属于( c )错误。
(a) 编译 (b) 连接 (c) 运行 (d) 逻辑 6.下列选项中,全部都是C++关键字的选项为( c )。 (a) while IF Static (c) sizeof case extern (a) _abc (a) 数字 (a) 0a0 (a) 0x11
(b) break char go
(d) switch float integer (c) π (c) :
(d) “age“ (d) +
(d) 0x10 (d) 0x1f
(b) 分号
(c) 空格
(b) 汇编
(c) 编辑
(b) 自定义函数
(c) main函数
(d) 空
7. 按C++标识符的语法规定,合法的标识符是( a )。
(b) new (b) ;
8.C++语句中,两个标识符之间( a )不能作为C++的分隔符。 ..9.下列正确的八进制整型常量表示是( b )。
(b) 015
(c) 080 (c) 0xg
10.下列错误的十六进制整型常量表示是( c )。
(b) 0xaf
11. 在下列选项中,全部都合法的浮点型数据的选项为( b )。 (a) 15. 2e-4
(b) -1e+5
(c) -12345. e-5 12.下列正确的字符常量为( d )。
(a) “a” (b) ‘name’ 13.下列选项中,( d )不能交换变量a和b的值。 ..(a) t=b; b=a; a=t; (c) t=a; a=b; b=t; int i=10, *p=&i; (a) p的值为10
(b) p指向整型变量i (d) p的值是变量i的地址
(c) *p表示变量i的值
(c) a
(d) ‘\\101’
(d) (1+4) 8e+2
(b) a=a+b; b=a-b; a=a–b; (d) a=b; b=a;
14.关于下列语句叙述错误的是( a )。
15.有以下变量说明,下面不正确的赋值语句是( b )。 ...
int a=5, b=10, c; int *p1 = &a, *p2 = &b; (a) *p2 = b ; (c) p2 = p1 ;
(b) p1 = a ;
(d) c = *p1 *( *p2 ) ;
16.有以下变量说明,下面正确的语句是( b )。
int a=10, b; int &pa=a, &pb=b; (a) &pb = a;
(b) pb = pa;
(c) 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
和5
18. 在下列运算符中,( d )优先级最高。 (a) <= (b) *= (c) + 19.在下列运算符中,( d )优先级最低。
(a) ! (b) && (c) != 20.设 int i=1, j=2; 则表达式 i+++j 的值为( c )。 (a) 1 (b) 2 (c) 3 21.设 int i=1, j=2; 则表达式 ++i+j 的值为( d )。 (a) 1
(b) 2 (c) 3
22.在下列表达式选项中,( c )是正确。 (a) ++(a++) (b) a++b
(c) a+++b
23.已知 int i=0, j=1, k=2; 则逻辑表达式 ++i||--j&&++k 的值为( b )。
(a) 0
(b) 1
(c) 2
24. 执行下列语句后,x的值是( d ),y的值是( c )。 int x, y ;
x = y = 1; ++ x || ++ y ; (a) 不确定 (b) 0 (c) 1
25.设x为整型变量,不.能.
正确表达数学关系 1<x<5 的C++逻辑表达式是( a )。(a) 1< x <5
(b) x==2||x==3||x==4 (c) 1 (d) !(x<=1)&&!(x>=5) 26. 已知 int x=5; 执行下列语句后,x的值为( c )。 x += x -= x * x; (a) 25 (b) 40 (c) –40 27. 设 int a=1, b=2, c=3, d=4; 则以下条件表达式的值为( a )。 a < b a : c < d c : d (a) 1 (b) 2 (c) 3 28. 以下逗号表达式的值为( d )。 ( x = 4 * 5, x * 5 ), x + 25 (d) *pb = *pa; (d) (d) * (d) : (d) 4 (d) 4 (d) a++++b (d) 3 (d) 2 (d) 20 (d) 4 5 (a) 25 (b) 20 (c) 100 (d) 45 把下列数学表达式写成c++算术表达式 1. 11?1?11x?y 2. x{x[x(ax+b)+c]+d}+e 3. ln(1+| a?b10 |) 4. a?b1??2cos48? 21?x5. cot( 6. lg(a2+ab+b2) 2)1?x【解答】 1. 1/(1 + 1/(1 + 1/(x + y))) 2. x * ( x * ( x * ( a * x + b ) + c ) + d ) + e 3. log( 1 + pow( fabs( ( a + b )/( a – b ) ),10) 4. sqrt( 1 + 2 * cos( 48 * 180 ) ) 5. 1/tan( ( 1 - x*x )/( 1 + x*x)) 或者 cos( ( 1 - x*x )/( 1 + x*x ) )/sin( ( 1 - x*x )/( 1 + x*x ) ) 6. log10( a * a + a * b + b * b ) 用逻辑表达式表示下列条件 1. i 被j整除 3. 1≤x<10 2. n是小于正整数k的偶数 4. x,y其中有一个小于z 5. y ?[–100,–10],并且 y? [10,100] 6. 坐标点(x, y)落在以(10, 20)为圆心,以35为半径的圆内 7. 三条边a,b和c构成三角形 8. 年份Year能被4整除,但不能被100整除或者能被400整除 【解答】 1. i%j == 0 2.(n 3. 1<=x && x<10 4. x 5. !( y>=-100 && y<=-10 ) && !( y>=10 && y<=100 ) 6. sqrt(pow((x-10),2) + pow((y-20),2))< 35 7. a+b>c && b+c>a && c+a>b 8. (year%4 == 0) && (year0!=0)||(year@0==0) 阅读下列程序,写出执行结果 1. #include { int a = 1, b = 2; bool x, y; cout << (a++)+(++b) << endl; cout << a % b << endl; x = !a>b; y = a-- && b; cout << x << endl; cout << y << endl; } 【解答】 4 2 0 1 2. #include f = --x || y-- && z++; cout << \ cout << \ cout << \ cout << \} 【解答】 x=0 y=0 z=2 f=1 3. #include cout< 123 173 7b