二级C 上机题库含答案

合集下载

计算机二级C语言上机试题库和答案解析(100套)

计算机二级C语言上机试题库和答案解析(100套)

完美WORD格式计算机二级 c 语言上机题库及答案内部资料,切勿外传!.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include<stdio.h>longfun(int n){if ( 1 )return (n*fun( 2));return 3;}main(){printf("10!=%ld\n", fun(10));}第 1 处填空:n>1 或 1<n第 2 处填空:n-1第 3 处填空:1 或 11 或 1L改错题下列给定程序的功能是:读入一个整数 K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数 2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(intn);{int i,m;m =1;/********found********/for (i=2; i<n;i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %dis(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第 1 处:Isprime(int n);应改为Isprime(int n)第 2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

计算机二级C语言考试上机试题及答案

计算机二级C语言考试上机试题及答案

xx年计算机二级C语言考试上机试题及答案1.算法的空间复杂度是指( )。

A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。

A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。

A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。

A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。

A.可重用性差B.平安性差C.非持久性D.冗余性6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。

A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念7.对如下二叉树进展后序遍历的结果为( )。

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA8.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。

A.模块间的关系B.系统构造部件转换成软件的过程描述C.软件层次构造D.软件开发过程9.两个或两个以上模块之间关联的严密程度称为( )。

A.耦合度B.内聚度C.复杂度D.数据传输特性10.以下描述错误的选项是( )。

A.继承分为多重继承和单继承B.对象之间的通信靠传递消息来实现C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征D.类是具有共同属性、共同方法的对象的集合11.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。

计算机二级c语言试题题库及答案

计算机二级c语言试题题库及答案

计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。

A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。

A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。

A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。

A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。

答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。

答案:return3. 在C语言中,用于计算字符串长度的函数是____。

答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。

答案:'\0'5. 当使用指针变量时,必须先对其进行____。

答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。

```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。

计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案

计算机二级C上机考试题库及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[] = "Hello, World!";B. char str[] = {'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '\0'};C. char str[] = {"Hello, World!"};D. char str[] = "Hello, World!";答案:A2. 下列哪个函数用于将字符串s1复制到s2中?A. strcat(s1, s2);B. strcpy(s1, s2);C. strcmp(s1, s2);D. strncpy(s1, s2, n);答案:B3. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A4. 如果一个变量被声明为static int,那么这个变量的生命周期是?A. 只在函数调用期间B. 程序运行期间C. 只在程序启动时D. 只在程序结束时答案:B5. 在C语言中,以下哪个运算符用于计算两个整数的差?A. +B. -C. *D. /答案:B6. 以下哪个选项不是C语言中合法的标识符?A. _myVarB. my_varC. 2ndVarD. var$name答案:C7. 在C语言中,以下哪个选项是正确的数组定义方式?A. int arr[5] = {1, 2, 3, 4, 5};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3};D. int arr[] = {1, 2, 3, 4};答案:A8. 以下哪个选项是正确的C语言注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */答案:A9. 在C语言中,以下哪个选项是正确的多行字符串定义方式?A. char str[] = "Line1\nLine2";B. char str[] = 'Line1\nLine2';C. char str[] = "Line1\nLine2";D. char str[] = "Line1\nLine2";答案:A10. 在C语言中,以下哪个选项是正确的结构体定义方式?A. struct Student {int id;char name[50];};B. struct Student {int id;char name[];};C. struct Student {int id;char name[50] = "John Doe";};D. struct Student {int id;char name[];};答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以对变量进行自增操作。

计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案

计算机二级c语言考试题库及答案1. 下面哪个选项不能正确定义整型变量a?A. int a;B. a = 10;C. a = 10.2;D. int a = 10;答案:C2. 在C语言中,用于判断两个值是否相等的运算符是?A. ==B. =C. !=D. >答案:A3. 下面哪个语句可以将字符串"Hello World"输出到屏幕上?A. printf("Hello World");B. print("Hello World");C. console.log("Hello World");D. System.out.println("Hello World");4. 下面哪个函数用于从键盘接收用户的输入?A. scanfB. printfC. getsD. puts答案:A5. 下面哪个循环结构可以在满足条件的情况下重复执行一段代码块?A. for循环B. if语句C. switch语句D. do-while循环答案:D6. 下面哪个数据类型可以存储小数?A. intB. charC. doubleD. bool7. 下面哪个运算符用于获取变量的地址?A. &B. *C. #D. $答案:A8. 下面哪个关键字用于定义用户自定义函数?A. voidB. returnC. mainD. function答案:A9. 下面哪个选项是C语言的注释符号?A. //B. #C. *D. ;10. 在C语言中,用于将代码忽略掉的预处理指令是?A. includeB. defineC. ifD. pragma答案:B通过以上题目,你可以了解到一些关于C语言的基础知识和常见问题。

希望这些题目对你备考计算机二级C语言考试有所帮助。

祝你考试顺利!。

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。

国家计算机二级考试上机题库

二级C_第1套上机题一、程序填空题下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。

ss所指字符串数组中共有M 个字符串,且串长小于N。

请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序在文件BLANK1.C中。

不得增行或删行,也不得更改程序的结构!【参考答案】(1) M(2) <(3) k二、程序修改题下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!【参考答案】(1)if(( tt[i]>='a')&&( tt[i] <= 'z'))(2)tt[i]-=32;三、程序设计题编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:46891012141516。

注意:部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

【参考答案】void fun( int m, int *k, int xx[] ){int i,j,n=0;for(i=4;i<m;i++)/*找出大于1小于整数m的非素数*/{ for(j=2;j<i;j++)if(i%j==0) break;if(j<i) xx[n++]=i;}*k=n;/*返回非素数的个数*/}二级C_第2套上机题一、程序填空题函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。

c全国计算机二级考试真题及答案

c全国计算机二级考试真题及答案一、选择题(每题1分,共20分)1. 在计算机中,二进制数1010转换为十进制数是多少?A. 8B. 10C. 12D. 14答案:B2. 下列哪个选项不是计算机病毒的特点?A. 破坏性B. 传染性C. 可预见性D. 隐蔽性答案:C3. 在计算机系统中,外存是指?A. 内存B. 硬盘C. 软盘D. 光盘答案:B4. 以下哪个选项不是计算机操作系统的功能?A. 进程管理B. 文件管理C. 设备管理D. 网络通信5. 在Word中,以下哪个功能可以调整文档中的文字大小?A. 字体B. 段落C. 样式D. 插入答案:A6. Excel中,以下哪个函数用于计算一组数值的平均值?A. SUMB. AVERAGEC. COUNTD. MAX答案:B7. 在PowerPoint中,以下哪个视图模式用于编辑幻灯片内容?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:A8. 以下哪个选项不是计算机网络的拓扑结构?A. 星型B. 环型C. 总线型D. 树型答案:D9. 在数据库管理系统中,以下哪个操作用于查询数据?B. INSERTC. UPDATED. DELETE答案:A10. 以下哪个选项是计算机硬件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:C11. 在计算机中,以下哪个单位用于表示存储容量?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:A12. 以下哪个选项不是计算机病毒的传播途径?A. 电子邮件B. 移动存储设备C. 正规软件下载D. 网络下载答案:C13. 在计算机系统中,以下哪个选项不是输入设备?A. 键盘B. 鼠标C. 显示器D. 扫描仪答案:C14. 在Word中,以下哪个功能可以设置文档的页边距?A. 页面布局B. 插入C. 引用D. 视图答案:A15. Excel中,以下哪个函数用于计算一组数值的总和?A. AVERAGEB. SUMC. COUNTD. MAX答案:B16. 在PowerPoint中,以下哪个视图模式用于查看幻灯片的布局?A. 普通视图B. 幻灯片浏览视图C. 幻灯片放映视图D. 大纲视图答案:B17. 以下哪个选项是计算机网络的功能?A. 数据存储B. 数据处理C. 资源共享D. 信息发布答案:C18. 在数据库管理系统中,以下哪个操作用于插入数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:B19. 以下哪个选项是计算机软件的组成部分?A. 操作系统B. 编译器C. 中央处理器D. 编程语言答案:A20. 在计算机中,以下哪个单位用于表示数据传输速率?A. 字节(Byte)B. 位(Bit)C. 赫兹(Hz)D. 伏特(V)答案:B结束语:以上是全国计算机二级考试的部分真题及答案,希望对各位考生的复习有所帮助。

计算机二级C语言上机题库及答案(100套)

~计算机二级c 语言上机题库及答案内部资料,切勿外传!.第1 套填空题请补充FUN 函数,FUN 函数的功能是求10 的阶乘。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在fun 函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>long fun(int n){if ( 1 )return (n*fun( 2 ));return 3 ;}main(){printf("10!=%ld\n", fun(10));}第1 处填空:n>1 或1<n第2 处填空:n-1第3 处填空:1 或11 或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1 处:Isprime(int n);应改为Isprime(int n)第2 处:if !(n%i)应该为if(!(n%i))编程题M 个人的成绩存放在score 数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below 所指的数组中。

计算机二级C上机题库答案分类汇总(可打印版)

a与b合并成c85 填空 STYPE FILE fp改错for(i=0;i<=sl;i++) t[sl*2]='\0';将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。

4152 *c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10;56 填空 *fw str str改错void fun(long s,long *t) sl=sl*10; 将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

1524 *c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;22 填空 fp fclose(fp) fname改错 for(i=j+1;i<n;i++) p=i; 将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。

2514 *c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;33 填空”r” fs ft改错 if(d%2==0) s/=10; 将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的百位和个位上。

5142 *c=(a%10)*1000+(b/10)*100+(a/10)*10+b%10;83 填空 0 x t++改错 int i,sl; t[i]=s[sl-i-1]; 将a数的十位和个位数依次放在c数的百位和个位上,b数的十位和个位数依次放在c数的千位和十位上。

1425 *c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;80 填空 1 s i*10改错 int fun(int n,int xx[][M])printf("%d",xx[i][j]); 将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的个位和百位上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机等级考试二级C++模拟试题上机部分1一、改错题使用VC6打开考生文件夹下的工程kt6_1,此工程包含一个源程序文件kt6_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:Constructor2Constructor1i=0i=10Destructor源程序文件kt6_1.cpp清单如下:#includeclassCSample{inti;public:CSample(){cout<<"Constructor1"<CSample(intval){cout<<"Constructor2"<~CSample(){cout<<"Destructor"<voiddisp();};/**********found**********/V oid disp(){cout<<"i="<voidmain(){CSample*a,b(10);/**********found**********/a->disp();/**********found**********/b->disp();}【参考答案】(1)将void disp()改为:void CSample::disp()(2)将a->disp();改为:a=new CSample; a->disp();(3)将b->disp();改为:b.disp();【试题解析】(1)主要考查类成员函数定义格式的熟练掌握,对于类体外函数的实现,应该使用作用域符"::",按照返回值类型类名::函数名(参数列表)的形式进行说明;(2)主要考查对动态存储分配的掌握,根据前面的定义,a是一个指针类型的变量,指向一个对象,但是并没有被初始化,此时a中的数据无任何意义,应该使用动态存储分配new生成一个新的对象,并将返回的指针赋值给a;(3)主要考查对象指针与对象在调用成员函数时格式的不同,b是一个对象变量,使用b调用成员函数应该用"."运算符。

二、简单应用题编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。

xn+1=cos(xn)迭代步骤如下:(1)取x1初值为0.0。

(2)x0=x1,把x1的值赋给x0。

(3)x1=cos(x0),求出一个新的x1。

(4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。

(5)所求x1就是方程cos(x)-x=0的一个实根,做为函数值返回。

程序输出结果Root=0.739085。

注意:部分源程序已存在文件kt6_2.cpp中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun 的花括号中填入所编写的若干语句。

文件kt6_2的内容如下:#include#include#includefloatfun(){}voidmain(){cout<<"Root="<【参考答案】float fun(){float x1=0.0,x0;do{ x0=x1;x1=cos(x0);}while(fabs(x0-x1)>=1e-6);return x1;}【试题解析】解答本题的关键之处在于看清题中所给的“迭代步骤”,同时要理解xn+1=cosxn通式的含义,要考虑到x1的初值为0.0。

三、综合应用题使用VC6打开考生文件夹下的工程kt6_3,此工程包含一个源程序文件kt6_3.cpp,其中定义了用于表示考生的类Student,请按要求完成下列操作,将程序补充完整。

(1)定义私有数据成员code、english分别用于表示考生的编号、英语成绩、它们都是int型的数据。

请在注释“//**1**”之后添加适当的语句。

(2)完成成员函数voidStudent::inputinformation()的定义,该函数用于用户输入一个考生对象的信息,输入格式如下所示:输入编号:英语成绩:计算机成绩:请在注释“//**2**”之后添加适当的语句。

(3)利用已实现的类Student的成员函数,完成函数voidfirstname(Student*A[],intnum)的定义,该函数根据考生信息A[],输出num个考生中总分最高者的编号及其相应的总分,在此不考虑总分相同的情况。

请在注释“//**3**”之后添加适当的语句。

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件kt6_3.cpp清单如下:#includeclassStudent{//**1**intcomputer;inttotal;public:voidgetinformation(); voidcomputesum(); intgetcode(); intgettotalscore();~Student();}; voidStudent::getinformation() {//**2**cout<<"英语成绩:"; cin>>english;cout<<"计算机成绩:"; cin>>computer;} voidStudent::computesum() {total=english+computer; cout<<"编号"< intStudent::getcode() {returncode;} intStudent::gettotalscore() {returntotal;}voidfirstname(Student*A[],intnum) {//**3**tempsum=(*A[0]).gettotalscore();for(inti=1;i{if(((*A[i]).gettotalscore())>tempsum) {tempcode=(*A[i]).getcode(); tempsum=(*A[i]).gettotalscore();}}cout<<"总分最高者--"<}voidmain(){Student*A[3];inti,n=3;for(i=0;i{A[i]=newStudent;A[i]->getinformation();}for(i=0;i{A[i]->computesum();}firstname(A,3);}【参考答案】(1)int code;int english;(2)cout<<"输入编号:";cin>>code;(3)int tempcode,tempsum;tempcode=(*A[0]).getcode();【试题解析】本题是对C++程序设计的综合考查,其设计类的成员及成员函数的定义与调用,数据的输入输出,for循环语句,if条件判断语句等多个知识点,其中(3)中为指针数组的使用,指针数组是一组指针,每一个成员都按照指针的操作规则,但是整个访问规则仍然使用数组下标方式,如A[0]指的是第一个指针,而* A[0]是取出第一个指针指向的内容。

2一、改错题使用VC6打开考生文件夹下的工程kt7_1,此工程包含一个源程序文件kt7_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:Constructor1Constructor1Constructor1DestructorConstructor2Destructorx=0x=5DestructorDestructor源程序文件kt21_1.cpp清单如下:#includeclassB{intx;public:B(){x=0;cout<<"Constructor1"<<ENDL;}< p>B(inti){x=i;cout<<"Constructor2"<<ENDL;}< p>~B(){cout<<"Destructor"<<ENDL;}< p>/**********found**********/~B(inti){cout<<I<<"BEDESTRUCTOR"<<ENDL;}< p> voidprint(){cout<<"x="<<X<<ENDL;}};< p> voidmain(){B*ptr;ptr=newB[2];/**********found**********/ptr[0]=B(0);ptr[1]=B(5);/**********found**********/for(inti=0;i<2;)ptr[i].print();delete[]ptr;}【参考答案】(1)将~B(int i){cout<<I<<" p be Destructor?<<endl;}删除<>(2)将ptr[0]=B(0);改为:ptr[0]=B();(3)将for (int i=0;i<2;)改为:for(int i=0;i<2;i++)【试题解析】本题主要考查对文件相关操作的熟练程度。

首先定义文件流类的变量,然后使用该对象的open方法打开一个文件,接着使用while 循环和getch方法每次读入一个字符并统计字符个数,最后使用close 方法关闭文件,返回i值。

二、简单应用题编写一个函数intcharnum(charfn[10]),该函数以只读方式打开文件fn,,通过统计,返回文件中字符的个数,请使用while循环实现计数功能。

注意:部分源程序已存在文件kt7_2.cpp中。

请勿修改主函数main和其他函数中的任何内容,仅在函数charnum的花括号中填写若干语句。

文件kt7_2.cpp的内容如下:#include#include#includeintcharnum(charfn[10]);voidmain(){intnum;num=charnum("abc.txt");cout<<"num="<<NUM<<ENDL;}< p>intcharnum(charfn[10]){}【参考答案】int charnum(char fn[10]){fstream file;file.open(fn,ios::in);if(!file){cout<<"abc.txt can't open"<<ENDL;< p>abort();}char ch;int i=0;while(!file.eof()){file.get(ch);i++;}file.close();return i-1;}【试题解析】本题主要考查对文件相关操作的熟练程度。

相关文档
最新文档