2021年辽宁省盘锦市全国计算机等级考试C语言程序设计预测试题(含答案).docx
2021年辽宁省盘锦市全国计算机等级考试C语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、2.填空题(10题)1 .下列程序的输出结果是O#include<stdio.h>main()intx=3,y=2,z=l;if(x<y)if(y<0)z=0;elsez+=1;Printf("%dr,z);)2 .下列程序的输出结果是【】。main()inta=l,b=2;a=a+b;b=a-bja=a-b;printf(%d,%dn,a,b);)3 .数据流图的类型有和事务型。4 .以下程序运行后的输出结果是Omain()inta=3,b=4,c=5,t=99;if(b<a&&a<c)t=a;a=C;c=t;if(a<c&&b<c)t=b;b=a;a=tprintf(u%d%d%dnja,b,c);)5 .一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于的联系。6 .计算机中网络通信协议IP是【7 .若有定义语句CharSUOO,d100jntj=0,i=0;且S中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)while(si)dj=;j+;)dU=O;8 .设有定义:intn,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。scanf%d,l);Printfr%dn”,);9 .以下程序的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位。请填空。#include<stdio.h>main()longs,t,sl=10;pfintf(,n.Pleaseenters:”);scanf(%ldj&s);t=s%10;while(s>0)s=s100;t=();sl=sl*10;)printf(Theresultis:%ldn,t);10 .数据库系统中实现各种数据管理功能的核心软件是o二、单选题(10题)11 .数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称为OoA.存储结构B.逻辑结构C.顺序存储结构D.链式存储结构12 .一个栈的输入序列为123n,若输出序列的第一个元素是n,输出第i(l<=iv=n)个元素是()A.不确定B.n-i+1C.iD.n-i13 .一个算法的语句执行次数为(2n2+2nlog2n+4n-7),则其时间复杂度为OoA.O(n2)B.O(nlog2n)C.O(n)D.O(2n2)14 .设无向图的顶点数为n,则该图最多有()条边。A.n-1B.n(n-1)2C.n(n+1)2D.015 .有以下程序:#include<stdio.h>intfun(intx,inty)if(x!=y)return(x+y)2);elsereturn(x);)main()inta=4,b=5,c=6;Printffun(2*a,fin(b,c);)程序运行后的输出结果是OoA.3B.6C.8D.1216 .数据库管理系统中负责数据模式定义的语言是()。A.数据定义语言B.数据管理语言C数据操纵语言D.数据控制语言17 .以下选项中不属于C语言的类型的是()。A.unsignedlongintB.longshortC.unsignedintD.signedshortint18 .二叉树中第5层上的结点个数最多为A.8B.15C.16D.3219 .有以下程序:#includeintfu(intx,inty)if(x!=y)return(x+y)/2);elsereturn(x)jMain()lnta=4,b=5,c=6pritf("%d,tfun(2*a,fun(b,c);A.6B.3C.8D.1220 .有以下程序:#include<stdio.h>#include<strin9.h>main()printfu%dn",strlen("%dn",strlen("ATSnO12");程序运行后的输出结果是()oA.3B.8C.4D.9三、程序设计题(1。题)21 .请编写函数PrOc,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。例如,若二维数组中的数据为132333431424344415253545则一维数组中的内容应该是132333431424344415253545o注意:部分源程序给出如下。请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:#include<stdio.h>voidproc(int(*s)103,int*b,int*n,intrain,intnn)()voidmain(intarr1010=33,33,33,33),44,44,44,44,55,55,55,55),i,j;inta100=o),n=o;printf("Thematrix:n");for(i=0;i<3;i+)(for(j=0;j<4;j+)printf("%3d,arrij):printf(,n");)proc(arr,a,&n,3,4):printf("TheAarray:n");for(i=0;i<n;i÷+)printf("%3d",ai):printf(,nn");)22 .m个人的成绩存放在SCOre数组中,请编写函数PrOCO,它的功能是:将高于平均分的人数作为函数值返回,将高于平均分的分数放在UP所指的数组中。例如,当SCOre数组中的数据为100,80,76,60,59,48,43,35,59时,函数返回的人数应该是4,UP中的数据应为100,80,76,95o注意:部分源程序给出如下。请勿改动mainO函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:耳tndud<<uflib,h>HIndude<eox.b>,INUdeVBtdao»h>0IMhMir<tnn<.h>infproc<nlcorrJtnlmintu*>>网高于旱均分的人fltVoMlHMMI<>lin5*9tMOfcC9*<100.BO.7<.40.S94tU3SKhnyatn(CI>nproc<*coret9«op)PnnQ“nptothevtra<eworereKAn*n)ior(i三0i<i÷十)pra<(<*¼dupljH23 .从键盘上输入9个数,按3行3列的格式输出。24 .使用VC+2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progLc0在此程序中,编写函数fun(),其功能是将s所指字符串中ASCII值为奇数的字符删除,将剩余字符形成的新字符串放在t所指数组中。例如,若S所指字符串中的内容为“ABCDEFG12345",其中字符A的ASCll值为奇数,字符1的ASCn值也为奇数,都应当删除,其他依此类推。最后t所指的数组中的内容应是“BDF24”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花试题程序:#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,chart)()main()(chars100,t100,Msg=Pleaseenterstrings:"printf(Msg);SCanff'%s”,s);fun(s,t);printf(4nTheresuitis%sn,t);25 .编写函数intproc(intlim,intaaM),该函数的功能是求出小于或等于Iim的所有素数并放在aa数组中,该函数返回所求出的素数。例如,若输入12时,则输出:235711。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数PrOC()的花括号中填入所编写的若干语句。试题程序:SincludeVStdlib.h>7include<conio.h>9include<stdio.h>9defineM100intproc(intlim»intaM)voidmain()inilimi.i.9umintarrMlsystcm("GES")PrintfL输入个整)*cnf("d".&limit>sum=proc(Iimil*arr)(or(i-OuiVsunui+÷>(*i%10=0&&i!=0>/每行输出10个数printf("n">»printf("%5d".arri)26 .假定输入的字符串中只包含字母和*号。请编写函数ProC(),它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*a*bc*de#g*,删除后,字符串中的内容则应当是a*bc*def*g*0注意:部分源程序给出如下。请勿改动main0函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:laciudcVadi¢1,k>J把mcludrVCOmoVh>VOidproc<charMr>x>tdmaia()HuirtrCtiJPmitHEnterwtnn<tB)gefj<r>tProe«Mr>prutf<"TheRtrn<IdIerdeedtaa)>tMH*<*ar>I27 .请编写函数Pn)C(),其功能是:将Str所指字符串中除了下标为奇数、同时ASCn值为偶数的字符外,其余的全部删除,串中剩余字符所形成的一个新串放在t所指的数组中。例如,若StI所指字符串中的内容为edB2A4Dsdg,其中字符A的ASCil码值为奇数,因此应当删除;其中字符B的ASCn码值为偶数,但在数组中的下标为偶数,因此也应当删除;而字符2的ASCn码值为偶数,所在数组中的下标为奇数,因此不应当删除。依此类推,最后t所指的数组中的内容应是d24。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数ProC()的花括号中填入所编写的若干语句。试题程序:tndde<Bldkhh>Mtncludc<cofwo.h>0include<stdia.b>Wmcludr<siring,b>voidFrOKcIi”charl)(voidmain(>(charMr100t100tvAtem(*CLS*)ipnnt(<saPieaMentermriy,«canf(*H*Mr>aproc(<r.hprt(<vb*11m*EUhHt>28 .请编写fun函数,其功能是:计算并输出3m所有素数的平方根之和。例如,若主函数从键盘给m