下载此文档

2022年福建省三明市全国计算机等级考试C语言程序设计测试卷(含答案).pdf


文档分类:资格/认证考试 | 页数:约39页 举报非法文档有奖
1/39
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/39 下载此文档
文档列表 文档介绍
该【2022年福建省三明市全国计算机等级考试C语言程序设计测试卷(含答案) 】是由【青山代下】上传分享,文档一共【39】页,该文档可以免费在线阅读,需要了解更多关于【2022年福建省三明市全国计算机等级考试C语言程序设计测试卷(含答案) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..年福建省三明市全国计算机等级考试C语言程序设计测试卷(含答案)班级:________姓名:________考号:________一、(10题),最基本的概念是对象和______。【】。main(){unsignedshorta=65536;intb;}、连接和【】。,则在该二叉树中有【】个叶子结点。。(存储结构)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的_______。以下程序的输出结果是#include<>voidprt(int*x,int*y,int*z),%d,,++*x,++*y,*(z++));}main(){inta=10,b=40,:..prt(&a,&b,&c);prr(&a,&b,&c);},把数据看成一个二维表,每一个二维表称为一个______。:structst{charname[8];intnum;floats[4];}student[50];并且结构体数组student中的元素都已有值。若要将这些元素写到硬盘文件fp中,请将以下fwrite语句补充完整:fwrite(student,【】,1,fp);。#include<>main(){intx=10,y=10,i;for(i=0;x>8;y=++i)}【】。main():..二、单选题(10题)11.()。、,,:,;,以下选项中,(strcmp(s1,s2)==0)puts(s1);(strcmp(s1,s2)!=0)puts(s2);(strcmp(s1,s2)==1)puts(s1);(strcmp(s1,s2)!=0)puts(s1);,,只能把实参的值传给形参,:..,、y已正确定义并赋值,以下符合C语言语法的表达式是()。+1=yB.++==X+10=X+(X)/,:#>int*f(int*s){s[1]+=6;*s=7;s+=2;returns;}main(){inta[5]={1,2,3,4,5},*p=a;P=f(P);printf(“%d,%d,%dn”,a[0],a[1],*p);}程序运行后的输出结果是()。,8,,8,,8,,2,,m个叶子,n个结点,深度为h,则()。=h++m==h-=2h-,则表达式(2+x)(-3)的值为______。:..,优先级最低的是()。A.||B.!=C.<D.+,能够满足“若字符串s1等于字符串s2,则执行ST”要求的是()。(strcmp(s2s1)==0)ST;(s1===s2)ST;(strcpy(s1,s2)==1)ST;(s1,s2==0)ST;三、程序设计题(10题)(),它的功能是计算下列级数和,和值由函数值返回。sum=1-x+x2/2!-x3/31+…+(-l*x)n/n!例如,当n=23,x=,。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。试题程序::..fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。例如,若输入字符串123412132,输入字符为l,则输出3。注意:。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。:..VC++2010打开触文件夹下prog1中的解决方案。。在此程序中,请编写函数fun(),其功能是移动字符串中的内容,移动的规则是把第1~m个字符,移动到:..把第到最后的字符移动到于符串的前面。例如,字符串中原有的内容为“ABCDEFGHIJK”,m的值为3,移动后,字符串中的内容应该是“DEFGHUKABC”。注意:。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序::..M名学生的数据已在主函数中放入结构体数组stu中,请编写函数proc(),它的功能是:把分数最低的学生数据放在h所指的数组中。注意:分数低的学生可能不止一个。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:++2010打开考生文件夹下prog1中的解决方案。。此程序定义了N×N的二维数:..并在主函数中自动赋值。请编写函数该函数的功能是使数组下三角元素中的值乘以。请勿改动函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<>#include<>#include<>#defineN5voidfun(inta[][N],intn){}main(){inta[N][N],n,i,j;printf(“*****Thearray*****n”);{{a[i][j]=rand()%10;printf(“%4d”,a[i][j]);}printf(“n”);}:..n”,n);fun(a,n);printf(“*****TheResult*****n”);{printf(“%4d”,a[i][j]);printf(“n”);}}=n!(n从键盘上输入)*号。请编写函数proc(),它的功能是:将字符串尾部的*号全部删除,前面和中间的*号不删除。例如,若字符串中的内容为****a*bc*def*g。***,删除后,字符串中的内容则应当是****a*bc*def*g。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序::..VC++2010打开考生文件夹下prog1中的解决方案。。在此程序中,请编写函数其功能是移动一维数组中的内容,若数组中有n个整数,要求把下标为0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。1、2、3、4、5、6、7、8、9、10;P的值为3。移动后,一维数组中的内容应为5、6、7、8、9、10、1、2、3、4。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<>#defineN80voidfun(int*w,intp,intn){}main(){inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};inti,p,n=15;printf(“Theoriginaldata:n”);printf(“%3d”,a[i]);printf(“nEnterp:”);scanf(“%d”,&p);fun(a,p,n);printf(“n”);printf(“%3d”,a[i]);printf(“n”);:..proc(),它的功能是计算:s=(1-1n(1)-1n(2)-1n(3)-…-1n(m))2s作为函数值返回。在C语言中可调用log(n)函数求1n(n)。log函数的引用说明是doublelog(doublex)。例如,若m的值为10,则proc()。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:++2010打开考生文件夹下prog1中的解决方案。。在此程序中,规定输入的字符串中只包含字母和*号。请编写函数其功能是使字符串的前导*号不得多于n个,若多于n个,则删除多余的*号;若少于或等于n个,则不做处理。字符串中间和尾部的*号不删除。“*******A*BC*DEF*G****”,若n的值为4,删除后,字符串中的内容应当是“****A*BC*DEF*G****”;若n:..,则字符串中的内容仍为。n的值在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<>#include<>voidfun(char*a,intn){}voidmain(){chars[81];intn;printf(“Enterastring:n”);gets(s);printf(“Entern:”);scanf(“%d”,&n);fun(s,n);printf(“Thestringafterdeleted:n”);puts(s);}四、(10题):0,0,1,以后的各项都是其相邻的前3项之和。下列给定的程序中,函数fun()的功能是:计算并输出该数列前n项的和sum。n的值通过形参传入。例如,当n=10时,。:..注意:不要改动函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<>#include<>doublefun(intn){doublesum,S0,S1,S2,S;intk;sum=;if(n<=2)sum=;s0=;s1=;s2=;/*************found*************/for(k=4;k<n;k++){S=S0+S1+s2;Sum+=s;S0=s1;S1=s2;/*************found*************/S2=S;returnsum;:..main(){intnclrscr();;,&n);,fun(n));},函数fun()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下:例如,。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<>#include<>/*************found**************/fun(doublea,doublex0){doublexl,y;xl=(x0+a/x0)/;/*************found**************/if(fabs(xl-x0)>)y=fun(a,xl);elsey=x1;returny;:..main(){doublex;x,fun(x,));}:根据整型形参m,计算如下公式的值。例如,若m中的值为5,则应输出:。请改正程序中的错误,使它能得到正确结果。[注意]不要改动main函数,不得增行或删行,也不得更改程序的结构。[试题源程序]#include<>doublefun(intm){doubley=;inti;/*************found*************/for(i=2;i<m;i++)/*************found*************/y+=1/(i*i);return(y);}main(){intn=5;,fun(n));}:根据整型形参n,计算:..例如,若,则应输出:。请改正程序中的语法错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!,函数fun()的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<>#include<>#include<>:..intfun(char*schar*t){intn;char*p,*r;n=0;while(*s){p=s;/**************found***************/r=p;while(*r)if{*r==*p){r++;p++;}elsebreak;/**************found***************/if(*r==0)n++;s++;}returnn;}main(){chara[N],b[N];intm;clrscr();:;gets(a);:;gets(b);m=fun{a,b);:..;},函数fun()的功能是:输出M行N列整数方阵,然后求两条对角线上的各元素之和,返回此和数。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,:#include<>#include<>#defineM5/**********************************/ihtfun(intn,intxx[][]){inti,j,sum=0;for(i=0;i<M;i++){for(j=0;j<M;j++)/**********************************/}for(i=0;i<n;i++)sum+=xx[i][i]+xx[i][n-i-1];return(sum);}main(){intaa[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}};clrscr();}:..fun()的功能是:给一维数组a输入任意4个整数,并按如下的规律输出。例如输入1,2,3,4,程序运行后输出以下方阵:4123341223411234请改正程序中的错误,使它能得出正确的结果。注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序;#include<>#defineM4/*******************************/voidfun(inta){inti,j,k,m;for(i=0;i<for(i=M;i>0;i--){k=a[M-1];for(j=M-1;j>0;j--)/**********************************/a[j]=a[j+1];a[0]=k;for(m=0;m<}}main(){inta[M];:..()的功能是:根据整型形参n,计算如下公式的值。A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1))例如,若n=l0,。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<>#include<>floatfun(intn){/***********found*************/intA=1;inti;/*************found*************/for(i=1;i<=n;i++)A=/(5+A);returnA;}main(){intn;clrscr();:;:..;,n,fun(n));},函数fun()的功能是:统计字符串substr在字符串srt中出现的次数。例如,若字符串为aaas1kaaas,子字符串为as,则应输出2。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<>fun(char*str,char*substr){inti,j,k,num=0;/*************found**************/for(i=0,str[i],i++)for(j=i,k=O;substr[k]==str[j];k++,j++){num++;break;}returnnum;}main(){charstr[80],substr[80];gets(str);gets(substr);,函数fun()的功能是;将s所指字符串中出现的n所指字符串全部替换成t2所指字符串,所形成的新的字符串放在w所:..和t2所指字符串的长度相同。例如:当s所指字符串中所指的内容为abcdabfab,t1所指字符串中的内容为ab,t2所指字符串中的内容为99时,结果在w所指的数组中的内容应为99cd99f99。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<>#include<>#include<>/*************found**************/intfun(char*s,char*t1,char*t2,char*w){inti;char*p,*r,*a;strcpy(w,s);while(*w){p=w;r=t1;/*************found**************/while(r)if(*r==*p){r++;p++;}elsebreak;{a=w;r=t2;/*************found**************/while(*r){*a=*r;a++;r++}w+=strlen(t2);}elsew++;}}main(){chars[100],t1[100],t2[100],w[100];clrscr();:..{fun(s,t1,t2,w);}}(2题),函数proc()的功能是:在字符串str中找出ASCⅡ码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用proc()函数之前给字符串输入DcybkdGT,调用后字符串中的内容为yDcbkdOT。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序::..函数proc()的功能是:计算并输出m以内最大的6个能被7或11整除的自然数之和。m的值由主函数传人。例如,若m的值为600,则函数的值为3515。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序::..(2题)main()函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。例如,输入:-123456,结果为:123456。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。试题程序::..funl(&a,&b,&c);。它将3个整数按由大到小的JI匣序调整后依次放入a,b,c三个变量中,a中放最大数,请填空。voidfun2(int*x,int*y){intt;t=*x;*x;*y;*y=t;}voidfunl(int*pa,int*pb,int*pc){if(*pc>*pb)fun2(【】);if(*pa<*pc)fun2(【】);if(*pa<*pb)fun2(【】);}:对于一个unsignedshort来说,它能取的最大值是65535。这里给a赋值65536,已经超出了它的取值范围,这样它的高位将被截掉,:..全零)。所以a的值实际为0。(投影操作)或水平分解(选择操作)和对多个关系的结合(连接操作)等。:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。在根据完全二叉树的定义,在一棵完全二叉树中,最多有1个度为1的结点。因此,设一棵完全二叉树具有n个结点,若n为偶数,则在该二叉树中有n/2个叶子结点以及n/2-1个度为2的结点,还有1个是度为1的结点:若n为奇数,则在该二叉树中有[n/2]+1个叶子结点以及[n/2]个度为2的结点,没有度为1的结点。本题中,完全二叉树共有700个结点,700是偶数,所以,在该二叉树中有350个叶子结点以及349个度为2的结点,还有1个是度为1的结点。所以,本题的正确答案为350。:软件生命周期一般包括可行性研究与需求分析、设计、实现、测试、交付使用及维护等,还可以将软件生命周期分为三个阶段:软件定义阶段:可行性研究和需求分析;②软件开发阶段:设计、实现和测试;③软件运行维护阶段:交付使用和维护。:关系模型用;维表表示,则每个;维表代表一种关系。(structst)*50sizeof(structst)*50解析:fwrite函数的一般调用形式为:fwrite(buffer,size,count,fp);其中:buffer是一个指针变量,是要输出数据的起始地址;size是要写的字节数;count是要写多少个size字节的数据项;fp是文件指针。:for(表达式1;表达式2:表达式3)语句的功:..的值,然后检测表达式2的值,若其值为真,则执行循环体语句,执行完毕后,再计算表达式3的值。然后再检测表达式2的值是否为真,若为真,继续执行循环体语句,若为假,则退出循环:第1次循环x>8成立,输出x=10,y=10后,x的值减1,i=1,执行y=++i操作,y的值变为1;判断条件还成立,输出x=9,y=1,然后x的值减1,循环条件不成立,则退出循环。:strcpy(str1,s1):字符串拷贝函数,作用是将字符串s1拷贝到字符数组str1中去。strlen(str):测试字符串str的长度,函数的值为字符串中实际长度,不包括‘\0’在内。本题中strlen(strl)的值为13,则strcpy(strl+strlen(strl)/2,'esshe');相当于strqoy(strl+6,'esshe');因此可得答案为Howdoesshe。、数组、指针变量或者结构体变量,选项A正确;不同结构体成员名可以相同,选项B错误;结构体定义时,其成员的数据类型不能是本结构体类型,选项C错误;结构体定义时,类型不同的成员项之间使用分号隔开,选项D错误。本题答案为A选项。(s1,s2)的作用是比较字符串s1和s2。参数str1,str2如果相同,则返回0,如果str1大于str2则返回一个正整数,如果str1小于str2则返回一个负整数。本题中s1,s2不相同,A)选项不会输出任何字符,B)选项输出ok,C)选项不输出任何字符,D)选项会输出OK。:..C语言中的函数可以进行递归调用,但不能在函数中定义函数,即函数不能嵌套定义。函数可以没有返回值,若有返回值,则返回值类型必须确定。,c选项中错误与A选项一样,D选项中强制类型转换表达式应写成(doub1e)x/10。,分块查找要求索引表是有序的,对块内节点没有排序要求,因此查找较快,且插入和删除操作也比较方便。。执行“S[1]+=6”;语句,则“a[1]=8;”执行“*s=7;”语句,则“a[0]=7”;执行“s+=2;”语句,则s指向数组的第3个元素并返回s。调用后,函数返回值赋给指针P,则*P=3,因此输出的结果为7,8,3。故本题答案为C选项。:异或运算符(^)的运算规则是:参加运算的两个相应位同号,则结果为0(假);异号则为1(真)。取反运算符(-)的运算规则是:对一个二进制数按位取反,即将0变为1,1变为0。本题(-3)是对3(二进制形式为00000011)按位取反即11111100。表达式(2+x)(-3)的值就等价于(00000010+10100111)^11111100,结果为01010101。:strcmp(char*,char*),函数strcmp用于比较两个字符串的长度,长者为大,若字符个数也一样,则从左至右依次比较相同位上的字:..Ⅱ表值计算,直到最后一个字符,若还相同,则两个字符串相等,返回值0。选项A中if(strcmp(s2,s1)=0)ST,若s2等于s1,则返回值0,0等于0,所以逻辑表达式strcmp(s2,s1)=0为真执行ST。首先定义两个变量分别用来存储级数的和与每一项的分母。观察级数的特点,其每一项的正负

2022年福建省三明市全国计算机等级考试C语言程序设计测试卷(含答案) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数39
  • 收藏数0 收藏
  • 顶次数0
  • 上传人青山代下
  • 文件大小3.48 MB
  • 时间2024-04-13