试卷代号:1075 座位号■■ 中央广播电视大学2006一2007学年度第二学期“开放本科”期末考试 数学与应等专业C十十语言程序设计试题 2007年7月 题 号 三 四 五 总分 分 数 得 分 评卷人 一、单选题(每小题2分,共20分) 1,在每个C十十程序中都必须包含有这样一个函数,该函数的函数名为( A.main B.MAIN C.name D.function 2.设x和y均为bool量,则x&&y为真的条件是()。 A.其中一个为假 B.其中一个为真 C.它们均为假 D.它们均为真 3.逻辑表达式x>0|y==5的相反表达式为()。 A.x0||y!=5 D.x>0&&.y==5 4.假定p是一个指向float型数据的指针,则p十1所指数据的地址比p所指数据的地址 大( )个字节。 A.1 B.2 C.4 D.8 5.枚举类型中的每个枚举常量的值都是一个( )。 A.整数 B.浮点数 C.字符 D.逻辑值 6.循环体至少被执行一次的语句为( )语句。 A.for循环 B.while循环 C.do循环 D.任一种循环 545
试卷代号:1075 座位号〔工] 中央广播电视大学2006-2007学年度第二学期“开放本科”期末考试 数学与应等专业 C-}-+语言程序设计 试题 2007年 z月 题 号 四 五 ,}. 分 分 数 得 分 评卷人 一、单选题 (每小题 2分,共 20分 ) 1,在每个 C-1-+程序中都必须包含有这样一个函数,该函数的函数名为( A, main B. MAIN C. name D, function 2.设x和Y均为bool量,则x乙邑Y为真的条件是( )。 A.其中一 I}为假 B.其中一个为真 C.它们均为假 D.它们均为真 3.逻辑表达式 x> 0}}y==5的相反表达式为( )。 A. x叫 }Y!一5 D. x> 0aa厂 =5 4.假定 P是一个指向float型数据的指针,则 p+i所指数据的地址比P 大( )个字节。 A. 1 B.2 C. 4 D. 8 5.枚举类型中的每个枚举常量的值都是一个( )。 A.整数 13.浮点数 C.字符 D。逻辑值 6.循环体至少被执行一次的语句为( )语句。 A. for循环 B, while循环 C. d。循环 D.任一种循环 所指数据的地址 54}
7.在下面的字符数组定义中,( )语句有语法错误。 A.char a[2o]=“abcdefg”; B.char a[]=“x+y=55.”; C.char a[15]={‘1',‘2'}; D.char a[10]=‘5'; 8.若用数组名作为函数调用的实参,传递给形参的是( )。 A.数组的首地址 B.数组中第一个元素的值 C.数组全部元素的值 D.数组元素的个数 9.假定AB为一个类,则执行“ABa(4),b[5],¥p[2];”语句时,自动调用该类构造函 数的次数为( )。 A.6 B.7 C.9 D.11 10.当使用fs1ream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式 为( )。 A.ios::in B.ios::out C.ios:in|ios::out D.没有 得 分 评卷人 二、填空题(每小题2分,共20分) 1.若需要定义一个标识符常量,并且使C十十能够进行类型检查,则应在定义语句的开 始使用保留字 2.算术表达式器+6-1对应的C叶十表达式为 3.逻辑表达式x>y&&.x!=10的相反表达式为 4,每个字符指针变量占用内存 个字节。 5.执行“typedef int DataType;”"语句后,在使用int定义整型变量的地方都可以使用标识 符 来定义整型变量。 6.对于在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它赋予的初值为 7.假定p所指对象的值为25,p+1所指对象的值为46,则执行“(p十十):”语句后,p 所指对象的值为 8.假定一个结构类型的定义为“struet A{inta;double*b;A*c;};”,则该类型的大小 为 字节。 9.假定一维数组的定义为“inta[8];”,则该数组所含元素的个数为 10.若while循环语句的开始为“while(i十十<=l0)”,若i的初值为0,同时在循环体中 天会修改的值,则其循环体将被重复执行 次后正常结束。 546
7.在下面的字符数组定义中,( )语句有语法错误 。 A. char a仁20]="abcdefg"; $. char a[〕二“x-f y=55.”; C. char a[15]={‘1’,‘2’少; D. char a仁10二=‘J’; 8,若用数组名作为函数调用的实参,传递给形参的是( )。 A.数组的首地址 B.数组中第一个元素的值 C.数组全部元素的值 D.数组元素的个数 9.假定 AB为一个类,则执行“A13 a(4), b[5], * p[2];”语句时,自动调用该类构造函 数的次数为( )。 A. 6 B. 7 C. 9 D. l 10.当使用 fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式 为( )。 A. ios::in $. ios::out C. ios::in{ios: : out D.没有 匡要圈 二. }}‘每小题2分’共“ 。分’ 1.若需要定义一个标识符常量 ,并且使 C+十能够进行类型检查 ,则应在定义语句的开 冶使用保留字 x.yz 算术表达式专 乃 生以 十4b-1对应的 C十十表达式为 3.逻辑表达式x%y邑乙x} =10的相反表达式为 4:.每个字符指针变量占用内存_ 个字节。 5.执行“typedef int DataType;”语句后,在使用 int定义整型变量的地方都可以使用标识 符 来定义整型变量。 F.对于在所有函数定义之外定义的变量 ,若没有被初始化则系统隐含对它赋予 的初值 为 7.假定 P所指对象的值为 2},p十1所指对象的值为 46,则执行“x (p十十);”语句后 ,A 所指对象 的值 为 8.假定一个结构类型的定义为“struct A{int a; double * h; A } c; } ;",则该类型的大小 为 字节。 9.假定一维数组的定义为“int a[8];",则该数组所含元素的个数为_ _。 10.若 while循环语句的开始为“while(i十十<=10)",若 i的初值为 。,同时在循环体中 人会修改i的值,则其循环体将被重复执行_ 次后正常结束。 弓46
得分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.include void main(){ ints1=0,s2=1: for(int i=1;i void main(){ inta[10]={68,79,86,65,46,94,37,78,60,53}: int c=0; for(int i=0;i=60)c++; cout void main(){ inta[3][4]={1,2,7,8},{5,6,11,15},{9,20,3,4}; intm=a[0][0]: for(int i=0;im)m=a]]; cout<<m<<endl; 输出结果: 547
得 分 评卷人 三 、写出下列每个程序运行后的输出结果(每小题 6分,共 30分 ) 1.#include =6;i+十){s1+= ,’+ s2+ endl; s2 = 2.#include=60) c}+; cout<<'c="+ c+ endl; } 输出结果: 3.#include< ostream. h} void main(){ int a[3][4]={{1,2,7,8},{J,6,11,15},{9,20,3,4}}; int m=a[0][0]; for(int i=0;i<3;i++) for(int j=O;j<4;j++) if(a仁i][j]gym) m=a[i][j]; cout+ m+ endl; } 输出结果 :
4.include<iostream.h void main(){ inta=10,b=15; cout<<a<<'<<b<<'; {a*=3; intb=a十20; cout<<a<<'<<b<<''; cout<<a<<<<b<<endl; } 输出结果: 5.include<iostream.h void main(){ inta[8]={6,19,4,12,20,5,18,25}; int p=a; for(p=a;p<a+8;p十+) if(*p<10)cout<<*p<<'; cout<<endl; } 输出结果: 得分 评卷人 四、写出下列每个函数的功能(每小题8分,共24分) 1.bool WB(int a[],int n,int x){ for(int i=0;i<n;i++) if(a]==x)return true; return false; } 函数功能: 548
4.#include<iostream. h} void main(){ int a=10,b=15; cout+ a+ ' '+ b+ ' '; {a‘“3; int b=a+20; cout+ a+ '’+ b+ ' } cout+ a+ ' '+ b+ endl; } 输 出结果 : 5.#include<iostream. h} void main(){ int a仁8]={6,19,4,12,20,5,18,25}; tnt } p= a; for(p=a; p<a-f-8;P++) if(*p<10) cout+ *p< <'’ cout+ endl; } 输 出结果 : 得 分 评卷人 四、写出下列每个函数的功能(每小题 8分 ,共 24分) 1. boot WB(int a仁〕,int n, int x){ for(int i=0 if (a[i] i<n; i十+) 二 二 x) return true; return false } 函数功能 :
2.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>>p->data; } p->next=NULL; return f; 函数功能: 得 分 评卷人 五、按题目要求编写程序(6分) 已知6≤a≤30、15≤b≤36,求出满足不定方程2a十5b=126的全部整数组解。如(13, 20)就是其中的一组解,并按此格式输出每组解。 549
2. int LJ(int a仁」,int n){ int k=0; for(int i=1;ia[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; } 函数功能 : 得 分 评卷人 } 五、按题 目要求编写程序 (6分) 已知 6毛a镇30,15毛b(36,求 出满足不定方程 2a+5b=126的全部整数组解 。如(13 20)就是其中的一组解,并按此格式输出每组解。 549
试卷代号:1075 中央广播电视大学2006一2007学年度第二学期“开放本科”期末考试 数学与应等专业C十十语言程序设计 试题答案及评分标准 (供参考) 2007年7月 一、单选题(每小题2分,共20分)》 1.A 2.D 3.B 4.C 5.A 6.C 7.D 8.A 9.A 10.D 二、填空题(每小题2分,共20分) 1.const 2.(xy*y)/(3*a)+4*b一1(分子中括号可以省略) 3.x<=y|{x==10 4.4 5.DataType 6.0 7.46 8.12 9.8 10.11 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.21,720 /每个数据3分 2.c=7 3.20 4.101530503015 //每个数据占1分,全对6分 5.645 /每个数据占2分,全对6分 550
试卷代号:1075 中央广播电视大学2006-2007学年度第二学期“开放本科”期末考试 数学与应等专业 C-I-+语言程序设计 试题答案及评分标准 (供参考) 2007年 7月 一、单选题(每小题 2分,共20分) 1. A 2. D 3. B 4. C 5. A 6. C 7. D 8. A 9. A 10.D 二、填空题(每小题2分,共 20分) l. const 2. <x* y * y)/(3 * a)-}-4 * b-1(分子中括号可以省略) 3. x<“Y}}x=“10 4. 4 5. DataType 6. 0 7. 46 8. 12 9.8 10. 11 三、写出下列每个程序运行后的输出结果(每小题 6分 ,共 30分 ) l. 21,720 刀每个数据 3分 2. c= 7 3. 20 4. 10 15 30 50 30 15 //每个数据占l分,全对 6分 5. 6 4 5 //每个数据占2分,全对 6分 550
四、写出下列每个函数的功能(每小题8分,共24分) 评分标准:每题与参考答案的叙述含义相同者得8分,否则酌情给分。 1.从数组a中顺序查找值为x的元素,若查找成功则返回真,否则返回假。 2.求出数组a中n个元素的最大值并返回。 3.建立一个具有个结点的链表,每个结点的值依次由键盘输人,该函数返回其表头指 针。 五、按题目要求编写程序(6分) 评分标谁:根据编程的完整程度酌情给分。 #include void main() int a,b; /11分 for(a=6;a<=30;a十十) /12分 for(b=15:b<=36;b++) //3分 if(2*a+5*b==l26)cout<<'('<<a<<','<<b<<')'<<endl: } /16分 551
四、写出下列每个函数的功能(每小题 8分。共24分) 评分标准:每题与参考答案的叙述含义相同者得 8分,否则酌情给分。 1.从数组 a中顺序查找值为 x的元素,若查找成功则返回真,否则返回假。 2.求出数组 a中n个元素的最大值并返回。 3.建立一个具有 n个结点的链表,每个结点的值依次由键盘输人,该函数返回其表头指 针 。 五、按题 目要求编写程序 (6分) 评分标准 :根据编程的完整程度酌情给分 。 #include void main() int a, b; for(a=6;a< =30;a+十 ) for( =15;b< =36;b+ +) if(2*a十5*b==126) cout< < ('+ a+ ','<Gb+ l11分 //2分 //3分 + endl; //6分 551