二级C上机标准答案
计算机二级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……题型

注意:部分源程序在文件PROG1.C中。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
【参考答案】
void fun(char *a,char *h,char *p)
{
int i=0;
char *q=a;
while (q<h) /*判断前导*号的结束*/
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
【参考答案】
void fun (char *a)
{
char *p=a;
while(*p==′*′)
p++; /*指针p指向字符串第一个字母*/
for(;*p!=′\0′;p++,a++)
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:A*BC*DEF*G。
【参考答案】
void fun (char *a,int n ,int h , int e)
{
int i,j=0;
for(i=h;i<n-e;i++) /*第一个字母和最后一个字母之间的字符全不删除*/
strcpy(a,p);
计算机二级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)一个栈的初始状态为空。
现将元素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语言上机考试中,考生需要掌握C语言的基本语法、数据结构、算法设计等知识。
以下是一套模拟题库及答案,供考生参考和练习。
1. 题目:以下哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B解析:在C语言中,标识符可以由字母、数字和下划线组成,且不能以数字开头。
因此,只有选项B中的"variable2"是合法的标识符。
2. 题目:以下哪个选项是C语言中的整型常量?A. 0x1AB. 1.2E3C. 0.5D. 1.2答案:A解析:整型常量可以是十进制、八进制或十六进制的整数。
选项A中的"0x1A"是十六进制的整型常量,而选项B、C和D都是浮点型常量。
3. 题目:以下哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'H' "ello" 'W' "orld"答案:A解析:字符串字面量是由双引号括起来的字符序列。
选项A中的"Hello World"是一个合法的字符串字面量。
选项B是字符字面量,选项C和D的组合方式在C语言中不合法。
4. 题目:以下哪个选项是C语言中的合法数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int b[] = {1, 2, 3, 4, 5};C. int c[5] = {1, 2, 3};D. int d[];答案:A解析:在C语言中,数组的声明需要指定数组的大小,除非数组作为函数的参数。
选项A正确地声明了一个大小为5的整型数组,并初始化了它的元素。
二级C语言上机真题及答案(最新完整版)

1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值1.int fun(int score[],int m,int below[]){int i,k=0,aver=0;for(i-0;i<m;i++)aver+=score[i];aver/=m;for(i=0,i<m;i++)if(score[i]<aver){below[k]=score[i];k++;}return k;}2.请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书2.void fun(int *a,int *n){int i,j=0;for(i=2;i<1000;i++)if((i%7==0//i%11==0))&i%77!=0)a[j++]=i;*n=j;}3.请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按3. void fun(int x, int pp[],int *n){int i=1,j=0,k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[j]=i;j++;}for(i=0;i<j;i++)if(x%t[i]==0){pp[k]=t[i];k++;}*n=k;}4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,4. void fun(char *tt,int pp[]){int i;for(i=0;i<26;i++)pp[i]=0;while (*tt){switch(*tt){case'a':pp[0]++;break;case'b':pp[1]++;break;case'c':pp[2]++;break;case'd':pp[3]++;break;case'e':pp[4]++;break;case'f':pp[5]++;break;case'g':pp[6]++;break;case'h':pp[7]++;break;case'i':pp[8]++;break;case'j':pp[9]++;break;case'k':pp[10]++;break;case'l':pp[11]++;break;case'm':pp[12]++;break;case'n':pp[13]++;break;case'o':pp[14]++;break;case'p':pp[15]++;break;case'q':pp[16]++;break;case'r':pp[17]++;break;case's':pp[18]++;break;case't':pp[19]++;break;case'u':pp[20]++;break;case'v':pp[21]++;break;case'w':pp[22]++;break;case'x':pp[23]++;break;case'y':pp[24]++;break;case'z':pp[25]++;break;}tt++;}}5.请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数5. void fun(int m,int k,int xx[]){int g=0,i,j,flag=1;for(i=m+1;i<m*m;i++){for(j=2;j<i;j++){if (i%j!=0)flag=1;else{flag=0;break;}}if (flag==1&j>=i){if (k>0){xx[g++]=i;k--;}elsebreak;}}}6.请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。
全国计算机二级C语言上机题库答案

【填空】函数fun的功能是计算如下公式。
直到,并且把计算结果作为函数值返回。
例如,若形参e的值为1e -3,则函数返回值为0.551690。
【答案】【1】3.0【2】>【3】(t+1) 【改错】函数fun的功能是:求出如下分数序列的前n项之和。
和值通过函数值返回。
例如,若n=5,则应输出8.391667。
【答案】【1】double fun(int n)【2】s=s+(double)a/b;【编程】请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【答案】int fun (int a[ ][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}【填空】函数fun的功能是:计算如下公式前n项的和并作为函数值返回。
例如,当形参n的值为10时,函数返回值为9.612558。
【答案】【1】 0【2】 n 【3】 (t*t)【改错】函数fun的功能是:统计substr所指的子符串在str所指的字符串中出现的次数。
例如,若字符串为aaas 1kaaas,子字符串为as,则应输出2。
【答案】【1】for(i=0;str[i];i++) 【2】if(substr[k+1]==′\0′) 【编程】编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【答案】double fun(double eps){double s=1.0,s1=1.0;int n=1;while(s1>=eps){ s1=s1*n/(2*n+1);s=s+s1;n++;}return 2*s}【填空】函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。
国家计算机二级C语言上机南开百题答案全文库

2 程序修改
给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/
q=p+i;
/**found**/
第一处 t[j]=s[i];j++;
第二处 for(i=0;i<k;i++)
t[j+i]=p[i];
第三处 t[j+k]=0;
2. 程序修改
给定程序MODI1.C中函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指定字符串,所形成的新串放在w所指的数组中。在此处,要求t1和t2所指字符串的长度相同。
ss[i]-=32;
}
}
第五套
1. 程序填空
给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如:当形参n的值为10 的时,函数返回:9.6125588。
第一处 s=0;
第二处 for(i=1;i<=n;i++)
第三处 s=s+(2.0*i-1)*(2.0*i+1)/(t*t);
{
tot +=a[0][i];
tot +=a[M-1][i];
}
for(i=1;i<M-1;i++){
tot +=a[i][0];
tot +=a[i][N-1];
}
return tot;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一套
1.ﻩ程序填空
程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;
第二处for(i=0;i<n-1;i++)
第三处if(strcmp(a[i].name,a[j].name)>0)
2程序修改
给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/
q=p+i;
/**found**/
while(q>p)
3程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,inth)
{int i,j=0;
for(i=0;i<N;i++)
if((a[i].s>=1&&a[i].s<=h)
b[j++]=a[i];
return j;
}
第二套
1. 程序填空
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);
第二处q=p->next;
第三处q=q->next;
2.程序修改
给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/
p=j;
/**found**/
p=i;
3.程序设计
请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。
voidfun(int m,int*a,int *n)
{
inti;
*n=0;
for(i=7;i<=m;i++)
if((i%7==0)||(i%11==0))
a[(*n)++]=i;
}
第三套
1.程序填空
函数fun的功能是:逆置数组元素是的值。
例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。
形参n给出数组中数组中数据的个数。
第一处for(i=0;i<n/2;i++)
第二处a[i]=a[n-1-i];
第三处a[n-i-1]=t;
2程序修改
给定程序MODI1.C中函数fun的功能是:将一个由八进制数字字符串组成的字符串转换为与其面值相等的十进制整数。
规定输入的字符串最多只能包含5位八进制数字字符。
/**found**/
n=*p-‘0’;
/**found**/
n=n*8+*p-‘0’;
3.程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s 中,请编写了函数fun,它的功能是:函数返回指定学号的学生数据,指定的学生号在主函数中输入,若没有找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。
(用于字符串比较的函数是strcmp)。
STREC fun(STREC*a,char*b)
{
STRECc;
Int i;
c.num[0]=’\0’;
c.s=-1;
for(i=0;i<N;i++)
if(strcmp(a[i].num,b)==0)
{strcpy(c.num,a[i].num);
c.s=a[i].s;break;}
return c;
}
第四套
1. 程序填空
给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。
找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函数值返回0.。