试卷代号:1075 座位号■ 中央广播电视大学2006一2007学年度第一学期“开放本科”期末考试 数学与应、机械专业C十十语言程序设计 试题 2007年1月 题 号 二 三 四 五 总 分 分 数 得分 评卷人 一、单选题(每小题2分,共12分) 1.C+十程序的基本功能模块为( )。 A.表达式 B.标识符 C.语句 D.函数 2.存储以下数据,占用存储字节最多的是( )。 A.0 B.0' C."o" D.\n' 3.在下面的一维数组定义中,哪一个有语法错误。() A.inta]={1,2,3} B.inta[10]={0 C.int a] D.int a[5] 4.在下面的语句中,不正确的是( A.int a5] B.int M=10;int a[M] C.inta[]={1,5,10,45} D.const int N=12;int afN] 5.C+十语言中的每条简单语句以( )作为结束符。 A.逗号 B.分号 C.空格 D.换行符 560
试卷代号:1075 座位号巨二] 中央广播电视大学2006-2007学年度第一学期“开放本科”期末考试 数学与应、机械专业 C-}+语言程序设计 试题 2007年 1月 题 号 四 五 总 分 分 数 得 分 评卷人 一、单选题(每小题 2分,共 12分) 1. C+十程序的基本功能模块为( )。 A.表达式 C.语句 2.存储以下数据,占用存储字节最多的是( 标识符 函数 I n nU 、、、 0 1 ! 、 、 声 B D A. 0 C. }}0}} 3.在下面的一维数组定义中,哪一个有语法错误。 ,int a巨〕={1,2,3} int a[] B, int a[10]=t}} D. int a[5] 4.在下面的语句中,不正确的是( .int a仁5] int a[]={1,5,10,45} B. inl M二10;int a汪iVI] D, const int N=12;int a犷N] 5. C+十语言中的每条简单语句以( )作为结束符。 A.逗 号 C.空格 B.分号 D.换行符 560
6.含随机函数的表达式rand()%20的值在( )区间内。 A.1~19 B.1~20 C.0~19 D.020 得 分 评卷人 二、填空题(每小题2分,共24分) 1.C十十语言中每条复合语句以 作为结束符。 2.假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则ac的值为 3.十进制数25表示成符合C++语言规则的八进制数为 4.增量表达式十十y表示成赋值表达式为 5.假定a=5,则条件表达式“a>=5?10:20”的值为 6.当在程序中执行到 语句时,将结束所在循环类语句或switch语句的 执行。 7.函数调用时,实参向形参的传送分为 传送和值传送两种方式。 8.假定a是一个一维数组,则a[i门的指针访问方式为 9.假定一个结构类型的定义为"struet C{double a[5];intn;};",则该类型的大小为 字节。 10.当一个类对象被撤消时将自动调用该类的 11.假定一个类对象数组为A[N门,当离开它的作用域时,系统自动调用该类析构函数的 次数为 12.若要在程序文件中进行文件输人输出操作,则必须在开始的#inlude命令中使用 头文件。 561
6.含随机函数的表达式 rand() % 20的值在( A. 1^-19 )区间内。 B. 1 ^r 20 C. 0^-19 D. 0--J20 得 分 评卷人 二、填空题(每小题 2分 ,共 24分 ) 1. c++语言中每条复合语句以 作为结束符 。 2.假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae}; ",则 a。的值为 3.十进制数 25表示成符合 C-F+语言规则 的八进制数为 4.增量表达式+十y表示成赋值表达式为 5.假定 a=5,则条件表达式,"ate=5? 10,20”的值为 6.当在程序中执行到 语句时,将结束所在循环类语句或 switch语句的 执行 。 7.函数调用时,实参向形参的传送分为 传送和值传送两种方式 。 8.假定a是一个一维数组,则 a[i]的指针访问方式为 9.假定一个结构类型的定义为,'struct C { double a仁5〕];int n;};u,则该类型的大小为 字节 。 10.当一个类对象被撤消时将 自动调用该类的 11.假定一个类对象数组为 A[N],当离开它 的作用域时 ,系统 自动调用该类析构 函数 的 次数为 12.若要在程序文件中进行文件输人输出操作,则必须在开始的 #inlude命令中使用 头文件 。 561
得分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.include<iostream.h void main(){ int n=4,y=1; while(n--)y*=3; cout<<y="<<y<<endl; 2.include<iostream.h void main() char a[]="1231023120"; intb[4]={0},i=0: while(aLi])( intk=ai]-48;/0的ASCII码为48 b[k]++; i++: } for(i=0;i<4;i++)cout<<b[i]<<'; cout<<endl; } 3.#include<iomanip.h void main(){ inta[5]={3,6,9,12,15}; int p=a; for(int i=0;i<5;i++) cout<<p十十<<''; cout<<endl; } 562
得 分 评卷人 三、写出下列每个程序运行后的输 出结果(每小题 6分,共 30分) 1.#include<iostream, h} void main(){ int n=4,y=1; while(n一一)Y‘=-3; cout<G"y="+ y+ endl; 2.#include<iostream, h> void main(){ char a[]="1231023120"; int b仁4]“{0} while(a[i]){ = 0 int k=a[i]-48; //0的 ASCII码为 48 、 b[k]++; i+十 ; } for(i=0;i<4 cout+ endl ;i-}+)Gout+ b[i]+ ' 3.#includeGGOmanip, h> void main(){ int a[5]=王3,6,9,12,15}; mt } p= a for(int i=0;i< 5;i-f-+) cout+ ,P++<< cout< Gendl:
4.include<iomanip.h int LA(int¥a,intn){ int s=0; for(int i=0;i<n;i+)s+=a[i]; return s; void main(){ inta[]={5,2,8,6,4,10}; int b=LA(a,5); cout<<"b="<<<<endl; } 5.include<iomanip.h> void main(){ intx=20,y=40,*p: p=&x;cout<<米p<<''; *p=x十10; p=&y;cout<<*p<<endl; cout<<x<<<<y<<endl 得分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 1.int WC(int a],int n,int k)( int c=0; for(int i=0;i<n;i++) if(a[i]>=k)c++; return c; }》 563
4.#include<iomanip, h} int LA(int,a, int n){ int s=0; for(int i=0;i<n; i-1-+)s-f-=a[i]; return s; void main(){ int a[二={5,2,8,6,4,10}; intb=LA(a,5); cout+ "b="+ b+ endl; 5.#include<iomanip, h} void main(){ int x=20,y=40,}p; P=邑x; cout<<二p+ ' '; * p= x-1-10; P-乙Y;cout+ } p+ endl; cout+ + ' '+ y+ endl; } 得 分 评卷人 四、写出下列每个函数的功能 (每小题 8分 ,共 24分) 1. int WC(int a仁〕,int n, int c=0; for(int i=0;i< n; if(a[i]}=k) return c: int k) i-}+) c-F-+ 563
2.include<iostream.h int LJ(int a[],int n){ int k=0; for(int i=1;i<n;i++) if(a[i门>a[k])k=i; return a[k]; } 3.假定结构类型DNode中的data域为结点值域,next域为结点指针域。 DNode QB(int n){ if(n==0)(return NULL;) DNode f=new DNode; cin>>f->data; DNode p=f; while(--n){ p=p->next=new DNode; cin>>p->data; p->next=NULL; return f; 得分 评卷人 五、按题目要求编写函数(10分) 假定一个函数声明为“void AD(inta[],intn);”,要求把数组a中的n个元素值按相反 的次序仍保存在数组a中。 564
2.#include<iostream. h> int LJ(int a[],int n){ int k=0; for(int i=1;i<n; i-}-+) if (a[i]tea仁k]) k=i return a[k]; 3.假定结构类型DNode中的 data域为结点值域,next域为结点指针域。 DNode* QB(int n){ if<==0){return NULL;} DNode } f=new DNode; cin; f一> data; DNode } p=f; while(一一n){ P=p一>next:=new DNode; cin}i p一>data; } P一>next=NULL; return f; 得 分 评卷人 五、按题 目要求编写函数(10分) 假定一个函数声明为“void AD(int a[], int n);",要求把数组 a中的 n个元素值按相反 的次序仍保存在数组 a中