试卷代号: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 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 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 void main(){ intx=20,y=40,*p: p=&x;cout=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.includea[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 int LJ(int a[],int n){ int k=0; for(int i=1;i 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中
试卷代号:1075 中央广播电视大学2006一2007学年度第一学期“开放本科”期末考试 数学与应、机械专业C十+语言程序设计 试题答案及评分标准 (供参考) 2007年1月 一、单选题(每小题2分,共12分) 评分标准:选对者得2分,否则不得分。 1.D 2.A 3.C 4.B 5.B 6.C 二、填空题(每小题2分,共24分】 评分标准:每题与参考答案相同者得2分,否则不得分。 1.}(或右花括号) 2.1 3.031 4.y=y十1 5.10 6.break 7.引用 8.*(a十i) 9.44 10.析构函数 11.N 12.fstream.h 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.y=81 2.2332 /对一个数据给1分,对两个数据给3分,以此类推 565
试卷代号:1075 中央广播电视大学2006-2007学年度第一学期“开放本科”期末考试 数学与应、机械专业 C-}+语言程序设计 试题答案及评分标准 (供参考) 2007年 1月 一、单选题(每小题 2分,共 12分) 评分标准:选对者得 2分,否则不得分。 l. U 2. A 3. C 4. B 5. B 二、填空题(每小题 2分:共 24分) 评分标准:每题与参考答案相同者得 2分 ,否则不得分。 1.}(或右花括号) 2. 1 3. 031 4, y=y+l 5. 10 6. break 7.引用 8. * (a-f-iJ 9. 44 10.析构函数 11. N 12. fstream. h 三、写出下列每个程序运行后的输 出结果(每小题 6分.共 30分} y=87 2. 2 3 32 /对一个数据给 1分 ,对两个数据给 3分 ,以此类推 6. C 565
3.3691215 /16分 4.b=25 5.2040 /共两行,每行数据正确得3分,否则酌情扣分 3040 四、写出下列每个函数的功能(每小题8分,共24分) 评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。 1.统计出数组a的n个元素中大于等于参数k的值的元素个数并返回。 2.求出数组a中n个元素的最大值并返回。 3.建立一个具有个结点的链表,每个结点的值依次由键盘输入,该函数返回其表头 指针。 五、按题目要求编写函数(10分) 评分标准:按照编程的完整程度酌情给分。 void AD(int a],int n) { for(i=0;i<n/2;i++){ intx=a[i];a[i]=a[n-l-i订;a[n-l-i门=x; } 566
3. 3691215 刀6分 4. b= 25 5. 20 40 刀共两行,每行数据正确得3分,否则酌情扣分 30 40 四、写出下列每个函数的功能(每小题 8分 ,共 24分) 评分标准:每题与参考答案的叙述含义相同者得 8分,否则酌情给分。 1.统计出数组 a的 n个元素中大于等于参数 k的值的元素个数并返 回。 2.求出数组 a中n个元素的最大值并返回。 3.建立一个具有 n个结点的链表,每个结点的值依次由键盘输人,该函数返回其表头 指针 。 五、按题 目要求编写函数(10分 ) 评分标准:按照编程的完整程度酌情给分。 void AD(int a[],int n) for(i=0; i<n/2; i十十){ int x = a[i];a[i]=a[n一1一i];a[n一1一i]=x; 566