试卷代号:1075 座位号■■ 中央广播电视大学2008一2009学年度第一学期“开放本科”期末考试 C十十语言程序设计 试题 2009年1月 题 号 二 三 四 五 总 分 守 数 得分 评卷人 一、单选题(每小题2分,共20分) 得分 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. 若整型变量x的值为25,则x/7的值为( )。 A.3 B.4 C.5 D.6 得分 5.C+十语言中的每条简单语句以( )作为结束符。 A.逗号 B.分号 C.空格 D.换行符 得分6.含随机函数的表达式rand()%20的值在( )区间内。 A.1~19 B.1~20 C.019 D.0-20 557
试卷代号:1075 座位号口口 中央广播电视大学2008-2009学年度第一学期“开放本科”期末考试 C++语言程序设计 试题 2009年 1月 题 号 四 五 总 分 分 数 得 分 评卷人 一、单选题(每小题 2分.共 20分) P 二口‘.在C+十程序中相对独立的功能模块为( B ) D 0州 卜 A.表 达式 C.语句 存储 以下数据, A. 0 C. "0" 标识符 函数 占用存储字节最多的是( ) B_ 'Of 匣王口3·在一下面的一维数组定义中 D. '\n' ,有语法错误的是 ( ) 卜导州 卜 }得分!}5. A.int a[]={1,2,3} B.inta[10]={0} C. int a[] D int a[5] 若整型变量 x的值为 25,则 x/7的值为( )。 A.3 B.4 C. 5 D. 6 C十+语言中的每条简单语句以( )作为结束符。 A.逗号 B.分号 C.空格 D.换行符 匣困习 6·含随机函数的表达式rand() % 2。的值在( )区间内。 1~ 19 0^-19 1^-20 0---20 B D A C 557
得分 7. 当处理一个特定的问题时,若循环次数已知,则通常采用( )来解决。 A.for循环 B.while循环 C.do循环 D.switch语句 得分 8.在下面for循环语句中,循环体S语句的执行次数为( )。 for(int i=0;i<20;i+=2)S; A.20 B.9 C.11 D.10 得分 9.若函数声明为double function(),则该函数的返回值为( )。 A.实数型 B.实数指针型 C.函数指针型 D.数组型 得分州 10.假定m是一个整型变量,则下面定义的正确语句为( )。 A.int p=&.m; B.int¥p=&m; C.int &p=*m; D.int *p=m; 得 分 评卷人 二、填空题(每小题2分,共20分) 得分 11.执行“cout<<”x1="<<184,”语句后得到的输出结果为 得分 12.在c十十语言中,用转义字符序列 表示输出一个换行。 得分 l3.int类型的大小为个字节。 得分 14.假定y的值为5,则增量表达式+十y的值为 得分 15.假定a的值为25,则算术表达式a%3的值为 得分 16.结束所在循环类语句或switch语句执行的中断语句的保留字为 得分州 17.函数调用时,实参向形参的传送分为 传送和值传送两种方式。 得分 18.假定a是一个一维数组,则a[i]的指针访问方式为 得分 l9.假定一个结构类型的定义为"struct C{double a[5];intn;};”,则该类型的大小 为个字节。 得分 20.若要在程序中进行 的输入输出操作,则必须在开始的#inlude预处理 命令中使用fstream.h头文件。 558
I '0" I口7.当处理一个特定的问题时,若循环次数已知,则通常采用( )来解决 。 畴州 卜 随娜 卜 A. for循环 B. while循环 C. do循环 D. switch语句 在下 面 for循环语句 中,循环体 S语句的执行次数为( ) for(int i=0;i<20;i+=2) S; A. 20 B. g C. 11 D. 10 若函数声明为 double * function(),则该函数的返回值为( A.实数型 B.实数指针型 C.函数指针型 D.数组型 Ila州 ’}10.假定 m 是一个整型变量 ,则下面定义的正确语句为( ) A. int p二&m; C. intaP-*m; B. int D. int p=&m; P= M ; 得 分 评卷人 二、填空题(每小题 2分,共 20分 ) 11.执行“cout< "xl="+ 18 * 4;”语句后得到的输出结果为 12.在c++语言中,用转义字符序列_ 表示输出一个换行。 13. in(类型的大小为_ _ 个字节。 14.假定 Y的值为 5,则增量表达式十十Y的值为 15.假定 a的值为25,则算术表达式 a%3的值为 16.结束所在循环类语句或 switch语句执行的中断语句的保留字为 17.函数调用时,实参向形参的传送分为_ 传送和值传送两种方式。 18.假定 a是一个一维数组,则 a[i]的指针访问方式为 19.假定一个结构类型的定义为“struct C{double a[5]; int n;};",则该类型的大小 哑画画画画画画画画 随州 }20. 为 个字节。 若要在程序中进行_ 的输人输出操作,则必须在开始的#inlude预处理 命令 中使用 fstream. h头文件
得分评卷人 三、程序填充题(每小题6分,共30分) 得分☐ 21.#include<iostream.h> void main(){ int n=4,y=1; while(n--)y*=3; cout<<"y="<<y<<endl; } 运行结果: 得分22.#include<iostream.h> void main(){ inta[8]={2,8,10,5,12,7,9,20}: int c=0,i=0; while(i<8){ if(a[i]>l0)c++; i++: cout<<"c="<<c<<endl; } 运行结果: 得分 23.include<iomanip.h> void main(){ inta[5]=(3,6,9,12,8}; for(int p=a;p<a+5;p++) if(*p>8)cout<<*p<<’’; } 运行结果: 559
得 分 评卷人 三、程序填充题(每小题 6分 .共 30分) 0州 }21#include< iostream. h> void main(){ int n=4,y=1; while(n一一)Y‘=3; cout< "y="+ y+ endl; } 运 行 结果 : PiT州 }22.#include<iostream. h> void main(){ int a[8]“{2,8,10,5,12,7,9,20}; intc=0,i=0; while(i<8){ if (a仁i]i10) c++; i+十 ; } cout< "c= "+ c< endl } 运 行结 果 : 阵州 !23.#include<iomanip. h5 void main(){ int a[5]={3,6,9,12,8}; for(int‘p=a;p<a+5;P++) if(‘p>8) cout< * p< ’ } 运行结果 : 559
得分 24.include<iomanip.h> int LA(int a],int n) int s=0; for(int i=0;i<n;i++) s+=a[i]; return s; } void main()( inta[5]={5,2,8,6,4}; int b=LA(a,5); cout<<"b="<<<<endl; 运行结果: 得分 25.include<iomanip.h> struct AB char aa[15]; int bb; }: void main()( ABa[4]=({"Apple'",25},{"Peach",40},{"Pear",36},{"Tomato",62}; for(int i=0;i<4;i++) if(a[i].bb<40)cout<<a[i].aa<<’’; cout<<endl; 运行结果: 得 分 评卷人 四、简述题(每小题8分,共24分) 得分 26.bool WB(int a],int n,int x) for(int i=0;i<n;i++) if(a[i]==x)return true; return false; } 函数功能: 560
匣亚]24.#include<iomanip. h> int LA(int a[],int n){ int s=0; for(int i=0;i<n;i++) s-1-=a[i]; return s; } void main(){ int a[5]={5,2,8,6,4}; int b二LA(a,5); cout< "b=”< b< endl; } 运行结果 : 匣亚]25.#include<iomanip. h> struct A13{ char as[15]; int bb; }; void main(){ AB a[4]=({"Apple",25},{"Peach",40} for(int i=0;i<4;i++) if(a[i]. 6b<40) cout< a[i]. aa< cout< endl; "Pear",36},{"Tomato",62}} } 运行结果 : 得 分 评 卷人 四、简述题(每小题 8分,共 24分) 随州 126. bool Wl3(int a[口,int n, int x){ for(int i=0;i<n; I+十) if(a[i]==x) return true; return false; } 函数功能 : 560
得分 27.int LJ(int a],int n)( int k=0; for(int i=];i<n;i++) if(a[i门>ak])k=i; return a[k]; } 函数功能: 得分 28.假定结构类型DNode中的data域为结点值域,next域为结点指针域。 void QB(DNode*f)//f指向单链表的表头结点 if(f==NULL)return; while(f!=NULL){ cout<<f->data<<’’; f=f->next; 函数功能: 得 分 评卷人 五、编写题(6分)】 得分 29.假定函数声明为“void Print(inta[],intn);”,要求按下标从大到小的次序输出 数组a中的n个元素的值,每个值后面接着输出一个空格。 561
ili-T州 }27. int LJ(int a[] int k=o; int n){ for(int 1=l;i<n;i ++) if (a巨i]>a仁k]) k=i; return a[k]; } 函数功能 : 匡王口28.假定结构类型DNode中的data域为结点值域,next域为结点指针域。 void QB(D Node * f) //f指向单链表 的表头结点 { if(f= =NULL) return; while(f!=NULL){ cout< f一>data< ’ f=f一> next; } } 函数功能 : 得 分 评卷人 五、编写题 (6分) }网一门29.假定函数声明为“ void Print(int a[]int n) ”,要求按下标从大到小的次序输 出 数组 a中的 n个元素的值,每个值后面接着输出一个空格。 561