![2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)_第1页](http://file4.renrendoc.com/view/a52ac692713ba7b8b0fc4a85631ea684/a52ac692713ba7b8b0fc4a85631ea6841.gif)
![2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)_第2页](http://file4.renrendoc.com/view/a52ac692713ba7b8b0fc4a85631ea684/a52ac692713ba7b8b0fc4a85631ea6842.gif)
![2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)_第3页](http://file4.renrendoc.com/view/a52ac692713ba7b8b0fc4a85631ea684/a52ac692713ba7b8b0fc4a85631ea6843.gif)
![2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)_第4页](http://file4.renrendoc.com/view/a52ac692713ba7b8b0fc4a85631ea684/a52ac692713ba7b8b0fc4a85631ea6844.gif)
![2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)_第5页](http://file4.renrendoc.com/view/a52ac692713ba7b8b0fc4a85631ea684/a52ac692713ba7b8b0fc4a85631ea6845.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.在学生管理的关系数据库中,存取一个学生信息的数据单位是()。
A.文件B.数据库C.字段D.记录
2.栈通常采用的两种存储结构是A.A.线性存储结构和链表存储结构
B.散列方式和索引方式
C.链表存储结构和数组
D.线性存储结构和非线性存储结构
3.下列关于数据库设计的叙述中,正确的是()。
A.在需求分析阶段建立数据字典
B.在概念设计阶段建立数据字典
C.在逻辑设计阶段建立数据字典
D.在物理设计阶段建立数据字典
4.
5.设有以下语句:inta=1,b=2,c;c=a^(b<<2);执行后,c的值为()。A.6B.7C.8D.9
6.以下不合法的用尸标识符是()。A.A.804zhangB._hhC.yy614D.If
7.以下叙述中错误的是()。
A.向量属于线性结构B.二叉链表是二叉树的存储结构C.栈和队列是线性表D.循环链表是循环队列的链式存储结构
8.有以下程序.#include<stdio.h>main{charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar;c6=getchar;putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第l列开始)123<回车>45678<回车>程序运行后,若从键盘输入(从第l列开始)123<回车>45678<回车>则输出结果是()。A.1267B.1256C.1278D.1245
9.若变量a,b已正确定义,且b已正确赋值,则合法的语句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
10.若有定义inta=5,b=7;,则表达式a%=(b%2)运算后,a的值为()。
A.0B.1C.11D.3
11.下述哪一个是顺序存储结构的优点()。
A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示
12.
读取二进制文件的函数调用形式为:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一个文件指针,指向待读取的文件
B.一个整型变量,代表待读取的数据的字节数
C.一个内存块的首地址,代表读人数据存放的地址
D.一个内存块的字节数
13.设有以下语句:intx=10;x+=3+x%(3),则x的值是()。
A.14B.15C.11D.12
14.栈和队列的共同点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
15.下面程序的输出结果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}
A.SOB.SPC.SPOPKD.SHOB
16.已知shortint类型变量占用两个字节,若有定义:shortintx[10]={0,2,4};,则数组x在内存中所占字节数是()。
A.3B.6C.10D.20
17.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
18.在供应关系中,实体供应商和实体零件之间的联系是()。
A.多对多B.一对一C.多对一D.一对多
19.
20.下列叙述中正确的足
A.软件交付使用后还需要进行维护
B.软件一旦交付使用就不需要再进行维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
二、2.填空题(20题)21.以下程序中,函数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,1,8.3},s;
sumColumMin(______)
printf("%d\n".s):
}
22.以下程序运行后的输出结果是【】。
#include<stdio.h>
main()
{intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
23.数据库的逻辑模型设计阶段的任务是将______转换成关系模式。
24.以下程序从终端输入一行字符放在s数组中,输入以回车符作为结束,函数fun统计存放在s数组中每个数字字符的个数。形参ch指向s数组,形参n给出了s数组中字符的个数。在acc数组中用下标为0的元素统计字符“0”的个数,下标为1的元素统计字符“1”的个数,…。请填空。
#include<stdio.h>
voidfun(int*,char*,int);
main()
{chars[80],c;intacc[10],i=0;
printf("Entercharacters:\n");
while((c=getchar())!='\n')s[【】]=c;
fun(【】);
for(i=0;i<10;i++)printf("%c:%d\n",'0'+i,acc[i]);
printf("\n\n");
}
voidfun(int*a,char*ch,intn)
{inti,d;
for(i=0;i<10;i++)a[i]=【】;
for(i=0;i<n;i++)
{d=【】;a[d]++;}
}
25.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。
26.模式/内模式映射为数据库提供了【】数据独立性。
27.有下列程序,功能是把输入的+进制长整型数以+六进制的形式输出,完成程序
#include"stdio.h"
main()
{charb[17]={"0123456789ABCDEF"};
intc[50],d,i=0,base=16;
longn;
scanf("%1d",&n);
do{c[i]=n%base;i++;n=【】;}
while(n!=0);
for(--i;i>=0;--i)
{d=【】;printf("%c",b[d]);}
printf("H\n");}
28.下面程序的输出结果是【】。
charb[]="ABCD";
main()
{
charb[30];
strcpy(&b[0],"GH");
strcpy(&b[1],"GH”);
strcpy(&b[2],"GH");
printf("%s\n",B);
}
29.若a是int型变量,则下列表达式的值为______。
(a=2*3,a*2),a+4
30.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
31.下列程序输出的结果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
32.以下程序运行后的输出结果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
33.软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于【】测试。
34.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
35.在深度为7的满二叉树中,度为2的节点个数为()。
36.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
37.
main()
{printf("Thesum=%d\n",SunFun(10));}
SunFun(intn)
{intx,s=0;
for(x=0;x<=n;x++)s+=F(【】);
returns;
}
F(intx)
{return(【】);)
38.以下程序的输出结果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
39.数据结构分为线性结构和非线性结构,带链的队列属于[]。
40.以下程序运行后的输出结果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
三、1.选择题(20题)41.若以“叶”方式打开一个己存在的文件,则下列叙述正确的是()。
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作
B.文件打开时,原有文件内容不被删除,只能进行读操作
C.文件打开时,原有文件内容被删除,只能进行写操作
D.以上3种说法都不正确
42.以下程序的输出结果是()。#inClude<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(+1);printf("%d,%d",a,b);}
A.6,1B.2,1C.6,0D.2,0
43.下列形式的常数中,不符合c语言语法规范的是______。
A.0.45B.±123C.25.6e-2D.4e3
44.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是()
A.顺序内聚B.偶然内聚C.时间内聚D.逻辑内聚
45.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。
A.地址传递B.单向值传递C.由实参传给形,再由形参传回实参D.传递方式由用户指定
46.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库系统的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
47.下列说法正确的是()。
A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
48.下列程序执行后的输出结果是______。main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}
A.456B.258C.369D.789
49.设有定义:intk=1,m=2;floatf=7;则下列选项中错误的表达式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
50.设有下列定义:structsk{intm;floatx;)dara,*q;若要使q指向data中的m域,正确的赋值语句是()。
A.q=&data.m;
B.*q=data.m;
C.q=(structsk*)&data.m;
D.q=(structsk*)data.m;
51.fwrite函数的一般调用形式是
A.fwrite(buffer,count,size,fp);
B.fwrite(fP,size,count,buffer);
C.fwrite(fp,count,size,buffer);
D.fwrite(buffer,size,count,fp);
52.下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.3D.5
53.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的
A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法
54.若有以下定义,则正确的switch语句是______。floatx;inta,b;
A.switch(x){case1.0:printf("*\n");csse2.0:printf("**\n");}
B.switch(x){case1,2:printf("*\n");case3:printf("**\n");}
C.switch(a+b){case1:printf("\n");case1+2:printf("**\n");}
D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");}
55.执行下面程序的正确结果是()main(){floata=1.9switch(A){case0:printf("0000");case1:printf("1111");case2:printf("3333");}printf("%f",A);}
A.1.900000
B.111133331.900000
C.33331.900000
D.00001111233331.900000
56.数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
57.请读程序:#include<stdio.h>voidfun(int*s){staticintj=0;dos[j]+=s[j+1]while(++j<2);}main(){intk,a[10]={l,2,3,4,5};for(k=l;k<3;k++)fun(a);for(k=0;k<5;k++)prinf("%d",a[k]);}上面程序的输出结果是()
A.34756B.23445C.35745D.12345
58.以下叙述中正确的是()
A.在函数中必须要有return语句
B.在函数中可以有多个return语句,但只执行其中的一个
C.return语句中必须要有一个表达式
D.函数值并不总是通过return语句传回调用处
59.以下叙述中错误的是()。
A.C程序中的#include和#define行均不是C语句
B.除逗号运算符外,赋值运算符的优先级最低
C.C程序中,j++;是赋值语句
D.C程序中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算
60.结构化程序设计的3种基本结构是()。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移
四、选择题(20题)61.
62.
63.
64.有以下程序段程序的输出结果是()。
A.a=10b=50c=10
B.a=10b=50c=30
C.a=10b=30c=lO
D.a=50b=30c=50
65.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是()。
A.选择B.连接C.投影D.并
66.下列合法的声明语句是()。
A.intabc=50;
B.doubleint=3+5e2.5;
C.longdo=1L;
D.float3asd=3e一3;
67.若调用fputc函数输出字符成功,则其返回值是()。
A.EOFB.1C.0D.输出的字符
68.
69.有以下程序:
程序运行后的输出结果是()。
A.0B.一1C.1D.7
70.面下程序段的运行结果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67B.0C.字符’C’的地址D.字符’C’
71.
72.以下语句的输出结果是()。
inta=-1,b=4,k;
k=(++a<0)!(b--<=0);
printf("%d,%d,%d\n",k,a,b);
A.1,0,4B.1,0,3C.0,0,3D.0,0,4
73.以下选项中,当x为大于l的奇数时,值为0的表达式是()。
74.
75.下列叙述中正确的是()。
A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式
B.实型变量中允许存放整型数
C.若a和b类型相同,在执行赋值a=b后,b中的值将放入a中,但b中的值不变
D.在C程序中,求余算符“%”两边的类型相同时才能进行运算
76.
有以下程序
#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.Qian,f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
77.
78.下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
79.为了使模块尽可能独立,要求()。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
80.以下叙述中不正确的是()。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.编写函数fun(),其功能是:根据以下公式求的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.D解析:在关系数据表中,行称为元组,对应存储文件中的记录,列称为属性,对应存储文件中的字段,所以本题答案为D。
2.A解析:和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。注意:这3种运算方法在各种存储结构中的应用。
3.A数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。故答案为A选项。
4.D
5.D本题考查两个知识点,按位异或左移把b左移2位化成二进制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故选择D。
6.AC语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。
7.D循环链表是线性表的一种链式存储结构,循环队列是队列的一种顺序存储结构。因此D选项叙述错误。本题答案为D选项。
8.Dscanf函数读取的是char型数据,所以回车时输入的换行符也是有效字符。于是cl,c2,c3,c4的内容分别是1,2,3,\n。
9.B在C语名中规定进行强制类型转换的格式是:(类型名)变量名;并且给表达式赋值。
10.A解析:本题考查'%'运算符的使用。运算符'%'要求两个运算对象都为整型,其结果是整数除法的余数。本题中表达式ao%=(b%2)等价于a=a%o(b%2)=5%(7%2)=5%1=0。
11.A
12.Cfread函数中的参数buffer是内存块的首地址,输入的数据存入此内存块中。
13.A
14.C解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”(或“先进后出”)的线性表;而队列只允许在表的一端进行插入操作,在另一端:进行删除操作,是一种“先进先出”(或“后进后出”)的线性表。因此栈和队列的共同点是只允许在端点处插入和删除元素。
15.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i--,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。
16.D
17.D解析:选项A:'a'&&'b'是字符a与b的相与,不为0:选项B:a<=b,由题中变量赋值可知,结果为1。选项C:a||+c&&b-c,结果为1;选项D:!((a<B)&&!c||1),运算结果为0。
18.A一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题答案为A选项。
19.B
20.A解析:本题考核软件维护的概念.维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。软件维护通常有以下四类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述,本题的正确答案是A,其余选项的说法错误。
21.a[k][i]*sumx&s
22.33解析:(p/3>0?p/10:p%3)是一个条件表达式。题中p=30,p/3>0为真,所以p/10的结果3作为整个表达式的值。
23.E-R图E-R图解析:数据库逻辑设计的任务是将概念模型进一步转化成相应的数据模型。而E-R图是主要的概念模型,因此数据库的逻辑设计的主要工作是将E-R图转换成关系模式。
24.i++accsi0ch[i]-'0'
25.概念概念
26.物理物理
27.n/base或n/16c[i]n/base或n/16\r\nc[i]解析:字符串的综合运用。
28.GGGHGGGH解析:由于在函数main中定义了数组变量b,其将屏蔽全局变量b。对于一维数组变量,其值为一常数,等于数组首元素地址。strcpy(&b[0],'GH'),是将字符串,'GH',复制到数组b中从首元数开始的空间中,此是b中的字符串为'GH';strcpy(&b[1],'GH'),是将字符串“GH'复制到数组b中从第二个元素开始的空间中,此是b中的字符串为'GH'。执行第三次strcpy函数后,b中的字符串为'GGGH'。
29.1010解析:此题考查逗号表达式。逗号表达式的值是最后一个表达式的值,所以本题的返回值是a+4。前面已经给a赋值6,所以追回值a+4=6+4=10。
30.外模式外模式解析:数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。
31.11解析:本题考查局部变量和全局变量的区别:局部变量是指作用域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。本程序首先定义了一个全局变量m=17,m=17的作用域在整个程序内。在fun函数内部定义了一个局部变量m=3,m=3的作用域仅在fun函数内部,通过fun函数返回两个形参的积再减m。在主函数中,输出fun(a,b)/m=(5*7-3)/17=1。
32.33解析:条件表达式的一般形式为;表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。30/3=10>0,所以执行p/10,结果为3。
33.黑箱或黑盒黑箱或黑盒解析:黑箱测试是根据程序规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑箱测试技术分为等价类划分、边界分析、错误猜测以及因果图等。
34.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
35.6363解析:满二叉树的第k层上有2k-1个结点,度为k的满二叉树一共有2k-1个结点,由二叉树的性质可知:除去第k层上的结点,其他所有结点都是度为2的结点,所以度为2的结点数为2k-1-2k-1,即27-1-27-1=63。
36.队尾队尾解析:在队列中,允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。
37.xx*x+1或1+x*xx\r\nx*x+1或1+x*x解析:题目中要求从x=0开始将f(x)的值累加起来,直到x=10。在SunFun()函数中用了一个for循环,每循环一次将f(x)累加到s中,所以在本题的第一个空白处应该填x,然后x+1,共循环10次。F()函数的功能应该是求数学表达式f(x)的值,所以其返回值应该为x*x+1。
38.1010解析:整型指针最初被赋的值是数组arr的头指针,即指向数组的第一个元素30,p++后,指针指向数组的下一个元素,即*p=arr[1]=25,在执行*(p+3)时,则相当于a[1+3],即10。因此,输出应为100。
39.线性结构线性结构解析:与栈类似,队列也是线性表,也町以采用链式存储结构。
40.11解析:因为在条件表达式(a<b)?a:b中,比较表达式a<b为真,所以x的值等于a的值等于1,后面两个条件表达式中的比较表达式都为真,所以最终x的值等于1。
41.A解析:本题考查文件使用方式标识符,以“叶”方式打开一个已存在的文件,则表示保留文件中原有的数据,文件的位置指针在文件末尾,此时,可以进行追加或读操作。
42.B解析:变量a、b和d被定义为整型,所以d/100的值为2,2%9的值为2,则a=2。运算符&&表达式的值为非零值则整个逻辑表达式的值为真,即b=1。所以,选项B正确。
43.B解析:C程序允许出现的常数为有一确定值的整数或实数(可用小数形式或指数形式)等。土123不是确定值,是不可以出现的。
44.BB)【解析】内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列:
偶然内聚——模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。
逻辑内聚——这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。
时间内聚——这种模块顺序完成一类相关功能,比如初始化模块,它顺序地为变量置初值。
过程内聚——如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。
通信内聚——这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。
顺序内聚——如果一个模块内各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。
功能内聚——如果一个模块包括为完成某一具体任务所必需的所有成分,或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。
45.B解析:C语言函数中的参数传递方式有传值与传址两种方式,传值方式是指将实参的值复制一份传递给形参,而传址方式是指将实参的变量地址传递给形参,也就是实参的引用。
46.B解析:数据库系统(DBS)是由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。数据库技术的根本目标是解决数据的共享问题。
47.C解析:本题涉及C语言基本的3个知识点:①C语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;②C语言的标识符是由字母、数字、下划线组成的,可以是大写字母,而且标识符区分字母的大小写;③C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释行中的错误。
48.C解析:根据二维数组的定义得出:m[0][0]=1,m[0][1]=4,m[0][2]=7,m[1][0]=2,m[1][1]=5,m[1][2]=8,m[2][0]=3,m[2][1]=6,m[2][2]=9,所以本题的输出是第3行的值m[2][0],m[2][1],m[2][2],即369。
49.C解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、||(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项B),先计算k++的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与出进行比较,故最终结果为0。
50.C解析:利用强制类型转换(structsk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。
51.D解析:fwrite的形式是fwrite(buffer,size,count,fp),buffer表示准备输出的数据块的起始地址,size表示每个数据块的字节数,count用来指定每写一次或输出的数据块,fp为文件指针。
52.B
53.C解析:模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性这两个定性的度量标准。
54.C
55.B
56.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。
57.C
58.B
59.D解析:“%”是求余运算符,其两侧的数值只能为整型,不能用于实型数据的运算。
60.BB。【解析】程序的三种基本控制结构包括:顺序、选择和重复(循环),这三种结构就足以表达出各种其他形式的结构。
61.A
62.D
63.D
64.A本题中a>b的!条件不满足,因此不执行逗号表达式“a=b,b=-c;”的操作,而是执行“c=a”的操作,即c的值为10。’故本题答案为A)。
65.B选择,连接,投影是专门的关系运算,选择是选择满足条件的元组,而投影是选择满足条件的属性或者说列。并是传统的关系运算,是将两个关系中的元组合并在一起再去掉重复的部分。选择,投影,并三个运算得到的结果属性数并没有改变或者说还有减少,而连接时将两个关系进行笛卡尔积运算,在挑选满足条件的项。其属性个数一般会多于原来关系中的属性数。
66.A标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。B选项int不是表达变量类型的标识符,它不能再用做变量名和函数名。C选项do是C语言的一个关键字。D选项标识符只能以字母或下划线开始。
67.Dfputc函数的一般调用形式为fputc(ch,fp),其中ch是要输出的字符,它可以是一个字符常量,也可以是一个字符变量,fp是文件指针变量。函数的作用是将字符(ch的值)输出到fp所指向的文件中。
fputc函数也返回一个值,如果输出成功,则返回值就是输出的字符;如果输出失败,则返回一个EOF(-1)。因此,本题的正确答案选D。
68.D
69.Ba一一的含义是先用后减l,所以当a的值为0时,跳出循环,但是仍要执行a一一,g的值变为一1。
70.B本题主要考查指向字符串的指针变量。在该题中,指针变量p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志’\\0’的地址,因而*(p+3)的值为0。
71.D
72.D
73.A当X为大于1的奇数,x%2==0表达式为0,所以选择A)。
74.A
75.D选项A,在赋值表达式中,赋值号的左边只能是变量或者是代表某个存储单元的表达式,不能是任意表达式,右边也不得出现表达式;选项8中,整型变量中只能存放整型数,但实型变量中能存放实型数,也能存放整型数;选项C,表达式a=b的意思是把变量b的值赋给变量a,从而覆盖a中原来值;选项D,要求取余运算符"%"两边的类型均为整型。
76.Cf函数的功能是对形参a的各个成员用结构体变量b的各个成员进行赋值后,然后返回变量a。
77.C
78.A解析:顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素,链式存储结构中各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致,所以选项A是正确的。两者都可以存储线性的、有序的逻辑结构,所以选项B、C不正确。顺序结构使用的是连续物理空间,链式结构可以使用零散的物理空间存储,链式结构更灵活,不存在谁节约空间的说法,所以选项D不正确。
79.B解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。本题答案为B。
80.D在一个函数中的复合语中定义的变量,只能在这个复合语句范围内有效。
81.(1)错误:p=j
正确:p=j;
(2)错误:p=j;
正确:p=i;
【解析】根据C语言的语法规则.每一条语句都要以分号结束。因此,“p=j”后要加上分号“;”。每次比较后要把小的下标赋值给p,因此,“p=j;”应改为“p=i;”。
82.
【解析】此题考查的是用迭代法求多项式的值。通过观察题目中给出的数学公式可知,后面一项是前面一项乘以n/(2*n+1),发现这个规律后,问题迎刃而解。通过定义double类型变量,并且赋初值,用来存放多项式的总和。此题中需要注意的是,表示每一项的s1和表示多项式之和的s,两者的初值都是1.0。
2022年广东省茂名市全国计算机等级考试C语言程序设计模拟考试(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.在学生管理的关系数据库中,存取一个学生信息的数据单位是()。
A.文件B.数据库C.字段D.记录
2.栈通常采用的两种存储结构是A.A.线性存储结构和链表存储结构
B.散列方式和索引方式
C.链表存储结构和数组
D.线性存储结构和非线性存储结构
3.下列关于数据库设计的叙述中,正确的是()。
A.在需求分析阶段建立数据字典
B.在概念设计阶段建立数据字典
C.在逻辑设计阶段建立数据字典
D.在物理设计阶段建立数据字典
4.
5.设有以下语句:inta=1,b=2,c;c=a^(b<<2);执行后,c的值为()。A.6B.7C.8D.9
6.以下不合法的用尸标识符是()。A.A.804zhangB._hhC.yy614D.If
7.以下叙述中错误的是()。
A.向量属于线性结构B.二叉链表是二叉树的存储结构C.栈和队列是线性表D.循环链表是循环队列的链式存储结构
8.有以下程序.#include<stdio.h>main{charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar;c6=getchar;putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第l列开始)123<回车>45678<回车>程序运行后,若从键盘输入(从第l列开始)123<回车>45678<回车>则输出结果是()。A.1267B.1256C.1278D.1245
9.若变量a,b已正确定义,且b已正确赋值,则合法的语句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
10.若有定义inta=5,b=7;,则表达式a%=(b%2)运算后,a的值为()。
A.0B.1C.11D.3
11.下述哪一个是顺序存储结构的优点()。
A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示
12.
读取二进制文件的函数调用形式为:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一个文件指针,指向待读取的文件
B.一个整型变量,代表待读取的数据的字节数
C.一个内存块的首地址,代表读人数据存放的地址
D.一个内存块的字节数
13.设有以下语句:intx=10;x+=3+x%(3),则x的值是()。
A.14B.15C.11D.12
14.栈和队列的共同点是()。
A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素D.没有共同点
15.下面程序的输出结果是______。#include<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti:for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}
A.SOB.SPC.SPOPKD.SHOB
16.已知shortint类型变量占用两个字节,若有定义:shortintx[10]={0,2,4};,则数组x在内存中所占字节数是()。
A.3B.6C.10D.20
17.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
18.在供应关系中,实体供应商和实体零件之间的联系是()。
A.多对多B.一对一C.多对一D.一对多
19.
20.下列叙述中正确的足
A.软件交付使用后还需要进行维护
B.软件一旦交付使用就不需要再进行维护
C.软件交付使用后其生命周期就结束
D.软件维护是指修复程序中被破坏的指令
二、2.填空题(20题)21.以下程序中,函数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,1,8.3},s;
sumColumMin(______)
printf("%d\n".s):
}
22.以下程序运行后的输出结果是【】。
#include<stdio.h>
main()
{intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
23.数据库的逻辑模型设计阶段的任务是将______转换成关系模式。
24.以下程序从终端输入一行字符放在s数组中,输入以回车符作为结束,函数fun统计存放在s数组中每个数字字符的个数。形参ch指向s数组,形参n给出了s数组中字符的个数。在acc数组中用下标为0的元素统计字符“0”的个数,下标为1的元素统计字符“1”的个数,…。请填空。
#include<stdio.h>
voidfun(int*,char*,int);
main()
{chars[80],c;intacc[10],i=0;
printf("Entercharacters:\n");
while((c=getchar())!='\n')s[【】]=c;
fun(【】);
for(i=0;i<10;i++)printf("%c:%d\n",'0'+i,acc[i]);
printf("\n\n");
}
voidfun(int*a,char*ch,intn)
{inti,d;
for(i=0;i<10;i++)a[i]=【】;
for(i=0;i<n;i++)
{d=【】;a[d]++;}
}
25.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。
26.模式/内模式映射为数据库提供了【】数据独立性。
27.有下列程序,功能是把输入的+进制长整型数以+六进制的形式输出,完成程序
#include"stdio.h"
main()
{charb[17]={"0123456789ABCDEF"};
intc[50],d,i=0,base=16;
longn;
scanf("%1d",&n);
do{c[i]=n%base;i++;n=【】;}
while(n!=0);
for(--i;i>=0;--i)
{d=【】;printf("%c",b[d]);}
printf("H\n");}
28.下面程序的输出结果是【】。
charb[]="ABCD";
main()
{
charb[30];
strcpy(&b[0],"GH");
strcpy(&b[1],"GH”);
strcpy(&b[2],"GH");
printf("%s\n",B);
}
29.若a是int型变量,则下列表达式的值为______。
(a=2*3,a*2),a+4
30.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中,______是用户的数据视图,也就是用户所见到的数据模式。
31.下列程序输出的结果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
32.以下程序运行后的输出结果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
33.软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于【】测试。
34.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
35.在深度为7的满二叉树中,度为2的节点个数为()。
36.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。
37.
main()
{printf("Thesum=%d\n",SunFun(10));}
SunFun(intn)
{intx,s=0;
for(x=0;x<=n;x++)s+=F(【】);
returns;
}
F(intx)
{return(【】);)
38.以下程序的输出结果是【】。
main()
{
intarr[]={30,25,20,15,10,5},*p=arr;
p++;
printf("%d\n",*(p+3));
}
39.数据结构分为线性结构和非线性结构,带链的队列属于[]。
40.以下程序运行后的输出结果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
三、1.选择题(20题)41.若以“叶”方式打开一个己存在的文件,则下列叙述正确的是()。
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作
B.文件打开时,原有文件内容不被删除,只能进行读操作
C.文件打开时,原有文件内容被删除,只能进行写操作
D.以上3种说法都不正确
42.以下程序的输出结果是()。#inClude<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(+1);printf("%d,%d",a,b);}
A.6,1B.2,1C.6,0D.2,0
43.下列形式的常数中,不符合c语言语法规范的是______。
A.0.45B.±123C.25.6e-2D.4e3
44.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是()
A.顺序内聚B.偶然内聚C.时间内聚D.逻辑内聚
45.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。
A.地址传递B.单向值传递C.由实参传给形,再由形参传回实参D.传递方式由用户指定
46.下列叙述中正确的是()。
A.数据库系统是一个独立的系统,不需要操作系统的支持
B.数据库系统的根本目标是要解决数据的共享问题
C.数据库管理系统就是数据库系统
D.以上三种说法都不对
47.下列说法正确的是()。
A.一个C程序可以有多个主函数
B.一个C语言的函数中只允许有一对花括号
C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内
D.在对C程序进行编译时,可以发现注释行中的拼写错误
48.下列程序执行后的输出结果是______。main(){intm[][3]={1,4,7,2,5,8,3,6,9};inti,k=2;for(i=0;i<3;i++){printf("%d",m[k][i]);}}
A.456B.258C.369D.789
49.设有定义:intk=1,m=2;floatf=7;则下列选项中错误的表达式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
50.设有下列定义:structsk{intm;floatx;)dara,*q;若要使q指向data中的m域,正确的赋值语句是()。
A.q=&data.m;
B.*q=data.m;
C.q=(structsk*)&data.m;
D.q=(structsk*)data.m;
51.fwrite函数的一般调用形式是
A.fwrite(buffer,count,size,fp);
B.fwrite(fP,size,count,buffer);
C.fwrite(fp,count,size,buffer);
D.fwrite(buffer,size,count,fp);
52.下面函数调用语句含有实参的个数为()。func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.3D.5
53.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的
A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法
54.若有以下定义,则正确的switch语句是______。floatx;inta,b;
A.switch(x){case1.0:printf("*\n");csse2.0:printf("**\n");}
B.switch(x){case1,2:printf("*\n");case3:printf("**\n");}
C.switch(a+b){case1:printf("\n");case1+2:printf("**\n");}
D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");}
55.执行下面程序的正确结果是()main(){floata=1.9switch(A){case0:printf("0000");case1:printf("1111");case2:printf("3333");}printf("%f",A);}
A.1.900000
B.111133331.900000
C.33331.900000
D.00001111233331.900000
56.数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
57.请读程序:#include<stdio.h>voidfun(int*s){staticintj=0;dos[j]+=s[j+1]while(++j<2);}main(){intk,a[10]={l,2,3,4,5};for(k=l;k<3;k++)fun(a);for(k=0;k<5;k++)prinf("%d",a[k]);}上面程序的输出结果是()
A.34756B.23445C.35745D.12345
58.以下叙述中正确的是()
A.在函数中必须要有return语句
B.在函数中可以有多个return语句,但只执行其中的一个
C.return语句中必须要有一个表达式
D.函数值并不总是通过return语句传回调用处
59.以下叙述中错误的是()。
A.C程序中的#include和#define行均不是C语句
B.除逗号运算符外,赋值运算符的优先级最低
C.C程序中,j++;是赋值语句
D.C程序中,+、-、*、/、%是算术运算符,可用于整型和实型数的运算
60.结构化程序设计的3种基本结构是()。
A.过程、子程序和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移
四、选择题(20题)61.
62.
63.
64.有以下程序段程序的输出结果是()。
A.a=10b=50c=10
B.a=10b=50c=30
C.a=10b=30c=lO
D.a=50b=30c=50
65.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是()。
A.选择B.连接C.投影D.并
66.下列合法的声明语句是()。
A.intabc=50;
B.doubleint=3+5e2.5;
C.longdo=1L;
D.float3asd=3e一3;
67.若调用fputc函数输出字符成功,则其返回值是()。
A.EOFB.1C.0D.输出的字符
68.
69.有以下程序:
程序运行后的输出结果是()。
A.0B.一1C.1D.7
70.面下程序段的运行结果是
charstr[]="ABC",*p=str;
printf("%d\n",*(p+3));
A.67B.0C.字符’C’的地址D.字符’C’
71.
72.以下语句的输出结果是()。
inta=-1,b=4,k;
k=(++a<0)!(b--<=0);
printf("%d,%d,%d\n",k,a,b);
A.1,0,4B.1,0,3C.0,0,3D.0,0,4
73.以下选项中,当x为大于l的奇数时,值为0的表达式是()。
74.
75.下列叙述中正确的是()。
A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式
B.实型变量中允许存放整型数
C.若a和b类型相同,在执行赋值a=b后,b中的值将放入a中,但b中的值不变
D.在C程序中,求余算符“%”两边的类型相同时才能进行运算
76.
有以下程序
#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.Qian,f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
77.
78.下列叙述中正确的是()。
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
79.为了使模块尽可能独立,要求()。
A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
80.以下叙述中不正确的是()。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.编写函数fun(),其功能是:根据以下公式求的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入所编写的若干语句。试题程序:
参考答案
1.D解析:在关系数据表中,行称为元组,对应存储文件中的记录,列称为属性,对应存储文件中的字段,所以本题答案为D。
2.A解析:和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的特例,相对而言,链式栈的操作更易于实现。注意:这3种运算方法在各种存储结构中的应用。
3.A数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实和完善的。故答案为A选项。
4.D
5.D本题考查两个知识点,按位异或左移把b左移2位化成二进制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故选择D。
6.AC语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。
7.D循环链表是线性表的一种链式存储结构,循环队列是队列的一种顺序存储结构。因此D选项叙述错误。本题答案为D选项。
8.Dscanf函数读取的是char型数据,所以回车时输入的换行符也是有效字符。于是cl,c2,c3,c4的内容分别是1,2,3,\n。
9.B在C语名中规定进行强制类型转换的格式是:(类型名)变量名;并且给表达式赋值。
10.A解析:本题考查'%'运算符的使用。运算符'%'要求两个运算对象都为整型,其结果是整数除法的余数。本题中表达式ao%=(b%2)等价于a=a%o(b%2)=5%(7%2)=5%1=0。
11.A
12.Cfread函数中的参数buffer是内存块的首地址,输入的数据存入此内存块中。
13.A
14.C解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”(或“先进后出”)的线性表;而队列只允许在表的一端进行插入操作,在另一端:进行删除操作,是一种“先进先出”(或“后进后出”)的线性表。因此栈和队列的共同点是只允许在端点处插入和删除元素。
15.A解析:p[0]存放的是“BOOL\\0”的首地址:p[1]存放的是“OPK\\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串的第—个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i--,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。
16.D
17.D解析:选项A:'a'&&'b'是字符a与b的相与,不为0:选项B:a<=b,由题中变量赋值可知,结果为1。选项C:a||+c&&b-c,结果为1;选项D:!((a<B)&&!c||1),运算结果为0。
18.A一家供应商可提供多种零件,一种零件也可被多家供应商提供。所以实体供应商和实体零件之间的联系是多对多。本题答案为A选项。
19.B
20.A解析:本题考核软件维护的概念.维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。软件维护通常有以下四类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述,本题的正确答案是A,其余选项的说法错误。
21.a[k][i]*sumx&s
22.33解析:(p/3>0?p/10:p%3)是一个条件表达式。题中p=30,p/3>0为真,所以p/10的结果3作为整个表达式的值。
23.E-R图E-R图解析:数据库逻辑设计的任务是将概念模型进一步转化成相应的数据模型。而E-R图是主要的概念模型,因此数据库的逻辑设计的主要工作是将E-R图转换成关系模式。
24.i++accsi0ch[i]-'0'
25.概念概念
26.物理物理
27.n/base或n/16c[i]n/base或n/16\r\nc[i]解析:字符串的综合运用。
28.GGGHGGGH解析:由于在函数main中定义了数组变量b,其将屏蔽全局变量b。对于一维数组变量,其值为一常数,等于数组首元素地址。strcpy(&b[0],'GH'),是将字符串,'GH',复制到数组b中从首元数开始的空间中,此是b中的字符串为'GH';strcpy(&b[1],'GH'),是将字符串“GH'复制到数组b中从第二个元素开始的空间中,此是b中的字符串为'GH'。执行第三次strcpy函数后,b中的字符串为'GGGH'。
29.1010解析:此题考查逗号表达式。逗号表达式的值是最后一个表达式的值,所以本题的返回值是a+4。前面已经给a赋值6,所以追回值a+4=6+4=10。
30.外模式外模式解析:数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。
31.11解析:本题考查局部变量和全局变量的区别:局部变量是指作用域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。本程序首先定义了一个全局变量m=17,m=17的作用域在整个程序内。在fun函数内部定义了一个局部变量m=3,m=3的作用域仅在fun函数内部,通过fun函数返回两个形参的积再减m。在主函数中,输出fun(a,b)/m=(5*7-3)/17=1。
32.33解析:条件表达式的一般形式为;表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值;若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。30/3=10>0,所以执行p/10,结果为3。
33.黑箱或黑盒黑箱或黑盒解析:黑箱测试是根据程序规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑箱测试技术分为等价类划分、边界分析、错误猜测以及因果图等。
34.1919解析:根据二叉树的性质
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度城市综合体精装修工程承包合同
- 2025年度建筑工地施工材料检验检测合同
- 2025年度广告创意设计及制作合同
- 2025年度城市快递配送与最后一公里服务合同
- 2025年度建筑工地施工安全风险评估及整改合同
- 2025年度建筑木工材料采购及施工管理合同
- 2025年度建筑工程施工合同廉洁管理协议
- 2025年度数据中心设备维护与运营合同范本
- 2025年度智能售楼处物业安全防范合同
- 2025年度建筑公司分公司承包建筑节能减排技术研发合同
- 交叉口同向可变车道动态控制与信号配时优化研究
- 护理专业应聘个人简历
- 北师大版二年级上册100以内加减法竖式计算题300道及答案
- 安华农业保险股份有限公司北京市地方财政生猪价格指数保险条款(风险敏感型)
- 事业单位考试题库:公文写作能力测试试题及答案
- 2024-2025学年北师大版初一物理上册期末质量检查卷及答案
- 6.2《青纱帐-甘蔗林》-【中职专用】高一语文课件(高教版2023·基础模块下册)
- 2023年开工第一课及复工复产考试试题(含答案)
- 宗教知识的课件
- GB/T 22849-2024针织T恤衫
- 设备维保的维修流程与服务流程
评论
0/150
提交评论