出自:许昌学院面向对象程序设计

[改错题,10分] 1题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有 条错误语句。 #define N 10 float fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;c<a+n;c++) if(*c>max) { max=*c; b=c-a;} return max; } main() { int a[N],i,max,p=0; cout<<"please enter 10 integers:"; for(i=0;i<N;i++)<>< a=""> cin>>a[i]; m=fun(a,p,N); cout<<"max="<<max<<"position="<p; }
[改错题,10分] 2题目:用起泡法对10个整数从小到大排序。 程序中共有 条错误语句。 void sort(int x,int n) { int i,j,k,t; for(i=0;i<>< p=""> i<n;i++) for(j=0;j<> <n-i;j++) if(x[j]>x[j+1]) { t=x[j];x[j]=x[j+1];x[j+1]=t;} } main() { int i,n,a[100]; cout<<"please input the length of the array:"; cin>>n; for(i=0; i<=n-1;i++) <><>< p=""> cin>>a[i]; sort(a,n); cout<<"output the sorted array:"; for(i=0;i<=n-1;i++) cout<<a[i]<<" "; }
[改错题,10分] 3题目:在一个已按升序排列的数组中插入一个数,插入后,数 组元素仍按升序排列。 程序中共有 条错误语句。 #define N 11 main() { int i,j,t,number,a[N]={1,2,4,6,8,9,12,15,149,156}; cout<<"please enter an integer to insert in the array:"; cin>>number; cout<<"The original array:"; for(i=0;i<N-1;i++) cout<<a[i]; cout<<"\n"; for(i=N-1;i>=0;i--) if(number<=a[i]) a[i]=a[i-1]; else {a[i+1]=number; exit;} if(number<a[0]) a[0]=number; cout<<"The result array:\n"; for(i=0;i<N;i++) cout<<a[i]; cout<<endl; }
[改错题,10分] 4 题目:以下程序的功能是求如下表达式:(注意符号、标点符号、括号用半角) S = 1 + 1/(1+2)+1/(1+2+3)+1/(1+2+3+4)… 程序中共有 条错误语句。 main() { int n; float fun(); cout<<"Please input a number:"; cin>>n; cout<<>< p=""> <fun(n); } fun(int n) { int i,j,t; float s; s=0; for(i=1;i<=n;i++); { t=0; for(j=1;j<=i;j++) t=t+j; s=s+1/t; } return s; }
[改错题,10分] 5题目:下列给定程序中,函数fun的功能是:求1到10的阶乘的和。主函数和fun函数中,各有 个错误. main() { int i; float t,s=0; float fac(int n); for(i=1;i<10;i++) s=fac(i); cout<<>< p=""> <s; } float fac(int n) { int y=1; int i; for(i=1 ;i<=n;i++) y=y*i; return; }
[改错题,10分] 6题目:函数fun的功能是:求1到20的阶乘的和。 程序中共有 条错误语句。 fun() { int n,j; float s=0.0,t; for(n=1;n<=20;n++) { s=1; for(j=1;j<=n;j++) t=t*n; s+t=s; } cout<<"jiecheng"<<>< p=""> <s; } main() { fun(); }
[改错题,10分] 7 题目:函数fun的功能是:根据整型形参m的值,计算如下公式的值。 1 1 1 t = 1 - —— - —— - ... - —— 2x2 3x3 mxm 例如,若m=5,则应输出:0.536389 . ,程序中共有 条错误语句。 double fun(int m) { double y=1.0; int i; for(i=2;i<>< p=""><> y-=1/(i*i); return m; } main() { int n=5; cout<<"the result is "<<fun(n);<>< p=""><> }
[改错题,10分] 8题目:函数fun的功能是:实现交换两个整数的值。例如给a和b 分别输入3和6 ,输出为a=6 b=3 程序中共有 条错误语句。 void fun (int a, b) { int t; t=a; a=b; b=t; } main() { int a,b; cout<<"enter a,b:"); cin>>a>>b; fun(&a,&b); cout<<><>< p=""> <a<<b; }
[改错题,10分] 9题目:函数fun的功能是:计算并输出k以内最大的10个能被13 或17整除的自然数之和。k的值由主函数传入,若k的值 为500,则函数值为4622。 程序中共有 条错误语句。 int fun(int k) { int m=0,mc=0,j; while ((k>=2)||(mc<10)) { if((k%13=0)||(k%17=0)) {m=m+k; mc++;} k++; } return ; } main() { cout<<>< p=""> <fun(500); }
[改错题,10分] 10题目:函数fun的功能是:求出两个非零正整数的最大公约数, 并作为函数值返回。例如,若给num1和num2分别输入49 和21,则输出的最大公约数为7。 程序中有的 个错误. int fun(int a,int b) { int r,t; if(a<>< p=""> { t=a; b=a; a=t; } r=a%b; while(r!=0) { a=b; b=r; r=a/b;} return b;} main() { int num1,num2,a; cin>>num1>>&num2; a=fun(num1,num2); cout<<"the maximum common divisor is "<<>< p=""> }
1、若有如下结构体说明: struct STRU { int a,b;char c: double d; struct STRU *p1,*p2; };请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。 ________t[20];
[填空题,100分] 若有定义int i;int *p=&i;则&*p等价于________ 。
[填空题,100分] 若有以下说明和语句, 则p1-p2的值为________。 int a[10], *p1, *p2; p1=a; p2=&a[5];
[填空题,100分] 在C++语言中,任一语句必定以字符_______结束。
[填空题,100分] break语句不能用于switch语句和_______语句之外的任何其他语句中。
[填空题,100分] char型常量在内存中存放的是_______码值。
[填空题,100分] ”:”在内存中占______ 个字节。
[填空题,100分] 一条复合语句是以_______________作为开始符和结束符的。
[填空题,100分] 函数定义时指定的参数称为形式参数,函数调用时指定的参数称为________。
[填空题,100分] C++源程序文件的扩展名为________。
[填空题,100分] 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。
[填空题,100分] 函数可以嵌套调用,但是不可以嵌套______ 。
[填空题,100分] 函数的返回值是通过函数中的______ 语句获得的。
程序中变量的生存期各不相同,在程序运行前就分配存储空间的变量是______ 。
[填空题,100分] 若用数组名作为函数调用的实参,传递给形参的将是数组的______ 。
[填空题,100分] 不同数据类型的成员构成的构造类型是______ 。
[填空题,100分] 在语句 int fun(float f, int i); 中,变量f和i具有______ 作用域。
[填空题,100分] 当具有块作用域的局部变量与具有文件作用域的全局变量同名时______ 变量优先。
[填空题,100分] 序中变量的生存期各不相同。在程序运行前就分配存储空间的变量是 ______ 。
[填空题,100分] 语言中构成数组的各个元素具有相同的 ______ 。
[填空题,100分] int a[2][3]={{5},{6}}; 则数组元素[]的值为______ 。
[填空题,100分] C++程序设计中,可以将被调用函数中的值带回调用函数的三种方法分别是________、通过全局变量返回|和有通过数据文件返回。
[填空题,100分] 含有纯虚函数的类叫______ 。
[填空题,100分] 运算符重载时函数名由单词_______和运算符组成。
[填空题,50分] 当建立一个新对象时,程序自动调用该对象的_______________函数。
[填空题,50分] 对象是状态和________的封装体。
[填空题,100分] C++中,多态性包含两种________ 和动态 。
[填空题,100分] 继承的方式有 ________ 和多重继承。
[填空题,100分] 定义虚函数所用的关键字是________。
[填空题,100分] 虚拟继承的关键字是________。
[填空题,100分] 定义重载函数时,要从________和参数类型上进行区分。
[填空题,100分] 当一个成员函数被调用时,该成员函数的________指向调用它的对象。
[填空题,100分] 设置虚基类的目的是________。
[填空题,100分] 对虚函数使用基类类型的指针或引用调用,系统使用________联编。
[填空题,100分] 一元运算符作为类成员函数重载时不需要形参;二元运算符作为________重载时需声明其右操作数。
[填空题,100分] 带有纯虚函数的类称为抽象类,它只能作为________来使用。
[填空题,100分] 面向对象程序设计的基本特征是封装 、______ 和多态。
[填空题,100分] 继承的方式有单一继承和______ 。
[填空题,100分] 基类的私有成员在子类中________。
[填空题,100分] C++头程序文件的扩展名为_____________。