版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年黑龙江省佳木斯市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.下面属于黑盒测试方法的是()。
A.边界值分析B.路径覆盖C.语句覆盖D.逻辑覆盖
2.有以下程序:#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf(“%4.1f\n”,S(a+b));}程序的运行结果是()。
A.7.5B.31.5C.程序有错,无输出结果D.14.0
3.冒泡排序在最坏情况下的比较次数是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
4.判断一个循环队列cq(最多元素为m)为空的条件是()。A.cq->rear-cq-front=m;
B.(cq->rear+1)%m=cq->front;
C.cq->front=cq->rear;
D.cq->rear=m-1;
5.
6.有以下程序:#include<stdio.h>voidfun(intn){if(n/2)fun(n/2);printf(“%d”,n%2);}main(){fun(10);printf(“\n”);}程序运行后的输出结果是()。
A.0101B.1000C.1100D.1010
7.以下不正确的叙述是()。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变
D.当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值
8.以下程序的输出结果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}
A.258B.741C.852D.369
9.有以下程序
#include<stdio.h>
main()
{inty=10
while(y--);
printf(“y=%d\n”,y);
}
程序执行后的输出结果是()。A.y=0B.y=-1C.y=1D.while构成无限循环
10.下列不属于软件工程的3个要素的是
A.工具B.过程C.方法D.环境
11.第
24
题
下面程序段的运行结果是
char*p="abcdefgh";
p+=3;
printf("%d\n",strlen(strcpy(p,"ABCD")));
A.8B.12C.4D.7
12.C语言的基本单位是()。
A.函数B.过程C.子程序D.子函数
13.以下程序段中的变量已正确定义:for(i=0;i<4;i++,i++) for(k=1;k<3;k++); printf(“*”);程序段的运行结果是()。
A.**B.****C.*D.********
14.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是______。
A.控制流B.加工C.数据存储D.源和潭
15.顺序查找法适合于存储结构为()的线性表。
A.散列存储B.顺序存储或链式存储C.压缩存储D.索引存储
16.阅读下面程序段,则执行后的结果为#include"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn){return(m*m*m-n*n*n);}
A.64B.8C.56D.0
17.以下说法错误的是A.A.高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式
B.计算机只能处理由0和1的代码构成的二进制指令或数据
C.C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件
D.每一种高级语言都有它对应的编译程序
18.设inta=12,则执行完语句a+=a-=a*a后,a的值是()。
A.552B.264C.144D.-264
19.
20.有下列程序:
fun(intx)
{intp;
if(x==0‖x==1)return(3);
p=x-fun(x-2);
returnp;
}
main()
{printf("%d\n",fun(7));}
执行后的输出结果是()。
A.7B.3C.2D.0
二、2.填空题(20题)21.长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为【】。
22.下列程序的运行结果为【】。
#include<stdio.h>
main()
{staticcharstr1[40];
charstr2140];
strcpy(str2,"China");
strcat(str1,str2);
strcat(str1,"isagreatcountry!");
printf("%s%s",str2,strl);
printf("%d%d\n",strlen(str2),strlen(str1));
}
23.数据模型按不同应用层次分成3种类型,它们是概念数据模型、【】和物理数据模型。
24.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【】。
structstud
{charnum[6];
mts[4];
doubleave;
}a,*p;
25.写出下列程序的输出结果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
26.为了便于对照检查,测试用例应由输入数据和预期的【】两部分组成。
27.下列程序输出的结果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
28.以下程序运行后的输出结果是【】。
#include<stdio.h>
main()
{inta,b,c;
a=25;b=025;e=0x25;
prinff("%d%d%d\n",a,h,c);
}
29.下面程序的输出走【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
30.若x和a均是int型变量,则计算完x=(a=4,6*2)后的x值为______。
31.以下fun函数的功能是:累加数组元素中的值,n为数组中元素的个数。累加的和值放入x所指的存储单元中。补足所缺语句。
fun(intb[],intn,int*x)
{intk,r=0;
for(k=0;k<n;k++)r=【】;
【】=r;
}
32.在关系数据库中,将数据表示成二维表,每一个二维表称为______。
33.函数compare的功能是比较两个字符串是否相等,若相等则函数返回1,否则返回o,请填空。
compare(chars[],chart[])
{
inti=0
while(s[i]==t[i]&&【】)i++;
return(【】?1:0);
}
34.对于软件测试,从是否需要执行被测软件的角度,可以分为静态测试和动态测试。代码检查属于______测试。
35.以下程序运行后的输出结果是()。
intf(inta[],intn)
{if(n>=1)returnf(a,n-1)+a[n-1];
elsereturn0;
}
main()
{intaa[5]={1,2,3,4,5),s;
s=f(aa,5);printf("%d\n",s);
}
36.已知字符'A'的ASCII码值为65,以下语句的输出结果是【】。
charch='B';
printf("%c%d\n",ch,ch);
37.软件维护活动包括以下几类:改正性维护、适应性维护、【】维护和预防性维护。
38.以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。
请填空。
#defineN3
#defineM4
voidLineMax(intx[N][M])
{inti,j,P;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])【】;
printf("Themaxvalueinline%dis%d\n",i,【】);
}
main()
{intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
【】;
}
39.若定义#definePI3.14159,则执行完下列程序后输出结果是______。
#definePI3.14159;printf("PI=%P",PI);
40.以上程序运行后的输出结果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
三、1.选择题(20题)41.模块本身的内聚是模块独立性的重要性度量因素之—。在7类内聚中,具有最强内聚的—项是______。
A.顺序性内聚B.过程性内聚C.逻辑性内聚D.功能性内聚
42.下列程序的输出结果是______。inti=010,j=10;printf("%d,%d\n",++i,j--);
A.11,10B.9,10C.010,9D.10,9
43.当执行下面程序且输入aboy时,输出的结果是______。#include<stdio.h>#include<string.h>main(){charss[81]="ABOY",hh[81],*pt;scanf("%s",hh);pt=strcat(ss,hh);puts(pt);printf("%s\n",hh);}
A.ABOYaa
B.ABOYaboyaboy
C.ABOYaboya
D.ABOYaboyaboy
44.若有如下说明:unions{chara[9]intb;floatc;}t;则下列叙述正确的是()
A.共用体变量t不能作为函数的参数
B.通过引用共用体变量名t可以得到成员的值
C.共用体变量t的地址和它的各成员的地址不同
D.共用体变量t所占的内存长度等于它的各成员所占的内存长度之和
45.
对两个数组a和b进行下列初始化:
charm[]="1234567";
charn[]={1,2,3,4,5,6,7};
则下列叙述正确的是()。
A.数组m与数组n完全相同B.数组m与数组n长度相同C.数组m比数组n长1D.数组m与数组n中都存放字符串
46.有以下程序
#include<stdio.h>
main0
{inty=9;
for(;y>0;y--)
if(y%3==0)printf("%d",--y);
}
程序的运行结果是
A.741B.963C.852D.875421
47.若说明int*p,n;则通过语句scanf能够正确读入数据的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p);
C.scanf("%d",n);
D.p=&n;scanf("%d",p);
48.执行下面的程序后,a的值为main(){inta,b;for(a=1,b=1;a<=10;a++){if(b%3==1){b+=3;continue;}b-=5;}}
A.7B.8C.9D.10
49.对下面的程序进行编译与连接生成可执行文件c.exe,并在DOS命令提示符下输入:cIsaid"IloveChina"!程序代码如下:main(intargc,char*argv[]){printf("%d",argC);}其输出结果为______。
A.4B.5C.6D.7
50.对以下说明语句的正确理解是inta[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
51.若有以下说明和定义fun(int*C){…}main(){int(*A)()=fun,*b(),w[10],c;┇}在必要的赋值之后,对fun函数的正确调用语句是()
A.a=a(w);B.(*a)(&c);C.b=*b(w);D.fun(b);
52.软件工程的理论和技术性研究的内容主要包括软件开发技术和()。
A.消除软件危机B.软件工程管C.程序设计自动化D.实现软件可重用
53.有以下程序unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a,u.z=6;a.k=0;printf("%d\n",a.u.x);}程序运行后的输出结果是()
A.4B.5C.6D.0
54.有如下定义structperson{charname[9];intage;};structpersonclass[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};根据上述定义,能输出字母M的语句是
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0));
55.下列存储器中,存取速度最快的是()。
A.软盘B.硬盘C.光盘D.内存
56.使计算机病毒传播范围最广的媒介是________
A.硬磁盘B.软磁盘C.内部存储器D.互联网
57.在数据库技术中,面向对象数据模型是一种______。
A.概念模型B.结构模型C.物理模型D.形象模型
58.以下程序的输出结果是()。main(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d%d%d\n"m,k,a,b);}
A.104B.103C.3D.4
59.有以下程序
#include<stdio.h>
voidfun(char*t,char*s)
{while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);printf("%s,%s\n",ss,aa);
}
程序的运行结果是
A.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
60.以下叙述正确的是()。
A.C语言中的文件是流式文件,因此只能顺序存取数据
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第一个数据
D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
四、选择题(20题)61.在单链表中,增加头结点的目的是______。
A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现
62.有以下程序:执行时输入:0<;回车>;后,则输出结果是()。A.5,B.0,0,0,0,0,C.0,1,2,3,4,D.0,1.
63.下列选项中,不属于模块间耦合的是()。A.数据耦合B.标记耦合C.异构耦合D.公共耦合
64.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为()。
A.PAD图B.N—S图C.结构图D.数据流图
65.在函数中默认存储类型说明符的变量应该是________存储类型。
A.内部静态B.外部C.自动D.寄存器
66.对如下二叉树进行后序遍历的结果为()。
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
67.有以下程序
main()
{charstr[]="xyz",*ps=str;
while(*ps)ps++;
for(ps--;ps-str>=0;ps--)
puts(ps);
}
程序的运行结果是
A.yzB.zC.zD.x
xyzyzyzxy
xyzxyz
68.在位运算中,操作数左移一位,其结果相当于A.A.操作数乘以2
B.操作数除以2
C.操作数除以4
D.操作数乘以4
69.
70.有以下程序:
#include<stdio.h>
main()
{chara[5][10]={"one","tw0","three","four","five"};
inti,j;
chart:、
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i][O]>a[j][0])
{t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;)
puts(a[1]);
}
程序运行后的输出结果是()。
A.fwo
B.fix
C.two
D.owo
71.有以下程序:
#include<stdio.h>
main()
{unsignedchara=8,C;
C=a>>3:
printf("%d\n",c);
}
程序运行后的输出结果是()。
A.32B.16C.1D.0
72.
73.有以下程序:
程序运行后的输出结果是()。
A.aegiB.dfhkC.abedD.abedefghijk
74.Internet使用的网络协议是()。
A.3CP协议B.TCP/IP协议C.UDP协议D.IP协议
75..C语言运算对象必须是整型的运算符是
A.%B./C.=D.<
76.下面程序由两个源程序文件t4.h和t4.c组成,程序编译运行的结果是()。
t4.h的源程序为:
A.920B.1611C.911D.1610
77.
78.(66)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为()
A.PAD图
B.N-S图
C.结构图
D.数据流图
79.(VC++)若有以下定义,则对b数组元素正确的引用是
intb[2][3]={1,2,3,4,5,6};A.b[1]B.b[0][3]C.b[2][2]D.b[1][1]
80.
五、程序改错题(1题)81.下列给定程序中,函数proc的功能是:先将字符串s中的字符按顺序存放到t中,然后把S中的字符按正序连接到t的后面。例如,当s中的字符串为WXYZ时,则t中的字符串应为WXYZWXYZ。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidproc(char*s,char*t)
{
inti,s1;
s1=strlen(s);
for(i=0;i<s1;i++)
//****found****
t[i]=s[s1];
for(i=0;i<s1;i++)
t[s1+i]一s[i];
t[2*s1]=\O0;
}
voidmain
{
chars[100],t[100];
system("CLS");
print{("\nPleaseenterstrings:");
scanf("%s",s);
proc(s,t);
printf("Theresultis:%s\n",t);
}
六、程序设计题(1题)82.编写函数fun(),其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例如,分别输入下面两个字符串:“FirstString——”“SecondString”程序输出:“FirstString——SecondString”注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:
参考答案
1.A黑盒测试方法主要有等价类划分、边界值分析、因果图、错误推测等。白盒测试的主要方法有逻辑驱动、路径测试等,主要用于软件验证。
2.C宏定义不是C语句,末尾不需要有分号。语句“printf(“%4.1f\\n”,S(a+b));”展开后为“printf(“%4.1f\\n”,3.5;*a+b*a+b;);”,所以程序会出现语法错误。故本题答案为C选项。
3.C冒泡排序的基本思想是:将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其他值较大的元素也向最终位置移动,此过程称为一趟冒泡。对于有n个数据的序列,共需n-1趟排序,第i趟对从l到n-i个数据进行比较、交换。冒泡排序的最坏情况是待排序序列逆序,第l趟比较n-1次,第2趟比较n-2次。依此类推,最后趟比较1次,一共进行n-l趟排序。因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2)+…+l,结果为n(n-1)/2。本题的正确答案是选项C。
4.C
5.C
6.D函数fun的作用是求一个十进制数的二进制数。通过辗转相除法获取这个整数的二进制数。因此(10)10=(1010)2。故本题答案为D选项。
7.D
8.C解析:在本题运行时主要注意的是当i=9时,a[i]=10-9=1:i=8时,a[i]=10-8=2;i=7时,a[i]=10-7=3;……依此类推,直到i=0时,a[i]=10-0=10:此时,i的值已变为-1,判断for的循环条件,不成立,然后输出a[2],a[5],a[8]分别为8,5,2。
9.B解析:y-的作用是先取其值作为表达式的值,然后y的值减1存入y。当y>0时循环继续,直到y=0时循环结束,然后y值减1存入y中,所以选B。
10.D解析:本题考查了软件工程的基本概念。软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制和管理。
11.C在本题中,程序段首先定义了字符型指针变量p,并使其指向一个字符串,然后将指针变量p加3,即使其指向字符串的第四个元素。然后执行输出语句,通过输出语句的输出格式我们可以知道,最后输出的是一个十进制数的整型数值,其输出列表为strlen(strcpy(P,″ABCD″))。这就要求我们了解strlen函数和strcpy函数的作用。
strcpy的调用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串复制到目的地址中,这种复制将覆盖原来的字符串。strcat函数的功能是将源地址的字符串复制到目的地址字符串的后面。
strlen的调用格式是:strlen(字符串地址),其功能是返回字符串中字符的个数。
那么程序中执行strcpy(P,″ABCD″)后指针变量p所指向的字符串为“ABCD”,该字符串中字符的个数为4,那么执行strlen后,程序最终输出的结果是4。因此本题正确的答案是C。
12.AA。【解析】C语言是函数式的语言。它的基本组成单位是函数,在C语言中任何程序都是由一个或者多个函数组成的。
13.C因为内层循环“for(k=1;k<3;k++)”后面直接跟了空语句“;”,所以在循环内部什么操作也不做,跳出外层循环后执行printf语句,输出一个“*”。故本题答案为C选项。
14.A解析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。
15.B
16.C解析:如果没有指明函数值类型,则默认函数返回值的类型为int型。注意:顺序程序结构的执行过程。
17.C本题主要考查我们对C语言一些基础知识的掌握情况。下面分别分析本题的四个选项。
由于高级程序设计语言具有可读写、可理解性好等特点,这就要求高级程序设计语言用接近人们习惯的自然语言和数学语言作为语言的表达形式,选项A的说法正确。
在计算机中,机器可以接受和处理的只能是由0和1组成的二进制代码,用高级语言编写的程序都需要经过编译和连接,使其转化为二进制代码才能被机器执行。因此,选项B的说法正确。
C语言源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。因此,选项C的说法不正确。
由于高级语言编写的程序都需要经过编译和连接,才能被计算机执行,因此,每一种高级语言都有它对应的编译程序,D选项的说法正确。
18.D
19.B
20.C解析:因为在函数fun(intx)中,如果参数x等于0或1时,返回值3。否则p=x-fun(x-2)这是一个递归函数,所以在主函数调用fun(7)时,其过程为:“fun(7)=7-fun(5)=7-(5-fun(3))=7-(5-(3-fun(1))=7-(5-(3-3))=7-5=2”,所以最后的输出结果为2。
21.n/2性表的任何位置插入一个元素的概率相等,即概率为p=1/(n+1),则插入一个元素时所需移动元素的平均次数为E=1/(n+1)(n-i+1)=n/2。
22.ChinaChinaisagreatcountry!525
23.逻辑数据模型逻辑数据模型解析:数据是现实世界符号的抽象,而数据模型(datamodel)则是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束行为,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型按不同的应用层次分成3种类型,它们是概念数据模型(conceptualdatamodel)、逻辑数据模型(logicdatamodel)、物理数据模型(physicaldatamodel)。
24.2222解析:C语言里char类型占1个字节,int类型占2个字节,float类型占4个字节,double类型占8个字节,因此变量a在内存中所占字节数=1*6+4*2+1*8=6+8+8=22。
25.333,3解析:本题在while(n++<=1)语句后,直接加了分号,说明如果while()的条件为真时,该循环什么都不做:n++是先取n的当前值和1做比较,然后再将n加1。第一次循环,n=0时,循环条件n++=<1成立,执行循环,然后得到n=1。第二次循环,n=1时,循环条件n++=1<=1成立,执行循环,然后得到n=2。第三次循环,n=2时,循环条件n++=2<=1不成立,不执行循环,但在判断循环条件时仍将n加1,得到n=3.退出循环后执行printf语句,第二个printf语句输出n++,是先输出n的当前值3,然后再将n加l,即程序结束后得到n=4,但输出的是3。
26.输出结果输出结果解析:注意:测试的基本方法和步骤。
27.11解析:本题考查局部变量和全局变量的区别:局部变量是指作用域在函数级和块级的变量,全局变量是指作用域在程序级和文件级的变量。本程序首先定义了一个全局变量m=17,m=17的作用域在整个程序内。在fun函数内部定义了一个局部变量m=3,m=3的作用域仅在fun函数内部,通过fun函数返回两个形参的积再减m。在主函数中,输出fun(a,b)/m=(5*7-3)/17=1。
28.252137252137解析:程序中变量a、b、c分别为十进制、八进制、十六进制的数25,按%d格式输出,a的输出值为25;b=025转换为十进制数(b=2*8+5=16+5=21)输出;c=0x25转换为十进制数(c=2*16+5=32+5=37)输出。输出结果为252137。
29.DDBBCCDDBBCC解析:C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。
30.1212解析:x=(表达式1,表达式2,…)的形式,结果为最后一个表达式的值:x=(a=4,6*2)=2*6=12。
31.r+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r*xr+b[k]或b[k]+r或r+*(b+k)或*(b+k)+r\r\n*x
32.关系或关系表关系或关系表解析:在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系.表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名,表中的一行称为一个元组,相当于记录值。
33.s[i]&&t[i]或s[i]!='\0'&&t[i]!='\0'!(s[i]-t[i])s[i]&&t[i]或s[i]!='\\0'&&t[i]!='\\0'\r\n!(s[i]-t[i])解析:while后括号中的判断条件为两个字符串相同位置上的字符相等,且两个字符串都没有结束,则循环。故第一空应该填s[i]&&t[i]或其他等价表达式。如果两个字符串完全相等,则while循环退出时s[i]和t[i]的值同时为0,否则s[i]和t[i]不相等。故表达式s[i]-t[i]在字符串相等时为0,不相等时为非0,所以第二空应该填!(s[i]-t[i])就满足题意了。
34.静态静态解析:静态测试包括代码检查、静态结构分析,代码质量度量等。静态测试不实际运行软件。
35.1515解析:通过递归调用f函数实现了数组各元素之和,即a[4]+a[2]+a[1]+a[0]=15。
36.B66B66解析:字符B的ASCII码值为66,因此,按%c形式输出B,按%d形式输出66,输出结果为:B66。
37.完善性软件维护活动包括以下几类:改正性维护,适应性维护、完善性维护和预防性维护,完善性维护是指为了满足用户对软件提出的新功能与性能要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。
38.p=jx[i][p]LineMax(x)
39.PI=3.14159PI=3.14159解析:本题先定义了一个宏名PI,以后在程序中出现PI都用3.14159替代,但是C语言规定:双引号中的宏名是不进行替换的。
40.5252解析:do...while语句的形式为:
do
{
语句;
}while(条件表达式)
当条件表达式为非零时,继续执行循环体,直到条件表达式为零时退出循环。
41.D解析:内聚性是—个模块内部各元素间彼此结合的紧密程度的度量。内聚共有7类,它们之间的内聚性由弱到强排列顺序为:偶然内聚、逻辑内聚,时间内聚、过程内聚、通信内聚、顺序内聚和功能内聚。
42.B
43.A解析:对于函数strcat(ss,hh),把字符串hh(若遇空格,舍去后面的部分,并重新赋给hh)连至字符串ss的后面。
44.A
45.C解析:本题考查字符数组和字符串赋值给数组的一些区别。语句“charm[]='1234567';”定义了一个字符型数组并进行了初始化,C语言规定,在字符串的末尾自动加上串结束标记\'\\0\',因此数组m的长度是8;而数组n是按照字符方式对数组进行初始化,系统不会自动加上串结束标记\'\\0\',因此数组n的长度是7。
46.C解析:本题考察变量的自加'++'和自减'--'问题。当y的值为9、6或3时,if语句的条件成立,执行输出语句,输出表达式--y的值,y的自减要先于输出语句执行,故输出结果为852。
47.D解析:函数scanf的地址列表应由变量的地址组成。选项A中虽然&p也为地址,但它是指针变量p的地址,该地址的存储单元中只能存放地址值,不能存放整型数据。选项B中*p相当于变量n,所以不能正确读入数据;选项C不正确,因为n为变量名;选项D中p为指针变量,并且值为变量n的地址,所以选项D能够正确读入数据。D为所选。
48.D
49.B解析:带参数的main()函数常用形式为:main(intargc,char*argv[])其中,参数的个数由C程序运行时自动计算出来。字符型指针数组argv的第一个元素存放命令名,其后各个元素依次存放命令行中各个参数的首地址:整型变量argc用来记录命令行中的参数个数,文件名也作为一个参数,对于命令行中双引号内的字符串,即使空格分开,也只算是一个参数,同时双引号本身不算参数的内容,因此本题argc的值等于5。
50.B解析:本题中,表达式将5个初值分别赋给a[0]至a[4],系统自动给后面的元素a[5]至a[9]赋0。
51.B
52.B解析:软件工程的目标是,在给定的成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。基于这一目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。
53.D
54.D解析:这是一个给结构体数组赋初值的问题。它的赋初值过程与上述二维数组赋初值很相似。只是这里的大括号中的初始值没有按行给出(也即没有用大括号分开来),在这种情况下,初始值将按数组的各个元素在内存中的存放次序逐个逐个地赋给各元素。现在结构体数组的各个元素在内存中的存放次序是这样的:class[0].name,class[0].age,class[1].name,class[1].age…,由此可以知道,包含字母‘M’的字符串'Mary'赋值给了元素class[2].name,则与字符‘M’先相对应的表达式是class[2].name[0]。
55.D\nD【解析】存储器中.存取速度最快的是内存。
\n
56.D
57.B解析:数据模型可以划分为两类:概念模型和数据模型。概念模型,也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。数据模型,也称结构模型,主要包括网状模型、层次模型、关系模型、面向对象数据模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。
58.D解析:&&的优先级高于=,先计算&&左侧的表达式++a<0。先对a加1再与0比较大小,a=-1+1=0,++a<0为假即0,&&左侧的表达式的值为0,不再计算&&右侧的表达式的值,因此b的值不变仍然为4,整个逻辑表达式的值为0,则k被赋值为0。输出的结果为004。
59.D解析:本题中fun函数实现了字符串函数strcat的功能,将字符串aa连接到字符串ss的末尾。调用fun函数时,形参t和s分别指向了字符串ss和aa,然后通过一个while循环使t指向字符串ss的结束符的位置,第二个while循环将字符串aa中的字符(包括结束符'\\0')逐个复制到字符串ss的末尾处。
60.D解析:C语言中的文件有两种存取方式:顺序存取和直接存取。文件打开之后,就可以进行读写操作。读写操作函数可以指定文件使用方式。在使用完一个文件后应关闭它,以防误操作。
61.A\nA。【解析】头结点不仅标识了表中首结点的位置,而且根据单链表(包含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点的目的是为了便于运算的实现。
\n
62.C”anf(”%c”,&c),输入的字符,题目中输入了0,字符0,对应于ASCIl码为48,因此for循环中,i的范围从0~5,均小于48,if条件不成立,直接执行下一条语句,执行语句prinff,因此得到的结果是0,1,2,3,4。故答案为C选项。
63.C解析:模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年股权质押融资增信保障合同范本版B版
- 2024年中国药棉布市场调查研究报告
- 2024年度体育俱乐部运动员职业发展与保障合同3篇
- 2025年度外脚手架租赁与施工质量监督合同3篇
- 2024年中国膨胀石墨卷材市场调查研究报告
- 2024年物业服务管理纲要协议
- 2025版艺术培训机构教师聘用合同范本
- 2025年度虚拟偶像形象授权使用合同3篇
- 二零二五年度借车合同模板:企业内部车辆借用及责任划分协议
- 2024年水用香精项目可行性研究报告
- 高级管理招聘面试题与参考回答2024年
- 国际合作项目风险管理
- 临床5A护理模式
- 第一单元《认识物联网》第1课 互联网和物联网 教案 2023-2024学年浙教版(2023)初中信息技术七年级下册
- 洁柔形象升级与整合内容营销方案
- 仿真绿植安装施工方案
- 2024年四川省南充市从“五方面人员”中选拔乡镇领导班子成员201人历年高频500题难、易错点模拟试题附带答案详解
- 各类学校校园安全应急预案汇编-(附应急全套流程图)
- 送养协议书范本范本
- 吸入疗法在呼吸康复应用中的中国专家共识2022版
- 信息科技课程标准测(2022版)考试题库及答案
评论
0/150
提交评论