计算机二级c++上机考试题库

合集下载

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。

第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。

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

第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。

例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。

/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。

请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

函数fun中给出的语句仅供参考。

void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。

例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。

计算机二级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之间的关系是( )。

2020年9月全国计算机等级考试二级C语言上机题库(共60套全)

2020年9月全国计算机等级考试二级C语言上机题库(共60套全)

2020年9月全国计算机等级考试二级C语言上机题库(共60套全)第一套1 程序填空人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。

函数fun的功能是:找出指定出生年份的人员,将其数据放在形参k所指出的数组中,由主函数输出,同时由函数值返回满足指定条件的人数。

第1处if (std[i].year==year)第2处k[n++]=std[i];第3处return (n);1程序修改给定程序MODI1.C中函数fun的功能是:读入一个整数k(2≤k≤10000)打印它的所有质因子(即所有为素数的因子)。

/**found**/IsPrime (int n)/**found**/if (!(n%i))2程序设计已知学生的记录由学号和学习成绩构成,N名学生的数据已存入结构体数组a中。

请编写给函数fun,函数的功能是:找出成绩最高的学生的记录,通过形参指针传回主函数(规定只有一个最高分),已给出函数的首部,请完成函数。

fun(STU a[],STU *s){int i, max = a[0]. s, j=0;for (i=1; i<N;i++){ if (max<a [i].s) {j=i;max =a[i].s;}*s=a[j];}第二套1程序填空给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。

例如:若N=3有下列矩阵:1 2 34 5 67 8 9交换后:3 2 14 5 69 8 7第1处void fun (int t [] [N], int n)第2处for (i=0; i<n; i++)第3处t [i] [n-i-1]=s;2 程序修改由N个有序整数组成的数列已放在一维数组中,给定程序MODI1.C中函数fun的功能是:利用折半查找算法查找整数m在数组中的位置。

若找到,返回其下标值;反之,返回-1.折半查找的基本算法是:每次查找前先确定数组中待查的范围:low 和high(low﹤high),然后把m的值大于中间位置元素中的值,则下一次的查找范围落在中间位置之前的元素中。

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。

下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。

(1)一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、c、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。

A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA(2)下列叙述中正确的是( )。

A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.循环队列中元素的个数是由队头指针和队尾指针共同决定的'(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。

A.0(n)B.D(n2)C.O(1092n)D.0(nl092n)(4)下列叙述中正确的是( )。

A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是( )。

A.控制流B.事件驱动C.模块调用D.数据流(6)在软件开发中,需求分析阶段可以使用的工具是( )。

A.N—s图B.DFD图C.PAD图D.程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是( )。

A.一致性B.分类性C.多态性D.标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。

A.一对一B.一对多C.多对一D.多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。

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

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

计算机二级C上机考试题库及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x12B. 0.123C. 1.2e3D. 0b1010答案:A2. 若有以下定义:```cint a=1, b=2, c;```则执行语句 `c = a + b;` 后,变量 `c` 的值是多少?A. 0B. 1C. 3D. 4答案:C3. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. unionC. staticD. void答案:D二、填空题1. 在C语言中,`printf` 函数用于输出,其对应的输入函数是________ 。

答案:scanf2. 若定义 `char str[10] = "Hello";`,则 `str` 数组的第7个元素是 ________ 。

答案:\03. 在C语言中,声明一个指向整型的指针变量 `p`,其正确的声明方式是 ________ 。

答案:int *p;三、编程题1. 编写一个C程序,计算并输出以下数列的前10项之和:1, 1/2, 1/3, 1/4, ...```c#include <stdio.h>int main() {double sum = 0.0;for (int i = 1; i <= 10; i++) {sum += 1.0 / i;}printf("The sum of the series is: %f\n", sum);return 0;}```2. 给定一个字符串,编写一个C程序,将字符串中的所有小写字母转换为大写字母。

```c#include <stdio.h>int main() {char str[] = "Hello, World!";for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'a' && str[i] <= 'z') {str[i] -= 'a' - 'A';}}printf("%s\n", str);return 0;}```结束语:以上是计算机二级C上机考试题库及答案的部分内容,希望对您的学习和复习有所帮助。

计算机二级c 上机考试题库80题答案

计算机二级c  上机考试题库80题答案

第1套一、填空题给定程序的功能是求1/4的圆周长。

函数通过形参得到圆的直径,函数返回1/4的圆周长(圆周长公式为:L=Πd,在程序中定义的变量名要与公式的变量相同)。

例如:输入圆的直径值:19.527,输出为:15.336457请勿改动主函数main与其他函数中的任何内容,仅在横线上填写所需的若干表达式或语句。

#include<stdio.h>double fun(double d){return 3.14159*d/4.0;}main(){double z;printf("Input the d of the round:");scanf("%lf",&z);printf("L=%lf\n",fun(z));}二、改错题下列给定程序中函数fun的功能是:计算正整数m的各位上的数字之积。

例如,若输入202,则输出应该是0。

请修改程序中的错误,得出正确的结果注意:不要改动main函数,不能增行或删行,也不能更改程序的结构#include<stdio.h>#include<conio.h>long fun(long n){long r=1;do{r*=n%10;n/=10;}while(n);return(r);}main(){long m;printf("\nplease enter a number:");scanf("%ld",&m);printf("\n%ld\n",fun(m));}三、编程题请编写一个函数fun,它的功能是:求出1到m之内(含m)能被7或11整初的所有整数放在数组b中,通过n返回这些数的个数。

例如,若传送给m的值为20,则程序输出7 11 14。

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

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

计算机二级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 所指的数组中。

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。

第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。

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

第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。

例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。

/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。

请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

函数fun中给出的语句仅供参考。

void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。

例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。

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

计算机二级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数的个位和百位上。

计算机等级二级C语言上机考试题库

计算机等级二级C语言上机考试题库

1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。

例如,有9个正整数:1 5 7 23 87 5 8 21 45按升序排列时的中间数为:8处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!#include#define N 9int fun(int x[]){ int i,j,k,t,mid,b[N];for(i=0;i<N;I++)&NBSP;B[I]=X[I];for(i=0;i<=N/2;i++){ k=i;for(j=i+1;j<N;J++)&NBSP;IF(B[K]>b[j]) k=j;if(k != i ){/**********found**********/t=b[i]; b[i]=___1___; b[k]=t;}}/**********found**********/mid=b[___2___];for(i=0; i<N;&NBSP;I++)/**********found**********/if(x[i] ___3___ mid) x[i]=mid;return mid;}main(){ int i, x[N]={1,5,7,23,87,5,8,21,45};for(i=0; i<N;&NBSP;I++)&NBSP;&NBSP;PRINTF("%D&NBSP;",X[I]);printf("\nThe mid data is: %d\n",fun(x));for(i=0; i<N;&NBSP;I++)&NBSP;&NBSP;PRINTF("%D&NBSP;",X[I]);printf("\n");}2、给定程序中,函数fun的功能是建立一个N×N的矩阵。

全国计算机二级c语言题库

全国计算机二级c语言题库

第一章一、选择题1.对下列二叉树进行中序遍历的结果是( )。

A.ACBDFEGB.ACBDFGEC.ABDCGEFD.FCADBEG2.按照"后进先出"原则组织数据的数据结构是( )。

A.队列B.栈C.双向链表D.二叉树3.下列叙述中正确的是()。

A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率4.下面选项中不属于面向对象程序设计特征的是()。

A.继承性B.多态性C.类比性D.封装性5.下列叙述中正确的是()。

A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令6.下列描述中正确的是()。

A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题7.在软件设计中,不属于过程设计工具的是()。

A.PDL(过程设计语言)B.PAD图C.N-S图D.DFD图8.数据库设计的4个阶段是:需求分析、概念设计、逻辑设计和()。

A.编码设计B.测试阶段C.运行阶段D.物理设计9.数据库技术的根本目标是要解决数据的()。

A.存储问题B.共享问题C.安全问题D.保护问题10.数据库独立性是数据库技术的重要特点之一。

所谓数据独立性是指()。

A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上3种说法都不对11.下列关于栈的叙述正确的是()。

A.栈是非线性结构B.栈是一种树状结构C.栈具有"先进先出"的特征D.栈具有"后进先出"的特征12.结构化程序设计所规定的三种基本控制结构是()。

浙江省计算机等级二级考试C语言机考题库

浙江省计算机等级二级考试C语言机考题库

浙江省计算机等级二级考试C语言机考题库二级考试(C语言)上机部分试题1.三个数比较大小。

输入三个整数,按由大到小的顺序输出这三个数。

#includevoid swap(int *pa,int *pb){ /*交换两个数的位置*/int temp; temp = *pa; *pa = *pb; *pb = temp; } void main() { int a,b,c,temp;scanf("%d%d%d",&a,&b,&c);if(a>b) swap(&a,&b);if(b>c) swap(&b,&c);if(a>b)swap(&a,&b);printf("%d,%d,%d",a,b,c); }2.表达式求和。

将计算结果以格式“%。

6f”写入到考生文件夹中#include #includevoid main(){ FILE *fp;float n=1,t=1,pi=0;int i;i=1;while(fabs(t)>=1e-6){ pi=pi+t; i=-i; n=n+2; t=i/n; }fp=fopen("Design1.dat","w");fprintf(fp,"%.6f",4*pi);fclose(fp); }运行结果:3.1415943.字母后移循环输出。

输入的一个小写字母,将字母循环后移5个位置后输出。

#includevoid main(){ char c; c=getchar();If(c>='a' && c<'v')c=c+5;elseif (c>='v' && c<='z')c=c-21;putchar(c); }4.求满足条件的数。

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

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

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。

答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText 和WriteText实现。

答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。

答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

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

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

1.填空给定程序的功能是调用fun函数建立班级通讯录。

通讯录中记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。

请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。

例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。

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

注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。

全国计算机等级考试二级c语言上机题库

全国计算机等级考试二级c语言上机题库

全国计算机等级考试二级c语言上机题库【例1】给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

例如,输入一个数:27638496,新的数:为739。

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

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!给定源程序:#includevoidfun(unsignedlong*n){unsignedlongx=0,i;intt;i=1;while(*n){t=*n%__1__;if(t%2!=__2__){x=x+t*i;i=i*10;}*n=*n/10;}*n=__3__;}main(){unsignedlongn=-1;while(n>99999999||n<0){printf("Pleaseinput(0fun(&n);printf("\Theresultis:%ld\",n);}解题思路:第一处:t是通过取模的方式来得到*n的个位数字,所以应填:10。

第二处:判断是否是奇数,所以应填:0。

第三处:最后通形参n来返回新数x,所以应填:x。

给定程序MODI1.C中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

【例2】请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:#includedoublefun(intn){doubleresult=1.0;ifn==0return1.0;while(n>1&&n<170)result*=n--returnresult;}main(){intn;printf("InputN:");scanf("%d",&n);printf("\\%d!=%lf\\",n,fun(n));}解题思路:第一处:条件语句书写格式错误,应改为:if(n==0)。

全国计算机二级C上机题库含答案

全国计算机二级C上机题库含答案

计算机等级考试二级C++模拟试题上机部分一、改错题使用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**********/voiddisp(){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 调用成员函数应该用"."运算符。

全国二级考试计算机-二级C上机考试题库

全国二级考试计算机-二级C上机考试题库

类型一:调整一个数的个、十、百、千位1.请编写函数fun,其功能是:将两个两位数的正整数2.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是将a、b合并形成一个整数放在c中。

合并的方式是将a数的十位和个位数依次放在c数的千位和十位上,b a数的十位和个位数依次放在c数的个位和百位上,b 数的十位和个位数依次放在c数的百位和个位上。

数的十位和个位数依次放在C数的千位和十位上。

例如,当a=45,b=12,调用该函数后C=4152。

例如,当a=45,b=12,调用该函数后C=1524。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10); *c=(b/10)*1000+(a%10)*100+(b%10)*10+(a/10);填空:STYPE FILE Fp 填空:*fw str str改错:for( i=0; i<=sl; i ++) 把s后字母改为小写L 改错:void fun (1 ong s,l ong *t)t[2*sl] = '\0'; sl=sl*10;3.请编写函数fun,其功能是:将两个两位数的正整数4.请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。

合并的方式是将a、b合并形成一个整数放在C中。

合并的方式是将a数的十位和个位数依次放在c数的个位和百位上,b a数的十位和个位数依次放在C数的十位和千位上,b 数的十位和个位数依次放在c数的十位和千位上。

数的十位和个位数依次放在C数的百位和个位上。

例如,当a=45,b=12,调用该函数后C=2514。

例如,当a=45,b=12,调用该函数后C=5142。

*c=(b%10)*1000+(a%10)*100+(b/10)*10+(a/10); *c=(a%10)*1000+(b/10)*100+(a/10)*10+(b%10);填空:fp fclose(fp) fname 填空:"r" fs ft改错:for ( i=j+1; i<=n_1 ; i++ ) 改错:if (d%2==0)p=i; s /= 10;5.请编写函数fun,其功能是:将两个两位数的正整数6.请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。

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

所属语言:C++试卷总分:200分共有题型:5种一、填空共20题(共计20分)第1题(1.0分)假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是【1】.答案:=======(答案1)=======8第2题(1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组的元素中,数值最大的元素的下标值是【1】. 答案:=======(答案1)=======2第3题(1.0分)下面程序段的输出结果是【1】.int a=12; a=a&0377;pritnf("%o\n",a);答案:=======(答案1)=======14第4题(1.0分)若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第5题(1.0分)将数组a的首地址赋给指针变量p的语句是【1】. 答案:=======(答案1)=======p=a;第6题(1.0分)C语言把文件看作是一个【1】的序列.答案:=======(答案1)=======字符=========或=========字节第7题(1.0分)静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是在【2】时进行的.答案:=======(答案1)=======编译=======(答案2)=======函数调用第8题(1.0分)若有定义:int a[3][2]={2,4,6,8,10,12};,则*(a[1]+1)的值是【1】.答案:=======(答案1)=======8第9题(1.0分)C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算.答案:======(答案1)=======地址第10题(1.0分)int x=2;z=x++-1; 则x的值为【1】.答案:=======(答案1)=======3第11题(1.0分)若所用变量都已正确定义,请填写以下程序段的输出结果【1】.for(i=1;i<=5;i++);printf("OK\n");答案:=======(答案1)=======OK第12题(1.0分)feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为【1】,否则为【2】.答案:=======(答案1)=======非0值======(答案2)=======第13题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:=======(答案1)=======void第14题(1.0分)调用fopen 函数打开一文本文件,在"使用方式"这一项中,为输出而打开需填入【1】.答案:=======(答案1)=======w=========或=========w+第15题(1.0分)顺序结构存储方法是把逻辑上相邻的结点存储在物理位置【1】的存储单元中。

答案:=======(答案1)=======相邻第16题(1.0分)一个类可以从直接或间接的祖先中继承所有属性和方法。

采用这个方法提高了软件的【1】。

=======(答案1)=======可重用性第17题(1.0分)C++中封装性、继承性和【1】是面向对象程序设计的三个主要性质。

答案:=======(答案1)=======多态性第18题(1.0分)C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【1】方式。

=======(答案1)=======传地址第19题(1.0分)设i,j,k均为int型变量,则执行完for(i=0,j=10;j<=j;i++,j--)k=i+j;语句后,K的值为【1】。

答案:=======(答案1)=======10第20题(1.0分)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。

答案:=======(答案1)=======45二、判断共20题(共计20分)第1题(1.0分)用fopen("file","r+");打开的文件"file"可以进行修改。

答案:Y第2题(1.0分)int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。

答案:N第3题(1.0分)若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第4题(1.0分)char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。

答案:N第5题(1.0分)x*=y+8 等价于x=x*(y+8)。

答案:Y第6题(1.0分)如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个。

答案:N第7题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值。

答案:N第8题(1.0分)如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第9题(1.0分)一个include 命令可以指定多个被包含的文件。

答案:N第10题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中。

答案:N第11题(1.0分)进行宏定义时,宏名必须使用大写字母表示。

答案:N第12题(1.0分)共同体变量所占的内存长度等于最长的成员的长度。

答案:Y第13题(1.0分)在C 语言中,此定义和语句是合法的:enum aa{ a=5,b,c}bb;bb=(enum aa)5;答案:Y第14题(1.0分)7&3+12的值是15。

答案:N第15题(1.0分)类有两个特殊的成员函数构造函数和虚函数答案:N第16题(1.0分)抽象类不仅可用做派生其他类的基类,也可以用于直接创建对象实例。

答案:N第17题(1.0分)静态函数可声明为虚函数。

答案:N第18题(1.0分)如果一个函数在其函数体内直接或间接的调用了自己,该函数称为递归函数。

答案:Y第19题(1.0分)类中提供了三种访问控制权:公有、私有、保护三种类型。

答案:Y第20题(1.0分)所谓继承就是利用已有的数据类型定义出新的数据类型。

答案:Y三、单选共60题(共计60分)第1题(1.0分)fscanf函数的正确调用形式是()。

A:fscanf(fp,格式字符串,输出表列);B:fscanf(格式字符串,输出表列,fp);C:fscanf(格式字符串,文件指针,输出表列);D:fscanf(文件指针,格式字符串,输入表列);答案:D第2题(1.0分)C语言的if语句嵌套时,if与else的配对关系是()。

A:每个else总是与它上面的最近的if配对B:每个else总是与最外层的if配对C:每个else与if的配对是任意的D:每个else总是与它上面的if配对答案:A第3题(1.0分)C语言中,文件由()。

A:记录组成B:由数据行组成C:由数据块组成D:由字符(字节)序列组成答案:D第4题(1.0分)设C语言中,int类型数据占2个字节,则short类型数据占()。

A:1个字节B:2个字节C:4个字节D:8个字节答案:B第5题(1.0分)以下不符合C语言语法的赋值语句是()。

A:j++;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第6题(1.0分)C语言允许函数类型缺省定义,此时函数值隐含的类型是()。

A:floatB:intC:longD:double答案:B第7题(1.0分)int (*p)[6]; 它的含义为()。

A:具有6个元素的一维数组B:定义了一个指向具有6个元素的一维数组的指针变量C:指向整型指针变量D:指向6个整数中的一个的地址答案:B第8题(1.0分)经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。

char x=65;float y=7.3;int a=100;double b=4.5;A:2,2,2,4B:1,2,2,4C:1,4,2,8D:2,4,2,8答案:C第9题(1.0分)char *match(char c)是()。

A:函数定义的头部B:函数预说明C:函数调用D:指针变量说明答案:A第10题(1.0分)若有说明: int a[3][4]={0};则下面正确的叙述是()。

A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0 D:数组a中每个元素均可得到初值0答案:D第11题(1.0分)当说明一个结构体变量时系统分配给它的内存是()。

A:各成员所需内存量的总和B:结构中第一个成员所需内存量C:成员中占内存量最大者所需的容量D:结构中最后一个成员所需内存量答案:A第12题(1.0分)以下不是无限循环的语句为()。

A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(1.0分)利用fseek 函数可以实现的操作是()。

A:改变文件的位置指针B:文件的顺序读写C:文件的随机读写D:以上答案均正确答案:D第14题(1.0分)C语言中while 和do-while 循环的主要区别是()。

A:do-while 的循环体至少无条件执行一次B:while的循环控制条件比do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内D:do-while 的循环体不能是复合语句答案:A第15题(1.0分)sizeof(float)是()。

A:一种函数调用B:一个不合法的表达式C:一个整型表达式D:一个浮点表达式答案:C第16题(1.0分)以下程序的运行结果是()。

main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第17题(1.0分)以下不正确的叙述是()。

相关文档
最新文档