当前位置:首页 > C++面向对象程序设计语言期末考试试卷
C++面向对象程序设计语言期末考试试卷
一. 选择题(每题1分,共10分)
1. 在C++中,常量?C?和”C”两者________。
A)完全不同 B)存储长度相同 C)类型相同 D)存储值相同 2. 有二维字符数组char s[4][6]={“zhang”,”gao”,”tang”,”wang”},执行程序cout<<*s[2],
屏幕上显示________。 A)gao B)tang C)g D)t
3. 若w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x的结果为_______。
A)4 B) 3 C) 2 D)1
4. 设a和b为整型变量,执行语句b=(a=2+3,a*4),a+5;后a和b的值为_______。
A)5,10 B)20,25 C)5,25 D)5,20
5. 如果整型变量a,b,c的值分别为5,4,3,则语句if(a>=b>=c) c++;执行后c的值是
______。 A)5 B)4 C) 3 D)2 int i=10;执行下列语句后,i的值是_______。 { case 9: i+=1; case 10: i+=1; case 11: i+=1; case 12: i+=1; }
A)10 B)11 C)12 D)13 6. 执行以下程序:
#include 则执行语句cout< void f(int x){……} //1 int f(int y){……} //2 int f(int i,int j){……} //3 float k(int x) {……} //4 _______是重载函数。 A)4个全部 B)1和4 C)2和3 D)3和4 9. 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度, 选用________合适。 A)内嵌函数 B)重载函数 C)递归调用 D)嵌套调用 二.填空题(每空2分,共10分) 1.浮点型变量f 当前存储的值是17.8,经 (int) f 类型强制转换后 f 存储的值是______。 2.若:typedef char * STRING; STRING p,s[10]; 则:p和s的数据类型分别是______________、_________________。 3.求a,b,c中的最大值,请将表达式补充完整( t=a>=b?a:b) 三.阅读程序题(每空2分,共14分) 1.下列程序的输出结果是____(1)_____。 #define MUL(x,y) x*y #include 2.下面函数的功能是________(2) ________。 sss(char* s,char* t) { while((*s)&&(*t)&&(*t++==*s++)); return; } 3.对于下述程序段: int c(int x,int y) { if(x<1) return(y+2); else if(x%2==1) return(y*c(x-1,y+1)); else return(c(x/2,y)*3); } 当主程序中有打印语句cout< 4. [程序] #include void f(int* a,int b) { static int c=2; (*a)++; c--; cout<<*a<<'\\t'< } void main(void) { int i; for(i=0;i<=1;i++) f(&i,c); cout<<\} 程序执行后输出的第二行是_____(4)_____; 输出的最后一行是____(5)_____。 5. [程序] 下面程序的输出结果是_____(6)_____。 #include int funb(int a,int b) { return(a - b); } int sub(int(*f)(int ,int),int x,int y) { return ((*f)(x,y)); } void main(void) { int x,(*p)(int,int); p=funb; x=sub(funa,8,3); x+=sub(p,9,3); cout<<\} 6. [程序] 下面程序的输出结果是_____(7)_____。 #include int aa[3][3]={{2},{4},{6}}; void main(void) { int i,*p=&aa[0][0]; } for(i=0;i<2;i++){ if(i= =0) aa[i][i+1]=*p+1; else ++p; } cout<<*p< 四.完善程序题(每空2分,共26分) 1.下面函数的功能是从数组arr(有n个元素)中找出最小元素,并返回其引用。 ____(1)____findmin(int arr[],int n) { int pos=0; for(int i=1;i<=n-1;++i) if(_______(2)_______) pos=i; return _____(3)_____; } 2.下面函数的功能是求N个数之和的递归函数(即1+2+3+…..+n) int sum(int n) { if(___(1)___) return 1; else return ______(2)_____; } 3.本程序中的函数find是判断数组a中的整数是升序、降序还是无序的,如果是升序返回1,降序返回2,无序返回3。函数find中的形参n为数组a中有效整数的数量,a中从a[0]到a[n-1]包含待判断的整数。 int find(int a[],int n) { int s,i; if(a[0] if(s= =1){ i=1; while (i if(______(1)_____){ s=3; break;} ______(2)_____; } }
共分享92篇相关文档