版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021-2022年海南省三亚市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.
2.若有以下的说明和语句,则在执行for语句后,’(*(pt+1)+2)表示的数组元素是()。intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
3.有下列程序:程序执行后的输出结果是()。A.2,14,3,18,4,18
B.1,14,2,18,3,18
C.2,14,3,18,4,22
D.1,14,2,18,3,18,4,18
4.以下不构成无限循环的语句或语句组的是()。
A.n=0;do{++n;}while(n<=0);
B.n=0;while(1){n++;}
C.n=10;while(n);{n--;}
D.for(n=0,i=1;i++)n+=i;
5.有以下程序:#include<stdio.h>main(){inta[3][3]={{1,3,5,},{7,9,11,},{13,15,17}};int(*p)[3]=a,i,j,n=0;for(i=0;i<3;i++)for(j=0;j<2;j++)n+=*(*(p+i)+j);printf(“%d\n”,n);}程序运行后的输出结果是()。
A.54B.60C.36D.48
6.设有定义intn=0,*p=&n,**q=&p;,则下列选项中正确的赋值语句是
A.p=1;B.*q=2;C.q=p;D.*p=5;
7.若有以下说明:chars1[]={"tree"},s2[]={"flower"};,则以下对数组元素或数组的输出语句中,正确的是()。
A.printf("%s%s",s1[5],s2[7]);
B.printf("%c%c",s1,s2);
C.puts(s1);puts(s2);
D.puts(s1,s2);
8.在待排序文件已基本有序的前提下,下述排序方法中效率最高的是()。
A.直接插入排序B.直接选择排序C.快速排序D.二路归并排序
9.有以下程序main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf(“%d\n”,x);}程序运行后的输出结果是______。A.3B.5C.-1D.-2
10.在银行业务中,实体客户和实体银行之间的联系是()。
A.—对一B.—对多C.多对一D.多对多
11.以下程序的输出结果是()。main(){inti,a[4][4]一{{1,3,5),{2,4,6},{3,5,7}};printf("%(1%d%d%d\n".a[O][3],a[1][2],a[2][1],a[3][0];}A.0650B.1470C.5430D.输出值不定
12.若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是
#include<stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:case′A′:
case′e′:case′E′:
case′i′:case′I′:
case′o′:case′O′:
case′u′:case′U′:v1+=1;
default:v0+=1;v2+=1;}}while(c!='\n');
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}
A.v0=7,v1=4,v2=7
B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
13.设有定义:“inta=1,b=2,C=3;”,以下语句中执行效果与其他三个不同的是()。
A.if(a>b)c=a,a=b,b=C;
B.if(a>b){c=a,a=b,b=C;}
C.if(a>b)c=a;a=b;b=C;
D.if(a>b){c=a;a=b.b=C;)
14.
15.要求通过while循环不断读入字符,当读入字母N时结束循环,若变量已正确定义,下列正确的程序段是()。
A.while((ch=getchar())!='N')printf("%c",ch);
B.while(ch=getchar()!='N')printf("%c",ch);
C.while(ch=getchar()=='N')printf("%c",ch);
D.while((ch=getchar())=='N')printf("%c",ch);
16.设二维数组A[1...m,1...n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。A.A.n*(i-1)+jB.n*(i-1)+j-1C.i*(j-1)D.j*m+i-1
17.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
18.有以下程序:
程序运行后的输出结果是()。
A.4B.34C.31D.32
19.已知A=10,B=20,下类表达式正确的是()。
A.C=(A++)*(--B)=200
B.A-=30
C.C=(A++)+(B--)=30
D.C=(++A)*(--B)=210
20.微型计算机的运算器、控制器及内存储器组合在一起,称之为()
A.ALUB.CPUC.MPUD.主机
二、2.填空题(20题)21.在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
22.设inta=5,b=6,表达式(++a==b--)?++a:--b的值是【】。
23.下面程序的运行结果是______。
typedefunionstudent
{
charname[10];
longsno;
charsex;
floatscore[4];
}STU;
main()
{
STUa[5];
printf("%d\n",sizeof(A));
}
24.\13'在内存中占1个字节,"\12"在内存中占______个字节。
25.二叉树的遍历可以分为三种:前序遍历、()遍历和后序遍历。
26.以下程序的输出结果是______。
main()
{chars[]="abcdef";
s[3]='\0';
printf("%s\n",s);
}
27.以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。例如,输入字符串:
abcl23edf456gh,执行程序后输出:123456。请填空。
#include<stdio.h>
#include<ctype,h>
main()
{chars[80],d[80];inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(【】){d[j]=s[i];j++;}
d[j]='\0';
puts(d);
}
28.函数rewind的作用是
29.下列程序用来将从键盘上输入的2个字符串进行比较,然后输出2个字符串中第1个不相同字符的ASCII码之差。例如,输入的2个字符串分别为abcdef和abceef,则输出为-1。
#include
main()
{charstr[100],str2[100],c;
inti,s;
printf("\ninputstring1:\n");gest(str1);
printf("\ninputstring2:\n");gest(str2);
i=0;
while((strl[i]==str2[i]&&(strl[i]!=【】))
i++;
s=【】;
printf(.%d\n",s);
30.计算机中存储容量的基本单位是字节,它的英文名称是【】。
31.若a=1,b=2,则表达式!(x=A)‖(y=B)&&0的值是______。
32.C语言中用______表示逻辑值为“真”,用数字“0”表示逻辑值为“假”。
33.用树型结构表示实体类型及实体间联系的数据模型称为【】。
34.下列程序的输出结果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
35.下述函数统计字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。
intword(char*s)
{intnum=0,flag=0;
while(*s)
{if(【】=")flag=0;
elseif【】{flag=1;num++}
}
return【】;}
36.单元测试又称模块测试,一般采用【】测试。
37.以下程序运行后的输出结果是______。
main
{
inna=b=c=5:
if(c=a+b)
printf("yes\n);
else
printf("no\n);
}
38.数据库系统的主要特点为数据集成性、数据的高______和低冗余性、数据独立性和数据统一管理和控制。
39.在C语言中,while和do…while循环的主要区别是______的循环至少被执行一次。
40.与二维表中的“行”的概念最接近的概念是()。
三、1.选择题(20题)41.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}执行后输出结果是()。
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
42.下列叙述中,不属于结构化分析方法的是()。A.A.面向数据流的结构化分析方法
B.面向数据结构的Jackson方法
C.面向数据结构的结构化数据系统开发方法
D.面向对象的分析方法
43.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。A.EOFB.非0值C.0D.NULL
44.一个存储结点存放一个______。
A.数据项B.数据元素C.数据结构D.数据类型
45.设有定义:inta,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()。
A.scanf("%d",pa);
B.scanf("%d",a);
C.scanf("%d",&pa);
D.scanf("%d",*pa);
46.sizeof(float)是()。
A.一种函数调用B.一种函数定义C.一个浮点表达式D.一个整型表达式
47.有以下程序
#include<stdio.h>
voidfun(int*s,intn1,intn2)
{inti,j,t;
i=n1;j=n2;
while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;}
}
main()
{inta[10]={1,2,3,4,5,6,7,8,9,0},k;
fun(a,0,3);fun(a,4,9);fun(a,0,9);
for(k=0;k<l0;k++)printf("%d",a[k]);printf("\n");
}
程序的运行结果是
A.0987654321B.4321098765C.5678901234D.0987651234
48.数据厍系统的核心是()。
A.数据模型B.软件开发C.数据库设计D.数据库管理系统
49.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是_______。
A.地址传递B.单向值传递C.由实参传给形,再由形参传回实参D.传递方式由用户指定
50.下列二维数组的说明中,不正确的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4];
C.#defineN5
D.inta[2][9.5];floata[N][3];
51.以下4个选项中,不能看作一条语句的是
A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;
52.以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是()。
A.if((a>B)&&(b:>C))k=l;elsek=0;
B.if(a>B)‖(b>C)k=1;elsek=0;
C.if(a<=B)k=0;elseif(b<=e)k=1;
D.if(a>B)k=1;elseif(b>C)k=1;elsek=0;
53.对存储器按字节进行编址,若某存储器芯片共有10根地址线的引脚,则该存储器芯片的存储容量为()
A.512BB.1KBC.2KBD.4KB
54.下列程序的输出结果是()。#include<8tdio.h>main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}
A.3B.3.2C.0D.3.07
55.下面程序的输出结果()main(){unsigneda=32768;printf("a=%d\n",a);}
A.a=32768B.a=32767C.a=-32768D.a=-1
56.需求分析阶段的任务是确定()
A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能
57.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为``
A.log2n
B.n2
C.O(n1.5)
D.n(n-1)/2
58.假定所有变量均已正确说明,下列程序段运行后x的值是()。a=b=c=0;x=12;if(!a)x--;elsex=5:if(c)x=3:elsex=4:A.11B.4C.12D.3
59.算法具有五个特性,以下选项中不属于算法特性的是_____。A.有穷性B.简洁性C.可行性D.确定性
60.下列关于栈的描述中错误的是()。A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针
四、选择题(20题)61.有以下程序:
程序执行后的输出结果是()。
A.1B.2C.4D.死循环
62.
63.若有定义语句:“intkl一10,k2=20;”,执行表达式(kl=kl>k2)(k2=k2>
k1)后,kl和k2的值分别为()。
A.0和1B.0和20C.10和1D.10和20
64.下列叙述中正确的是()。
A.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
B.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
C.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
D.顺序存储结构能存储有序表,链式存储结构不能存储有序表
65.有以下程序
66.
67.阅读下列程序,当运行函数时,输入abcdefgzl0,则输出为()。
A.abcB.zl0C.abcdefgzl0abcdefgzl0D.abcdefgzl0
68.算法的有穷性是指A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
69.以下叙述中正确的是
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
70.有如下程序:
main
{inta=2,b=-1.c=2;
if(a<b)if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
该程序的输出结果是()。A.A.0B.1C.2D.3
71.以下程序的输出结果是()。
#include<stdio.h>
voidmain()
{inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
72.
73.
74.C语言结构体类型变量在程序执行期间,()。
A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中
75.以下对C语言函数的有关描述中,正确的是()。
A.C函数可以递归调用也可以嵌套调用
B.在C中,调用函数时,只能把实参值传给形参,形参值不能返回给实参
C.没有返回值的函数不能被使用.
D.C程序中有调用关系的所有函数必须放在同一个源程序文件中
76.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()。
A.
B.
C.ab
D.a<<b
77.
78.下列关于栈的描述中错误的是()。
A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入删除操作中,不需要改变栈底指针
79.有以下程序:
#include<stdio.h>
#include<string.h>
main()
{charstr[][20][{"One*World","One*Dream!"},*p=str[1];
prinft("%d,",strlen(p));printf("%s\n",p);
}
程序运行后的输出结果是()。
A.9,0ne*World
B.9,0ne*Dream!
C.10,One*Dream!
D.10,Ome*World
80.以下符合c语言语法的实型常量是()。
A.8E一2B.3)14)159EC.E14D.2)2E0)5
五、程序改错题(1题)81.下列给定的程序中,函数proc的功能是:用选择法对数组中的m个元素按从小到大的顺序进行排序。例如,排序前的数据为:1132-5214则排序后的数据为:-52111432请修改程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>#defineM20voidproc(inta[],intn){inti,j,t,P;//****found****for(j=0;j<n-1;j++);{p=j;for(i=j;i<n;i++)if(a[[i]<a[p])p=i;t=a[p];a[p]=aEj3;//****found****a[p]=t;}}voidmain{intarr[M]={11,32,-5,2,14},i,m=5;printf("排序前的数据:");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");proc(arr,m);printf("排序后的顺序:");for(i=0;i<m;i++)printf("%d",arr[i]);printf("\n");}
六、程序设计题(1题)82.程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(inta[][M],intn),该函数的功能是使数组左下半三角元素中的值加上n。例如,a数组中的值为:
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
参考答案
1.C
2.C从for循环可知pt是指向行的首地址的指针变量,因此由指针的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
3.A程序定义整型变量a和i,其中a的初值为7。for循环中,循环变量i的取值为1,2,3。循环体中判断a的取值,当a>14时,执行break跳出循环;当a取值为奇数时,a%2==1,a自增3,执行continue继续执行循环体;当a取值为偶数时,a%2==0,a自增4,输出i和a的值。i取值为1时,a取值为7,自增3后a的值为10,执行下一个循环。i取值为2时,a取值为10,自增4后a的值为14,输出2,14。i取值为3时,a取值为14,自增4后a的值为18,输出3,18。i取值为4时,a取值为18,循环终止,输出4,18。综上,程序输出:2,14,3,18,4,18。本题答案为A选项。
4.AA选项中do后面的语句只执行了一次便结束了循环;B选项中条件while(1)永远成立,所以是死循环;C选项中n的值为10,而循环体为空语句,所以while(n)永远为真,进入死循环;D选项中for语句第2个表达式为空,所以没有判断条件,进入死循环。故本题答案为A选项。
5.D题目中,for循环的作用是求数组各行前两列的数字之和。已知“*(*(P+i)+j)=p[i][j]”,则变量n=1+3+7+9+13+15=48。故本题答案为D选项。
6.D解析:选项A),B),C)的指针赋值表达方式都不正确,*p=5表达整数5放到指针p所指向的存储单元中。注意:通过指针引用一个存储单。
7.C
8.C
9.D本题考核的知识点是运算符的优先级。主函数中首先定义了整型变量m、n和x,并给m和n赋初值为3和4,接着执行两条赋值语句,第一条x=-m++等价于x=-(m++),其值即为-3,第二条x=x+8/++n等价于X=X+8/(++n),即为x=-3+8/5=-2,因此最后输出x的值为-2。所以,4个选项中选项D符合题意。
10.D一个客户可以在多家银行办理业务,一家银行也有多个客户办理业务,因此,实体客户和实体银行之间的联系是多对多。本题选择D选项。
11.A当所赋的值不够其列的宽度时,系统在其后自动补0,因此a[0][3]=0,a[1][2]=6,a[2][1]=5,a[3][0]=0,故选择A选项。
12.D解析:本题考查switch语句的掌握。必须撑握以下内容:首先应该明白switch语句的语法格式:
switch语句的语法格式为:
switch(表达式)
{
case常量表达式1:语句组1;
case常量表达式2:语句组2;
case常量表达式n:语句组n;
default:语句组n+1;
}
另外,以下几点关于switch语句的重点:
①系统在执行时计算开关表达式的值;②根据所得的值在各个case标号表达式中寻找匹配,直到发现与表达式匹配的标号(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后执行后面相应的语句表,顺序往下执行;④如果无相匹配的标号,若存在default标号,则执行该语句标号后面的语句表n+1;当不存在default标号时,不执行switch中的任何一个语句表。
一般而言,在多分支结构中总会出现'意外'的情况,这时均可归入default程序段,作统一的处理。default标号是可选性的,不必每次都有,视需要而定。switch语句中还可以包含switch语句,形成switch的嵌套。
13.C本题判断结果。选项A中,如果(a>b),则执行“c=a,a=b,b=c”这个语句(注意分号的位置,如果条件成立,将会执行第一个分号前的语句),显然if不成立,则a,b,C原样输出。选项B和选项D是同理,而选项C因为条件不成立,则不执行第一条语句“c=a”,接着执行“a=b”,将b的值赋给a,a的值为2;“b=C”,b的值为3,C的值原样输出,结果为2,3,3。
14.D
15.A解析:while循环的执行过程如下:(1)计算while后面圆括号中表达式的值.当值为非0时,执行步骤(2);当值为0时,执行步骤(4)。(2)执行循环体一次。(3)转去执行步骤(1)。(4)退出循环。在选项A)中,表达式(ch=getchar())!='N'表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。如果这个条件表达式不成立,即输入的字符等于N,则退出循环.所以选项A)为正确答案。
16.A
17.C解析:软件系统结构的总体设计包括:基于功能层次结构建立系统、按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系和模块间的接口、评估模块划分的质量等方面。详细设计的任务是:在使用程序设计语言编制程序以前,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求,通常包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求等。编程调试的任务是诊断和改正程序中潜在的错误。综上所述。软件功能分解只能发生在总体设计阶段。
18.C本题重点考察二维数组名作为实参进行参数传递,在主函数中调用了fun函数,实参为二维数组名a和两个整数4.0,这样对应定义fun函数首部有三种形式,这里采用了第一种形式——行指针,这样在fun函数对s[i][j]进行操作实际上就是对主函数中的a[i][j]进行操作,再分析fun函数的作用便可知,是求二维数组第0列中最大的那个元素。因此C选项正确。
19.C
20.D
21.3131解析:设队列容量为m,如果:rear>front,则队列中元素个数为rear-front;如果rear<front,则队列中元素个数为m+(rear-front)。本题rear<front,则m=32+(2-3)=31。
22.77解析:此表达式为三目运算符,++a的值为6,b--的值为6,则整个表达式的值为++a的值,++a的值为7。请注意前缀++,--和后缀++,--的区别。
23.8080解析:本题考查的知识点是共用体数组变量所占内存的长度。数组a是共用体变量,共用体类型变量所占的内存长度为最大成员的长度,即单精度数组的长度,为4×4=16,因此,数组a所占的内存长度为5×16=80,所以最后输出的s的值为80。
24.22解析:'\\13':表示八进制数13表示的ASCII字符,是一个字符,占一个字节;而”\\12”是个字符串,除了八进制数12表示的ASCII字符占一个字节外,还有在字符串的末尾加上串结束标志“'\\0'”,所以共有2个字节。
25.中序中序解析:二叉树的遍历可以分为三种:前序遍历、中序遍历和后序遍历。前序遍历是指在访问根结点、遍历左子树与遍历右子树这三者中,首先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左子树,然后访问根结点,最后遍历右子树;并且遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历指在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历右子树,然后访问根
26.abcabc解析:字符串的结束标记'\\0',当输出一个存放在字符数组中的字符串时,只需输出到'\\0'为止,而不管其后有什么数据。本题给字符数组s的元素s[3]赋值为'\\0',故只能输出3个字符“abc”。
27.s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或57>=s[i]&&48<=s[i]或48<=s[i]&&57>=s[i]解析:字符数组的初始化,字符串的输入和输出的应用。C语言没有字符串变量,字符串不是存放在一个变量中而是存放在一个字符型数组中,因此为了存放字符串,常常在程序中定义字符型数组;字符串存放在字符数组中,但字符数组与字符串可以不等长,C语言规定以“\\0”字符作为字符串结束标志。
本题中,chars[80],d[80];定义了两个字符型数组,可以放入80个字符。gets函数是c语言提供的一个专门用于读字符串的函数,它读入全部字符(包括空格),直到遇到回车为止。本题中,读入字符串s后,开始比较s中的每个字符是否为数字字符,因为字符数据在内存中以相应的ASCII码存放,所以只需比较相应的ASCII码值是否在48('0'的ASCII代码)与57('9'的ASCII代码)之间,或者直接与'0','9'进行比较,如果是数字字符则将此字符存入d数组中,不是则继续进行下一字符的比较,直至s结束(即'0'的出现)。将“'\\0'”字符作为字符串d结束标志,最后调用puts函数输出d。所以在空格处应填入比较语句s[i]>='0'&&s[i]<='9'或isdigit(s[i])或s[i]>=48&&s[i]<=57或s[i]<='9'&&s[i]>='0'或'9'>=s[i]&&'0'<=s[i]或'0'<=s[i]&&'9'>=s[i]或s[i]<=57&&s[i]>=48或&&48<=s[i]或57>=s[i]。
28.A
29.\0'strl[i]-str2[i]
30.Brte
31.00解析:根据运算符的运算顺序可知,该表达式最后运算的是与(&&)运算,而任何表达式与“0”进行“与”运算,结果都为0。
32.非0非0解析:逻辑运算中,非0表示逻辑“真”,用。表示逻辑“假”。
33.层次模型用树型结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。
34.3691236912解析:本题考查最基本的for循环:for(cc=1;cc<5;cc++)规定循环次数为4次,每次a+=3即每次a的值增3,但因为fun函数中变量a为static类型,所以每次调用完于函数之后,变量a所做的改变都要保存。
35.*s++flag=0或*(s-1)=''num*s++\r\nflag=0或*(s-1)=''\r\nnum解析:在统计字符串单词个数的算法中,本题的flag是为了记录一个单词是否结束。第13空应填*s++;如果某个字符不是空格,则必须判断它是否是单词,如是,则使得flag的标志为1,num的值加1。本题判断方法是:先判断s所指向的字符是否为空恪,如果是则使得flag=0,否则判断前一个字符是否是空格,如果是则说明这个字符是—个单词的开始,将flag标志为1,num的值加1,如果不是,则不必记录。故第14空应填flag=0或*(s-1);最后一个空格需填写的是返回的单词的个数,即num。
36.白盒法白盒法
37.yesyes解析:if...else构造了一种二路分支选择,是一种最基本的选择结构。本题中,if后面括号里的表达式为c=a+b为真(即c=1+3=4为真);所以,执行s1,即执行prinff('yes\\'),最后输出yes。
38.共享性共享性解析:数据库系统中的数据能被不同的应用程序使用,实现了数据的高度共享,从而降低了数据的冗余,这也是数据库的主要目的。
39.do…whiledo…while解析:考查while和do…while循环的主要区别。while循环的控制出现在循环体之前,只有当while后面的表达式的值为非零时,才可能执行循环体;在do…while构成的循环体中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。
40.元组元组解析:在关系模型中,数据结构用单一的二维表结构来表示实体及实体间的联系。一个关系对应一个二维表。二维表中的列称为属性,属性值的取值范围称为值域。二维表中的一行称为一个元组。
41.A解析:在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接调用该函数本身,直接调用该函数本身的称为函数递归,而间接调用该函数称为函数的间接递归调用。由程序可以看出函数f(a,i,j)为一递归函数,其功能是当i<j时,将数组中的元素a[i]和a[j]交换,然后再调用函数f(a,i+1,j-1),将数组中a[i+1]和a[j--]交换,这样一直递归到数组下标i=j,可见该递归函数的作用是使数组中首尾元素依次互换。主函数中定义了一个长度为5的数组aa并初始化,然后调用f(a,0,4),将数组a中的元素依次互换,故最后for循环输出的数组aa中各元素的值为5、4、3、2、1,所以,4个选项中选项A符合题意。
42.D解析:常见的需求分析方法有结构化分析方法和面向对象的分析方法两类。其中结构化分析方法又包括面向数据流的结构化分析方法(SA-Structuredanalysis),面向数据结构的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向数据结构的结构化数据系统开发方法(DSSD-Datastructuredsystemdevelopmentmethod)。
43.B(27)B)解析:函数feof的功能是:测试fp所指的文件的位置是否已达到文件尾,如果达到文件尾,则函数返回非0值,否则返回0,表示文件尚未结束。
44.B
45.A解析:scanf函数是格式输入函数,用于输入任何类型的多个数据。该函数的一般形式为:scanf(格式控制,地址列表),其中“格式控制”是用双引号括起来的字符串,“地址列表”是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址。题目中可以作为地址列表项的有pa和&a。所以,选项A)正确。
46.D解析:sizeof(float)是c语言内部规定的用于计算单精度型变量(float)在计算机的内存中所占用的字节数量的函数,返回一个整数值。
47.C解析:函数fun(int*s,intn1,intn2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。
48.D解析:数据库管理系统DBMS是数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。DBMS建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS还承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。
49.B解析:C语言函数中的参数传递方式有传值与传址两种方式,传值方式是指将实参的值复制一份传递给形参,而传址方式是指将实参的变量地址传递给形参,也就是实参的引用。
50.D解析:C语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式;二维数组的一般定义格式是:类型说明符数组名[常量表达式][常量表达式]。
51.D解析:C语言的语句都用“;”结束。如果只有一个分号,称为“空语句”。用一对花括号把若干语句括起来构成一个语句组,称为“复合语句”,在语法上视为一条语句。因此选项A是一条语句。选项B是逗号表达式加分号构成的语句。选项C是一条if语句,该语句的if子句是一条空语句。选项D中“if(b==0)m=1;n=2;”是两个表达式语句。所以,4个选项中选项D符合题意。
52.A解析:分析题目中给出的表达式可知,如果a>b和b>c同时成立,k=1,否则k=0。所以,4个选项中选项A符合题意。
53.B
54.C解析:本题中,程序先执行语句x=1.2;根据赋值运算的类型转换规则,先将常量1.2转换为整型,取整数1,并将其赋给变量x,然后执行语句y=(x+3.8)/5.0。根据运算符的优先级,先计算小括号内的x+3.8,其运算过程是:先将整型变量x的值1转换为double型1.0,然后与3.8做加法运算,得到中间结果4.8,接着进行除法运算4.8/5.0,其结果小于1.0,接着进行赋值运算,赋值号左边的变量y的类型为整型,于是对这个小于1.0的中间结果进行取整,结果为0。于是变量y的值为0,d*y的值也为0。
55.C
56.D解析:结构化分析方法,数据流图,数据字典,软件需求规格说明书
评析,需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织,部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能.选项A)软件开发方法是在总体设计阶段完成的任务;选项B)软件开发工具是在实现阶段需完成的任务:选项C)软件开发费用是在可行性研究阶段需完成的任务。
57.D解析:假设线性表的长度为n,则在最坏情况下,冒泡排序要经过n/2遍的从前往后的扫描和n/2遍
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年商贸安全培训内容核心要点
- 2026年电信安全培训记录内容重点
- 护士节活动策划方案
- 齐齐哈尔市富裕县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 黄南藏族自治州尖扎县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年节假日公司安全培训内容深度解析
- 昌吉回族自治州木垒哈萨克自治县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年消防协会安全培训内容重点
- 绵阳市涪城区2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 丽江地区永胜县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 夜间生产管理办法
- 《智慧物流概论》试卷及答案 共2套
- 税务讲解社保费课件
- T/CI 467-2024复合集流体(铜箔)
- 《赤壁之战》课本剧剧本:感受三国英雄的壮志豪情
- T-CPI 11029-2024 核桃壳滤料标准规范
- 9.5 美国(第2课时 高度发达的经济 人口与城市) 课件 2024-2025学年地理湘教版七年级下册
- 骨灰堂管理制度
- 冰雪运动知识普及课件
- (重庆康德二诊)2025年重庆市高三第二次联合诊断检测 语文试卷(含答案解析)
- 电梯年度维修保养项目及要求
评论
0/150
提交评论