版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023学年安徽省铜陵市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(12题)1.按照标识符的要求,()符号不能组成标识符。
A.连接符B下划线B.大小写字母C.数字字符
2.若需要0(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择排序方法是()。A.快速排序B.堆排序C.归并排序D.直接插入排序
3.
4.输入序列为ABC,输出为CBA时,经过的栈操作为()。
A.push,pop,push,pop,push,pop
B.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,pop
D.push,pop,push,push,pop,pop
5.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库技术的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
6.当用户要求输入的字符串中含有空格时,应使用的输入函数是()。
A.scanfB.getcharC.getsD.getc
7.判断一个单向链表中是否存在环的最佳方法是()
A.两重遍历B.快慢指针C.路径记录D.哈希表辅助
8.
9.有如下程序段:inta[10]={1,2,3,4,5,6,7,8,9,10};int*p=&a[3],b;b=P[5];则b的值是()。
A.5B.6C.9D.8
10.十进制数124转换成二进制数是()
A.111l010B.1111100C.1011111D.1111011
11.以下不正确的叙述是()。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变
D.当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值
12.有以下程序:
程序运行后的输出结果是()。
A.1,2,6,24,120,B.1,2,3,4,5,C.1,1,1,1,1,D.1,2,4,6,8,
二、2.填空题(12题)13.下列程序执行后输出的结果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
14.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。
15.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度。请填空。
FILE*myf;longf1;
myf=【】("test.t","rb");
fseek(myf,0,SEEKEND);
f1=ftell(myf);
fclose(myf);
printf("%d\n",f1)
16.以下程序的输出结果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
17.数据库的设计通常可以分为4个步骤:需求分析、概念设计、【】和物理设计。
18.若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是______。
intw[10]={23,54,10,33,47,98,72,80,61},*p=w;
19.以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
#defineM2
#defineN4
voidSumColumMin(inta[M][N],int*Sum)
{inti,j,k,s=0
for(i=0;i<N;i++)
{k=0;
for(j=1;j<M;j++)
if(a[k][i]>a[j][i])k=j;
s+=【】;
}
【】=s;
}
main()
{intx[M][N]={3,2,5,1,4,l,8,3),s;
SumColumMin(【】);
printf("%d\n",s);
}
20.数据流的类型有______和事务型。
21.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
22.实现算法所需的存储单元多少和算法的工作量大小分别为算法的【】。
23.以下程序运行后的输出结果是【】。
#include<stdio.h>
msin()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
24.下列程序的输出结果是______。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x==1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(11));
三、3.程序设计题(10题)25.请编写函数fun,其功能是:计算并输出下列多项式的值:
例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。
注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
26.请编写函数fun,其功能是:计算并输出给定10个数的方差:
例如,给定的10个数为95.0、89.0、76.0、65.0、88.0、72.0、85.0、81.0、90.0、56.0,输出为s=11.730729。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
27.请编写函数fun(),它的功能是:移动一维数组中的内容,若数组中有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。部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdiO.h>
#defineN80
voidfun(int*w,intp,intn)
{
}
main()
{in[a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
inti,p,n=15;
printf("Theodginaldata:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);
printf("\nEnterp:");
scanf("%d",&p);
fun(a,p,n);
printf("\nThedataaftermoving:\n");
for(i=0;i<n;i++)printf("%3d”,a[i]);
}
28.请编一个函数floatfun(doubleh),函数的功能是对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。
例如:若h值为8.32433,则函数返回8.32:若h值为8.32533,则函数返回8.33。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数。fun的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
floatfun(floath)
{
}
main()
{
floata;
clrscr();
printf("Entera:");
scanf("%f",&a);
printf("Theoriginaldatais:");
printf("%f\n\n",a);
printf("Theresult:%f\n",fun(a));
}
29.函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的十位和千位上,b中的十位和个位数依次放在变量c的个位和百位上。
例如,当a=45,b=12。调用该函数后,c=5241。
注意:部分源程序存在文件.PROGl.C中。数据文件IN.DAT中的数据不得修改。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
30.请编写函数fun,函数的功能是:移动一维数组中的内容:若数组中有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。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
31.请编写函数fun(),它的功能是计算:s=(1-In(1)-In(2)-In(3)-…-1n(m))2
s作为函数值返回。
在C语言中可调用log(n)函数求In(n)。log函数的引用说明是doublelog(doublex)。
例如,若m的值为15,则fun()函数值为723.570801。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<math.h>
doublefun(intm)
{
}
main()
{
clrscr();
printf("%f\n",fun(15));
}
32.编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
33.请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。
例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。
注意:要求n的值大于2但不大于100。部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
34.请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。
S=1+x+x2/2!3/3!+…/xn/n!
例如,当n=10,x=0.3时,函数值为1349859。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<math.h>
doublefun(doublex,intn)
{
}
main()
{
clrscr();
printf("%f",fun(0,3,10));
}
四、单选题(0题)35.当调用函数时,实参是一个数组名,则向函数传送的是______。
A.数组的长度B.数组的首地址C.数组每一个元素的地址D.数组每个元素中的值
五、单选题(0题)36.以下程序的输出结果是().A.A.2222B.2468C.222D.246
六、单选题(0题)37.有以下程序
#include<stdio.h>
#include<string.h>
typedefstrlIct{charname[9];charsex;floatscore[2];}STU;
STUf(STUa)
{STUb={"Zhao",'m',85.0,90.0);inti;
strcpy(aname,b.name);
sex:b.sex;
for(i=0;i<2;i++)a.score[i]=b.score[i];
returna;
}
main
{STUc="Qian",'f',95.0,92.0},d;
d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);
}
程序的运行结果是()。A.A.Qian,f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
参考答案
1.A
2.C
3.D
4.B
5.B解析:本题考查数据库系统的基本概念和知识。
数据库系统除了数据库管理软件之外,还心须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项A的说法是错误的。
数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。
通常将引入数据库技术的计算机系统称为数据库系统。一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。
因此,选项C的说法是错误的。
因此,本题的正确答案是选项B。
6.C解析:C语言提供了许多输入函数,其中有:getchar(输入字符)、scanf(格式输入)和gets\u3000(输入字符串)等。题目要求输入的是字符串,所以可以排除getchar,而且要求输入的字符串中包含空格,而scanf函数默认将输入的空格字符作为分割符,所以空格不会被输入,故可排除scanf。getc的作用是从文件中输入一个字符,故也不可取。gets函数可以输入一整行作为一个字符串,其中也包括空格字符,故应该选择C。
7.B
8.A
9.C解析:p=&a[3]将指针指向数组a的第4个元素,p[5]则是数组a的第9个元素,而a[8]=9,所以b=9。
10.B
11.D
12.Astatic静态变量只在声明时初始化一次。mul()累乘,第一次init=1,init}=val,第二次init=1,val=2,第三次init=2,val=3,第四次init=6,val=4,第五层init=24,val=5,因此结果为l,2,6,24,120。故答案为A选项。
13.1212解析:本题的第一个for循环用于给数组arr赋初值,第二个for循环用于求和运算。由于第二个for循环初始值为1,而循环条件为i<4,所以求的是arr[1]到arr[3]及i的和,所以输出结果为12。
14.顺序存储(顺序方式存储)顺序存储(顺序方式存储)解析:二分法查找对表的要求是有序的顺序表,即第一要求是数据元素有序,第二要求是按顺序方式存储。
15.fopenfopen解析:函数fopen的原型为FILE*fopen(char*filename,char*mode),功能为以mode指定的方式打开名为filename的文件;函数fseek的原型为intfseek(FILE*fp,longoffset,intbase),功能为将fp所指向的文件的位置指针移到以base所指出的位置为基准,offset为位移量的位置;函数ftell的原型为longftell(FILE*fp),功能为返回fp所指向的文件中当前的读写位置;函数fclose的原型为intfclose(FILE*fp),功能为关闭fp所指的文件,释放文件缓冲区。
16.852852解析:循环前,变量y的值为9,其中,循环语句在y大于0情况下循环,每次循环后y的值都减1。循环体是当y能被3整除时输出表达式--y,输出的是减1后的y值。这样,第一次循环因y为9,能被3整除,输出8,y也变成8。又经两次循环,y的值变为6,又让y减1变成5,并输出5;又经两次循环,y的值变成3,让y减1变成2,输出2;再经两次循环后,y的值变成0,结束循环,所以程序输出852。
17.逻辑设计逻辑设计解析:数据库设计的4个阶段为:需求分析、概念设计、逻辑设计和物理设计。
18.*(p+5)或p[5]*(p+5)或p[5]
19.a[k][i]*sumx&sa[k][i]\r\n*sum\r\nx,&s解析:本题中定义了一个函数SumColumMin(),该函数有两个参数,第一个参数为数组名,第二个参数为一个指针,用来访问存放数组中每列元素中最小值的存储空间的变量。所以在主函数中调用SumColumMin()函数,应该将数组x和sam作为实参传给SumColumMin()中的形参,故第19个空格处应该填x,&s。在SumColumMin()函数中用了两重循环,用N记录数组的列,M记录数组的行。内循环共循环了M次,每循环一次将a[k][i]比较a[j][i](当k=O时,a[k][i]第一行第一列的值,然后将该值依次和第一列中的每个值比较,让a[k][i]表示较小的值,那么比较到最后一个元素后a[k][i]就是改列中最小元素的值),让k记录较小值元素的行下标,这样通过M次循环得到每列中的最小元素,然后退出内循环,继续执行该次外循环里的其他语句,即将刚求得第i列的最小值a[k][i]累加到s中,故第17个空格处应该填a[k][i],最后外循环共循环N次,将每列的最小值累加到s中,退出循环,然后让指针sum所指向的存储空间的值为s,故第18个空格处应该填*sum。
20.变换型变换型
21.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。
22.空间复杂度和时间复杂度空间复杂度和时间复杂度解析:算法的复杂性是指对一个在有限步骤内终止算法和所需存储空间大小的估计。算法所需存储空间大小是算法的空间复杂性,算法的计算量是算法的时间复杂性。
23.1371513715解析:程序中n是一个有5个元素,且元素值全为0的数组。在for循环中,当i=1时,n[1]=n[0]*2+1,此时n[1]=1;i=2时,n[2]=n[1]*2+1,此时n[2]=3;i=3时,n[3]=n[2]*2+1,此时n[3]=7;i=4时,n[4]=n[3]*2+1,此时n[4]=15,循环结束。输出函数中%d后有空格,因此输出结果为13715。
24.44解析:本题考查函数的递归调用。在主函数中第1次调用子函数是调用的fun(11),返回11-fun(9):第2次调用子函数是调用的fun(9),返回9-tim(7);第3次调用子函数是调用的fun(7),返回7-fun(5);第4次调用子函数是调用的fun(5),返回5-fun(3);第5次调用子函数是调用的fun(3),返回3-fun(1);第6次调用子函数是调用的fun(1),返回3。总的返回值是:11-(9-(7-(5-(3-3))))=4。
25.
解析:该程序功能是计算并输出多项式值。根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。
26.
解析:该程序功能是计算并输出给定10个数的方差。解题思路是,根据题干中给出的方差公式首先计算出x’的值,然后计算根号里面的值,最后求其平方根。
27.voidfun(int*wintpintn){intiJ;inta[N];for(i=0;i<=p;i++)a[i]=w[i]for(i=p+1j=0;i<n;i++j++)w[j]=w[i];for(i=0;i<=p;i++)w[n-p-1+i]=a[i];}voidfun(int*w,intp,intn)\r\n{inti,J;\r\ninta[N];\r\nfor(i=0;i<=p;i++)a[i]=w[i]\r\nfor(i=p+1,j=0;i<n;i++,j++)w[j]=w[i];\r\nfor(i=0;i<=p;i++)w[n-p-1+i]=a[i];\r\n}解析:将数组后面的元素向前平移,肯定会将前面的元素覆盖。因此,可以定义一个数组用来暂时存放前面的元素。可以先将w[0]~w[p]依次赋给a[0]~a[p];然后将w[p]~w[n—1)
移到数组的前面:再将a[0]~a[p)依次赋给w[n-p-1+i]~w[n—1]。
28.floatfun(floath){longt;t=(h*1000+5)/10;/*单精度数h乘以1000后再加5相当十对h中的第三位小数进行四舍五入除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/return(float)t/100;/*除以100保留2位小数*/floatfun(floath)\r\n{\r\nlongt;\r\nt=(h*1000+5)/10;/*单精度数h乘以1000后再加5,相当十对h中的第三位小数进行四舍五入\r\n除以10后将其赋给一个长整型数时就把第三位小数后的数全部截去*/\r\nreturn(float)t/100;/*除以100,保留2位小数*/解析:注意本题要求h的值真正发生了四舍五入,而不是为了输出,即不能用printf(“%7.2f”,h)来直接得到结果。由于单精度数h乘以1000后再加5,此时相当于对h中的第三位小数进行四舍五入,再将其赋给一个长整型数时就把第三位小数后的数全部截去。注意在return中要将其中一个数转成浮点型数。
29.
解析:该程序功能是将两个正整数合并形成一个整数的题型。本题类型首先要考虑整数的位数分离,然后要进行位数合成。也就是先将数字的各位数拆开,改变排列顺序后,再组合成新的数字。
30.
解析:该程序功能是移动一维数组中的内容。解题思路首先将字符串拷贝到一个临时的数组,然后将字符串进行前移操作,最后将由于前移覆盖掉的字符,由临时数组中拷贝到指定字符串。
31.doubl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水生植物疫病检疫员基础综合模拟考核试卷含答案
- 药用动物养殖员岗中协同应用考核试卷含答案
- 纤维板铺装工岗前实操熟练考核试卷含答案
- 影视烟火特效员岗位适应能力评优考核试卷含答案
- 数控刨工班组建设水平考核试卷含答案
- 商务数据分析师基础晋升能力考核试卷含答案
- 2025-2026学年大树妈妈音乐说课稿
- 2025-2026学年上学幼儿小班说课稿
- 2026年服装批发行业专题研究报告及未来五至十年出海路径与本地化运营
- 2026年阀门和旋塞制造行业发展趋势报告及未来五至十年产业升级与格局演变
- 2026年中考语文真题文言文汇编56份(分师生版)
- 江苏银行2027届校园招聘笔试参考题库及答案详解
- 江西省职业技能等级认定个人申报表、承诺书、职业技能等级认定档案材料清单
- 健身房会员合同样本
- DB13∕T 6056-2025 涉路工程技术评价规范
- 板框压滤机工艺培训
- 2025年法务专业知识试题及答案
- 构造地质学看图题与答案
- 02章 电催化过程
- 模块3 项目论证与评估《现代项目管理》教学课件
- 卡西欧计算器f-350ES PLUS
评论
0/150
提交评论