当前位置:首页 > 2016-2017(1)C++程序设计基础--B卷
……… …… … … … …号…位…座… … … 线 … … … … … … …级…班…业…专… … … … …) 题封 … 答… 不… 院内…学 线… … 封… 密… (… … … … … … … … … … 号密学… … … … … … … … …名…姓……………… …诚信应考,考试作弊将带来严重后果!
华南理工大学本科生期末考试
《C++程序设计基础》 B卷
注意事项:1. 开考前请将密封线内各项信息填写清楚; 2. 所有答案请直接答在答题纸上,否则无效; 3. 试卷和答题纸同时提交; 4.考试形式:闭卷;
5. 本试卷共 四大题,满分100分, 考试时间120分钟。
一、 单项选择题,请将正确的选项涂写在答题纸相应位置上。(共20小题,每小题
1分,共20分)
1. 下列符号在计算当中不是分隔符的是( )。
A. ; B. [] C. () D. {}
2. int a = 4,b;对下面四个表达式的值说法正确的是( )。
(1) b += (a++); (2) b += (++a); (3) (b++) += a; (4) (++b) += (a++); A.9、10、10、11 B.(3)式错误 C.(4)式错误 D.(3)(4)都错误
3. 下列程序段执行后的输出结果是( )。
int i,j=3,k=4; i=(++j)+(k++);cout<
A. 7 B. 10 C. 9 D. 8
4. 设以下变量都是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
5. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a
A.1 B.2 C.3 D.4
6. 设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是( )。 A. 0,0 B.0,1 C.1,0 D.1,1
7. 执行以下程序段后,变量i 的值为( )。
int i=2; switch (i)
{ case 1:i+=i++; case 2:i+=i++; case 3:i++; break; default : i++; break; }
A. 4 B. 5 C. 6 D. 7
8. 下面语句构成死循环的是( )。
《C++程序设计基础》试卷B 第 1 页 共 9 页
_____________ ________
A. for(i=0; i<10; i++) cout << i < C. i=10; do { cout << i-- < 9. 在下面循环语句中循环体执行的次数为( )。 for(int i=0; i A. n/2 B. n/2+1 C. n/2-1 D. n-1 10. x=0; for( i=0; i<99; i++) if(i) x++; 执行完程序段后,x的值是( )。 A. 0 B. 30 C. 98 D. 90 11. 假定变量a和pa定义为“double a[10], *pa=a;”,要将3.14赋值给a中的下标为5的元素,不正 确的语句是( )。 A. pa[5]=3.14; B. a[5]= 3.14; C. *(pa+5)= 3.14; D. *(a[0]+5)= 3.14; 12. 下列程序的输出结果是( )。 #include {int n[][3]={10,20,30,40,50,60}; int (*p)[3]; p=n; cout< A. 10,30,50 B. 10,20,30 C. 20,40,60 D. 10,30,60 13. 以下程序的输出结果是( )。 #include { char w[][10]={\ for(k=1;k<3;k++) cout<< w[k]; return 0; } A. ABCDEFGH B. EFGHIFKL C. ABCD EFGH IJKL D. EFGH IFKL MNOP 14. 设有说明 char s[]=\则cout< ( )。 A.abc\\ 5 6 B.abc\\ 4 5 C.abc\\n 5 6 D.abc\\n 4 5 15. 以下对C++ 函数的有关描述中,正确的是( ) 。 A. C++调用函数时,只能把实参的值传给形参,形参的值不能传递给实参 B. C++函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. C++程序中有调用关系的所有函数必须放在同一源程序文件中 16. 下列函数说明及变量定义,各自独立编译时产生错误信息的是( )。 《C++程序设计基础》试卷B 第 2 页 共 9 页 int fun1 (int a, int x); void fun2 (int a, int x); void fun3(int a[], int n); void fun4(int *p, int n); int a=5, b=10, c[5]={0}; float x=1.5; A. fun2(fun1(a,b),a); B. fun1(x,a); C. fun3(c[4],5); D.fun4(c,5); 17. 以下程序的输出结果是( ) 。 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< A. 20 B. 21 C. 22 D. 23 18. 有声明 int fun6( int ); int (?pf)(int) = fun6; 在下列选项中,正确的调用是( )。 A. int a=15; int n=fun6(&a); B. int a = 15; cout<<(&pf)(a); C. cout<<(?pf)( 256 ); D. cout << ?pf( 256 ); 19. 下列程序段执行后a与b的值分别为( )。 int a=110, b=101; a=a^b; b=a^b; a=a^b; A. 110 101 B. 6 5 C. 5 6 D. 101 110 20. 有如下说明语句: struct point {int x; int y;}p; 则正确的赋值语句是( )。 A.point.x=1; point.y=2; B. point={1,2}; C. p.x=1; p.y=2; D. p={1,2}; 二、 写出下列程序的执行结果。(共6小题,每小题5分,共30分) 1. #include if (n == 0 || n == 1) return 1; else { p = 2 * f(n-1) + f(n-2); return p;} } 《C++程序设计基础》试卷B 第 3 页 共 9 页 int main() { cout << f(4); cout << endl; return 0; } 2. #include { cout << func1() << endl ; cout << func2() << endl ; } int func1() { static int a = 0 ; static int b = 1 ; a ++ ; b ++ ; cout << a << '\\t' ; cout << b << '\\t' ; return a + b ; } int func2() { static int a = 0 ; static int b = 1 ; a ++ ; b ++ ; cout << a << '\\t' ; cout << b << '\\t'; return a + b ; } 3. #include C++程序设计基础》试卷B 第 4 页 共 9 页《
共分享92篇相关文档