
C++语言程序设计》棋报拟试题五 一,填空恩 1,在=n心l邮命令中所包含的头文件,可以是系统定义的头文件,也可以是 定义 的头文件, 2、当不需要函数返回任何值时,则应使用 标识符定义函数类型。 3,执行“cout《“ei”(《“rong”《18<《end1:”语句后得到的输出结果为一 4、在c+语言中,操纵符 表示输出一个换行符。 5,假定一个枚军类型的定义为"enum RA{a,aC,a4,ae】:”,则执行 “cout(”ac="(《ac《endl:”语句得到的输出结果为 6、十进制数28类型为 7、表达式f1oat(25)/4的值为 8、若1=5,y=10,则x!=y的逐辑值为 9、执行“typedef int DataType:”语句后,在使用int定文整型变量的地方都可以使用 米定义整型变量: 10、在switch语句中,每个语句标号所含保留字case后面的表达式必须是 11、存储字符串”a”需要占用存储器的个字节空间。 12、函量被调用时,实参白形参的传送分为引用和 两种传送方式. 13、变量分为全局和局部两种,变量没有赋初值时,其值是不确定的。 14、如果一个函数直接或何接地调用自身,这样的调用被移为 调用。 15,调用系统函数时,要先使用ic1ade命令包含该系统函数的原型语句所在的 文件。 16、假定要访问一个结构x中的由a指针成员所指向的对象。则表示方法为 17、若在类的定复体中只给出了一个成员函数的原型,则在类外给出完整定文时,其函数名 前必须如上 和两个冒号分隔符。 18、在每个成员函数中,隐含的第一个参数的参数名为 二、单选恩 19、设x和y均为bo0l量,则x11y为假的条件是0: 人它们均为真 B其中一个为真 C它们均为假 0其中一个为假
C++语言程序设计》模拟试题五 一、填空题 1、在#include 命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义 的头文件。 2、当不需要函数返回任何值时,则应使用________标识符定义函数类型。 3、执行“cout<<“wei”<<“rong”<<18<<endl;”语句后得到的输出结果为________。 4、在 c++语言中,操纵符________表示输出一个换行符。 5、假定一个枚举类型的定义为“enum RA{ab,ac,ad,ae};”,则执行 “cout<<"ac="<<ac<<endl;”语句得到的输出结果为________。 6、十进制数 28 类型为________。 7、表达式 float(25)/4 的值为________。 8、若 x=5,y=10,则 x!=y 的逻辑值为________。 9、执行“typedef int DataType;”语句后,在使用 int 定义整型变量的地方都可以使用 __________来定义整型变量。 10、在 switch 语句中,每个语句标号所含保留字 case 后面的表达式必须是_______。 11、存储字符串”a”需要占用存储器的________个字节空间。 12、函数被调用时,实参向形参的传送分为引用和________两种传送方式。 13、变量分为全局和局部两种,________变量没有赋初值时,其值是不确定的。 14、如果一个函数直接或间接地调用自身,这样的调用被称为____________调用。 15、调用系统函数时,要先使用#include 命令包含该系统函数的原型语句所在的__________ 文件。 16、假定要访问一个结构 x 中的由 a 指针成员所指向的对象,则表示方法为____________。 17、若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名 前必须加上________和两个冒号分隔符。 18、在每个成员函数中,隐含的第一个参数的参数名为________。 二、单选题 19、设 x 和 y 均为 bool 量,则 x || y 为假的条件是()。 A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假

20,在下列的常值常量定又中,错误的定义语句是(), A.const M10: B.const int M-20; C.const char ch: D.const bool mark=true: 21,若用数组名作为函数调用的实参,传递给形参的是(), L数组的首地址 B数组中第一个元素的值 C数组全部元素的植 数组元素的个数 22、下面的标识符中,0是文件级作用域。 A函数形参 R语句标号 C.外部静态类标识符 几.自动类标识符 23、下面的标识符中。0具有全局级作用域。 A函数形参 B全局变量 C,内部静态变量 心白动变量 24、假定p是一个指向1at型数据的指针,则p+】所指数据的地址比p所指数据的地址大 0字节. Al B.2C.40n8 25、对类对象成员的初始化是通过执行构造函数中的0完成的。 A初始化表 R两数体 C参数表 D.基类表 26、对于类中定义的成员,其隐含访问权限为0。 A.public B.protected C.private D.static 27、在类作用域中能够通过直接使用该类的()成员名进行访间。 A私有 B公用 C保护 D.任何 28、对于一个类的所构函数,其函量名与类名0: A亮全相同 B光全不同 C,只相差一个字符 D无关系 三、量行结果 29. sinclode(iostrean h》 void main([ inta[10]-(12,39,26.41,55,63,72.40,83,95: fmt11=0,12=0: for(int i=0:i<l0:i++) if(a[i]%2-m1)il+;else i2+t: comt<i1(”“<(i2<emd1:
20、在下列的常值常量定义中,错误的定义语句是()。 A. const M=10; B. const int M=20; C. const char ch; D. const bool mark=true; 21、若用数组名作为函数调用的实参,传递给形参的是()。 A.数组的首地址 B.数组中第一个元素的值 C.数组全部元素的值 D.数组元素的个数 22、下面的标识符中,()是文件级作用域。 A.函数形参 B.语句标号 C.外部静态类标识符 D.自动类标识符 23、下面的标识符中,()具有全局级作用域。 A.函数形参 B.全局变量 C.内部静态变量 D.自动变量 24、假定 p 是一个指向 float 型数据的指针,则 p+1 所指数据的地址比 p 所指数据的地址大 ()字节。 A.1 B.2 C.4 D.8 25、对类对象成员的初始化是通过执行构造函数中的()完成的。 A.初始化表 B.函数体 C.参数表 D.基类表 26、对于类中定义的成员,其隐含访问权限为()。 A. public B. protected C. private D. static 27、在类作用域中能够通过直接使用该类的()成员名进行访问。 A.私有 B.公用 C.保护 D.任何 28、对于一个类的析构函数,其函数名与类名()。 A.完全相同 B.完全不同 C.只相差一个字符 D.无关系 三、运行结果 29、 #include void main() { int a[10]={12,39,26,41,55,63,72,40,83,95}; int i1=0, i2=0; for(int i=0;i<10;i++) if(a[i]%2==1) i1++; else i2++; cout<<i1<<" "<<i2<<endl;

参考答案」 64 30. #includeciostrean h> void main()( char a[]="ahedabcabfgacd"; imt11=0,12=0,i=0: while(a[i]) ifal1]-="a)il: if(a[i]=)12+: i+: cout void main( imta[8]-4,812,1620,24.28,32: int *p=a: d的( cout(<””: p+2: I while(pCa+8): cout(<endl: 参考答案: 4122028
} 参考答案: 6 4 30、 #include void main() { char a[]="abcdabcabfgacd"; int i1=0, i2=0, i=0; while(a[i]) { if(a[i]=="a") i1++; if(a[i]=="b") i2++; i++; } cout void main() { int a[8]={4,8,12,16,20,24,28,32}; int *p=a; do { cout<<*p<<" "; p+=2; } while(p<a+8); cout<<endl; } 参考答案: 4 12 20 28

32. #include intB(inta,intn) fnt8=1日 for(int i=0;i class A int*a日 public: A(int x) a"new int (x); cout<"Constructor!"<K*accendl: 1 A()(delete a:cout<<"Destructor!"<Kendl:) : void main( Ax(3)。p: p=new A(5) delete p:
32、 #include int LB(int *a, int n) { int s=1; for(int i=0;i class A { int* a; public: A(int x) { a=new int(x); cout<<"Constructor!"<<*a<<endl; } ~A() {delete a; cout<<"Destructor!"<<endl;} }; void main() { A x(3), *p; p=new A(5); delete p;

参考答案: Constructor!3 Constructor!5 Destructor! Destructor! 四、函数功能 34 template void VE(Type a[].Type b[].int n) for(int i-0;i(n:i+t) b(n-i-1]=a[i]: 参考答案: 模板两数,把数组a的每个元素按逆序放入数组b中, 35、 #includeciostrean h> #include #inclode const int N=10: int fr(intx,inty》【 int x: comt《x>x: if(xty=z)return 1:else return 0: void main( int a,b.c=0; srand(tie(0)):/初始化面机数序列
} 参考答案: Constructor!3 Constructor!5 Destructor! Destructor! 四、函数功能 34、 template void WE(Type a[], Type b[], int n) { for(int i=0;i #include #include const int N=10; int ff(int x, int y) { int z; cout>z; if(x+y==z) return 1; else return 0; } void main() { int a,b,c=0; srand(time(0));//初始化随机数序列

far(inti-0:i:it+)【 a=rand020+1:/and0函数产生0-32767之间的一个随机数 h"rand()$20+1: c+=ff(a,b): cout(《得分:”(c*10(istreank istr,Worker&x)( co如t(《“请输入一个职工记录:姓名、年龄、工资“(ndl: istr>>x.nane)>x.age)>x.pay: return istr: 假定结构类型orker的定义如下: struct Worker【 char name[15]:/姓名 int age:/年龄 float pay:/工货 : 参考答案: 重载提取操作符,用于从输入蓬中输入一个kr类型的记录到x中。 37、 #include include(fstrean h> void JC(char*fname,int m) //可巴以ne所指字符串作为文件标识符的文件称为fe文件
for(int i=0;i>(istream& istr, Worker& x) { cout>x.name>>x.age>>x.pay; return istr; } 假定结构类型 Worker 的定义如下: struct Worker { char name[15];//姓名 int age;//年龄 float pay;//工资 }; 参考答案: 重载提取操作符,用于从输入流中输入一个 Worker 类型的记录到 x 中。 37、 #include #include void JC(char* fname, int n) //可把以 fname 所指字符串作为文件标识符的文件称为 fname 文件 {

ofstream fout (fnane。ios:out|1os:binary): int x: for (int i=0:i>x: fout.write((char*)&x,sizeof(x)): 1 fout.close(); 参考答案:向二进制文件ae中输出由健盘输入的n个整数。 五、输程 38、编号一个主函数,已知6≤a≤30,15写b≤36,求出满足不定方程2a+5b-126的全部整 数组解。如(13,20)纸是其中的一组解
ofstream fout(fname, ios::out | ios::binary); int x; for(int i=0;i>x; fout.write((char*)&x, sizeof(x)); } fout.close(); } 参考答案:向二进制文件 fname 中输出由键盘输入的 n 个整数。 五、编程 38、 编写一个主函数,已知 6≤a≤30,15≤b≤36,求出满足不定方程 2a+5b=126 的全部整 数组解。如(13,20)就是其中的一组解