|
《程序设计基础(上)》19秋期末考核-0001
试卷总分:100 得分:70
一、单选题 (共 15 道试题,共 30 分)0 O( Z' k- X; N4 y& g* V0 w) x* f4 G
1.一个浮点法表示的数值由( )两部分组成。9 L$ C1 E z, C2 B
A.阶码和尾数
B.整数和小数- V$ S: s) T9 a. P, p. K, E7 r- |
C.指数和基数
D.尾数和小数
答案:A. K, Z3 i# n! r. D
2.已知“char s[]="南开大学";”,则数组s的长度为##。
A.9
B.8$ D3 U( H- L& t% b7 W$ K( d& w
C.54 S2 e& H" K7 M6 a( r7 K/ C
D.4
答案:A& q! M$ W3 U7 v: y3 Q! \
3 ^6 S4 C V0 ~) J, Q
3.计算机系统中采用补码运算的目的是( )。; v) y( h" M5 L5 ]( K
A.简化计算机的设计# B) ~2 x$ P- ^: `, K
B.提高运算的精度* {2 n' W. t0 L2 {
C.减少存储空间
D.与手工运算方式保持一致5 D( j2 c8 v: p/ c B& _/ L
答案:# ^# p" B3 k: h- U! T1 b
2 z5 a6 L4 J9 C; X, Y0 p* J. _
4.已知函数定义“void fun(int &a, int b) { b++; a++;}”,则执行“int x=2,y=3; fun(x,y);”后,变量x、y的值分别为##。6 B4 n- }- \1 H9 p- @% f
A.3,4: H' y' l$ L f) y! N, ^
B.3,3
C.2,4
D.2,3* F0 N/ a( ^1 j2 M5 A3 R8 z. T
答案:
0 ~: A. R: V* Q; {
5.默认形参值不可以是##。
A.静态全局变量# ], _0 C/ R1 Z% C
B.局部变量+ u( D% u, k4 W; q) |5 v
C.函数调用
D.全局变量
答案:B, X) m: u! U9 M9 C7 S
6.已知“int a[]={1,2,3,4,5},*p=a;”,则以下各选项中对数组元素访问错误的是##。
A.p[p-a]
B.*(p+2)
C.a[5]
D.a[3]3 g1 }4 u p+ ^9 M
答案:
7.已知字母“a”的ASCII码是97,则字母“f”的ASCII码是( )。
A.103! E: Q0 T$ I5 S) [6 M* i/ P
B.102- _* M3 \4 a0 c' o+ Z8 M
C.101- b, n7 y/ F6 {. u! ]6 Z
D.100
答案:
8.在32位计算机系统中,已知“int a[2][3]; fun(a);”,fun函数的形参变量名为p,则在fun()函数体中通过sizeof(p)计算得到的结果为##。
A.6
B.4
C.24
D.12! {$ i" _2 ~, V! |% z# |
答案:; P$ O. [7 g, a4 ?9 x# |/ |4 g7 Z4 t
# y8 |5 e! b, u- z0 ?& q
9.已知程序段: int a[3][4],*p[3]={a[0], a[1], a[2]},**pp=p,i; for (i=0; i<12; i++) a[i/4][i%4]=i; 则pp[1][2]的值是##。* }) p4 [9 ]3 F4 O' n2 z
A.6$ h; F: }5 w( I
B.5
C.4
D.3
答案:. ~: U2 i$ Y6 b& v" |7 h3 u# z
' p: D( x- ^2 [/ U2 o5 ~3 w
10.二进制数1001101011转换为等值的八进制数是( )。
A.9AC! X. P' G% n* ?- f
B.4651* |9 n8 x1 \7 F* y" c
C.26B
D.1153
答案:
0 \9 C5 K: j7 D/ l7 } R* U
11.字符的ASCII码的表示方法是:使用8位二进制码并且( )。7 w% i! g: s' D- H
A.最高位为15 G& A' ?- p2 d. C- y. v! S" o
B.最高位为0$ e4 j( j! A) e" J( }
C.最低位为1
D.最低位为0
答案:+ o( g! X0 z. }! ?+ A1 p# x
# Y' _/ N! D2 c: w
12.下面的描述,不正确的是##。1 M' g K; B$ { s2 g
A.语句for(i=0;;i++)表示无限循环 V- ? x4 J2 G, w% P, {: k
B.语句for(;;)表示无限循环2 w1 Z- o) g( ~: @6 v
C.语句for( )表示无限循环+ R* S2 C) g9 n( b
D.while(1)表示无限循环. M" ?: ?7 o# l
答案:6 q; w# N. T$ T3 ?) c. _
13.已知“char a[]="abcd”,*p=a+2;",则语句“cout<<p;”会在屏幕上输出##。/ C8 ]1 U5 T5 P6 x
A.d$ {# X* B- }9 M* V
B.cd* z! s$ a1 D6 l; |0 l" a; r3 J: @
C.c
D.bcd4 _ x* D) @# X% }5 z
答案: C9 J" _* F4 M g+ H
14.下面关于循环语句的叙述中,正确的是##。
A.无论哪种循环,都可以从循环体内转移到循环体外
B.for循环只能用于循环次数已知的情况3 P/ ]7 K1 i, R! p
C.for循环体内不能出现while语句
D.for循环与while循环一样,都是先执行循环体后判断条件; `4 J$ c6 M9 U+ ~
答案:
15.已知“int a=5, b, *p=&a;”,则下列语句中正确的是##。
A.b=p;
B.b=*p;
C.*p=&b;
D.&b=a;
答案:/ j1 ~( R- x4 h$ l# c1 O
二、判断题 (共 20 道试题,共 40 分)
16.在C++中,要对int型的一般数组进行访问,必须逐个元素进行。6 `9 J- T, i% R7 d. v J; @& ~' t9 t
答案:# e+ {' A- I4 [' @0 z$ {2 J7 S
: F) u3 a, \9 E
17.无参宏定义和条件编译结合使用可以解决头文件重复包含问题。
答案:
18.负数的补码就是原码逐位取反后的结果。
答案:
19.若函数类型为void,则函数体内不能有return语句。: y _( v9 R* Z; A
答案:
20.二维数组中的所有元素必须具有相同的数据类型。9 G! g( e7 e4 l. A ~) P; D" D3 v0 m$ p
答案:
- x: W7 c$ p i( o4 @2 B0 s0 C, ]' K
21.已知函数原型“double fun();”,要定义一个函数指针变量p指向该函数的首地址,则其定义语句为“double (*p)()=fun;”。: g9 e8 I- Q5 B
答案:
1 _0 u. D- e9 ]! `
22.在计算机中因为采用的均是二进制数,所以包括数的正负性都只能用二进制数来表示。4 f7 {" m; G3 ?, g
答案:- h! b& |5 b- @) ~! q" p! S
+ S- x' l/ w+ V+ I/ n) \3 ~
23.在C++中,如果在函数调用之后再进行函数定义的话,就需要在调用之前给出函数原型。; {! r- x; ]+ `9 K
答案:5 Y) Z( @, S; X3 ~6 {+ g: o
% h! x$ w3 k( H) d: J1 v
24.如果函数没有形参,则函数定义时形参列表可以省略,即函数定义“int fun {…}”是正确的。+ A- }- i* _( \) T
答案:# b+ z1 ]4 G9 W: D' L
25.在日常生活中完成一项较复杂的任务时,我们通常会将任务分解成若干个子任务,通过完成这些子任务逐步实现任务的整体目标。
答案: Q: A, ?* C% ?5 K
26.switch语句中的各的值可以相同,与条件表达式应为同一数据类型。
答案:
6 w1 ~5 E5 V4 }7 K0 ^
27.当输出汉字时,输出的是汉字机内码。
答案:
6 x; y, a. C' y
28.标识符是指由程序员定义的词法符号,用来给变量、函数、数组、类、对象、类型等命名。6 T( V. U0 N" M( O3 N. H5 i( m
答案:
, T% t# v/ H4 l/ c$ p7 J7 D! G
29.在整数的反码的表示方法中,0的表示均是唯一的,即0只有一种表示形式。
答案:! J5 w6 N" |/ P F1 p
30.表达式“x+1>y-2”是算数表达式。5 [8 V* H1 O3 K$ U* w0 C5 Z
答案:
31.? 高维数据都可以使用一维数组进行存储。8 B6 A8 a6 |9 m1 b! C) u! y
答案:
+ R- R# O7 [3 ^
32.静态局部变量在定义时若没有初始化,则自动初始化为0。; ^! z% g! w. B; t) m# |
答案: \8 ^( b; Z+ l* `4 @; @0 Y
& }. `2 ]& b* X- K7 n8 J7 X
33.语句for(i=0;;i++)和for(;;)都表示一次也不循环。" d: x/ S3 @% W. j" \9 H* C/ w5 Z
答案:; J6 f! t7 a8 f7 r
! m9 {8 L' V W: X
34.使用全局变量会降低函数之间的独立性,在编写程序时尽量减少全局变量的使用。* f; A3 d: X4 a: r& y) p( C7 O
答案:
! [% l) l! R. Z0 ~, W7 t
35.将浮点型赋值给整型时,转换后的值可能丢失小数部分,原来的值也可能超出目标类型的取值范围导致结果错误。* h; I7 r% t- K/ y6 i' {
答案:" q4 h- z w) l
三、问答题 (共 2 道试题,共 20 分)
36.下面程序的运行结果是什么? @% j6 d; w5 h0 N' \
#include <iostream>
using namespace std;
int main()
{
char a[2][10]={"Xyccw"," XYcCw "};
int i;
for (i=0; i<5; i++)
{* p, p1 i O( a4 M2 l( N% `4 K }( }
if(a[0]!=a[1])5 [4 I; w r6 }+ L6 s
break;" K5 P% x" L5 m) C `% J
}2 N9 Y1 Z; N% f* a H4 ~/ e* b, K2 Z
if (i==5)
cout<<"两个字符串相同"<<endl;
else
if (a[0]>a[1])
cout<<"较大的字符串为:"<<a[0]<<endl;3 Q- Q& r: ~1 b& b: v
else
cout<<"较大的字符串为:"<<a[1]<<endl;5 ]+ D( W. P3 j) [1 B
return 0;0 H) {5 |$ A$ a6 E6 F m
}
37.下面程序的运行结果是什么? x9 X% V7 q' ~' X3 D3 [% q9 x
#include <iostream>
using namespace std;
void fun(int a, int b, int &sum, int sub)! B" g ?+ m0 t! h
{
sum = a+b;: N# N* X/ h; P
sub = a-b;9 f) Q% d- p0 j" _" f
}+ r* q) U5 F" x, P
int main()) H5 i) S- H/ `) V e
{% b: e% C9 p9 g
int a=5, b=10, sum=0, sub=0; o3 @# Z$ p& J! I. d
fun(a, b, sum, sub);
cout<<sum<<endl;
cout<<sub<<endl;; t# l& O5 L! y
return 0;" o1 R9 ]* ^4 V* s# Z/ g) L
}
, M! S4 T+ y9 I- N! h, j( e3 ~0 ^+ m
四、简答题 (共 1 道试题,共 10 分)
38.请设计“求斐波那契数列”的递归算法,并用C++代码写出求前10项斐波那契数列的完整程序。
|
|