




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年辽宁省朝阳市全国计算机等级考试C语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.C语言规定,程序中各函数之间()
A.既允许直接递归调用也允许间接递归调用
B.不允许直接递归调用也不允许间接递归调用
C.允许直接递归调用不允许间接递归调用
D.不允许直接递归调用允许间接递归调用
2.下面描述中,不属于软件危机表现的是()A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高
3.
4.下列定义数组的语句中正确的是______。
A.#definesize10charstr1[size],str2[size+2];
B.charstr[];
C.intnum['10'];
D.intn=5;inta[n][n+2];
5.执行完下列语句段后,i值为()。A.A.2B.4C.8D.无限递归
6.下列选项中合法的赋值语句是()。
A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);
7.在长度为n的顺序表的第i个位置上插入一个元素(1≤i≤n+1),元素的移动次数为:()。
A.n–i+1B.n–iC.iD.i–1
8.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是()。
A.head(tail(LS))
B.tail(head(LS))
C.head(tail(head(tail(LS)))
D.head(tail(tail(head(LS))))
9.下列选项中不合法的十六进制数是()。
A."0"xffB."0"X11C."0"x1gD.”0”Xabc
10.有下列程序:程序执行后的输出结果是()。
A.0,-1,-1,-1
B.0,-1,-1,0
C.0,-1,-1,0,-1,0
D.0,-1,-1,-1,-1,-1
11.设有序顺序表中有n个数据元素,则利用二分查找法查找数据元素X的最多比较次数不超过()。A.log2+1
B.log2(n-1)
C.log2n
D.log2(n+1)
12.快速排序在_____情况下最易发挥其长处。
A.被排序数据中含有多个相同排序码
B.被排序数据已基本有序
C.被排序数据完全无序
D.被排序数据中最大值和最小值相差悬殊
13.以下选项中非法的表达式是()。
A.a+1=a+1
B.a=b==0
C.(Char.(100+100.
D.7<=X<60
14.在关系数据库中,用来表示实体间联系的是()。
A.网状结构B.树状结构C.属性D.二维表
15.下列有关图的遍历说法中,不正确的是()
A.图的遍历必须用递归实现
B.基本遍历算法两种:深度遍历和广度遍历
C.有向图和无向图都可以进行遍历操作
D.图的遍历算法可以执行在有回路的图上
16.有1000个无序的整数,希望使用最快的方式找出前50个最大的,最佳的选择是()
A.冒泡排序B.基数排序C.堆排序D.快速排序
17.下列程序的运行结果为()。
#deflneMAX(x,y)(x)>(y)(x):(y)
main()
{inta=2,b=3,c=1,d=3,t;
printf("%d\n",(MAX(a+b,c+D))*100);
}A.A.500B.5C.4D.400
18.以下能正确定义一维数组的选项是A.intnum[];
B.#defineN100intnum[N];
C.intnum[0..100];
D.intN=100;intnum[N];
19.在深度为5的满二叉树叶中,叶子结点的个数为()。
A.32B.31C.16D.15
20.在黑盒测试方法中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图
二、2.填空题(20题)21.在链表的运算过程中,能够使空表与非空表的运算统一的结构是______。
22.函数voidfun(float*sn,intn)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于或等于0。请填空。
voidfun(float*sn,intn)
{floats=0.0,w,f=-1.0;
inti;
for(i=0;i<=n;i++)
{f=【】*f;
w=f/(2*i+1);
s+=w;
}
【】=s;
}
23.()是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
24.以下程序运行后的输出结果是______。
main()
{
intp[7]={11,13,14,15,16,17,18);
inti=0,j=0;
while(i<7&&p[i]%2==1)
j+p[i++];
printf(“%d\n”j);
}
25.以下函数fun的功能是返回str所指字符串中以形参c中字符开头的后续字符串的首地址,例如;str所指字符串为:Hello!,c中的字符为e,则函数返回字符串:ello!的首地址。若str所指字符串为空串或不包含c中的字符,则函数返回NULL。请填空。
char*fun(char*str,charc)
{intn=0;char*p=str;
if(p!=NULL)
while(p[n]!=c&&p[n]!='\O')n++;
if(p[n]='\0')returnNULL;
return(【】);
}
26.以下函数的功能是求x的y次方,请填空。
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
27.以下程序的输出结果是______。
main()
{ints,i;
for(s=0,i=1;i<3;i++,s+=i);
printf("%d\n".s);
}
28.某二叉树中度为2的结点有n个,则该二叉树中有【】个叶子结点。
29.按"先进后出"原则组织数据的数据结构是【】。
30.下列程序段的输出结果是【】。
intn='c';
switch(n++)
{default:printf("error");break;
case'a':
case'A':
case'b':
case'B':printf("good");break;
case'c':case'C':printf("pass");
case'd':case'D':printf("warn");
}
31.一个模块直接调用的其他模块的模块个数称为______。
32.以下程序运行后的输出结果是【】。
main()
{charCl,c2;
for(c1='0''c2='9';c1<c2;c1++,c2--)printf("%c%c",c1,c2);
printf("\n");
}
33.C语言用于结构化程序设计的3种基本结构是______、选择结构和循环结构。
34.下面rotate函数的功能是:将n行n列的矩阵A转置未AT,例如:
请填空
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];【】;a[j][i]=t;}
}
35.执行以下程序后的输出结果是()。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",A);
36.实体联系模型是一种常用的高级概念数据模型,而______是实体联系模型中的核心。
37.设函数findbig已定义为求3个数中的最大值。以下程序将利用函数指针调用findbig函数。请填空。
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=【】;
seanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,2);
printf("big=%d\n",big);
}
38.若有如下定义,则该数组的第一维大小为【】。
intb[][4]={1,2,3,4,5,6,7,8,9);
39.下面程序的输出结果是【】。
#include<stdio.h>
main()
{char*p={"BOOL""OPK","H","SP"};
inti;
for(i=3,i>=0;i--,i--)printf("%",*p[i]);
printf("\n");
}
40.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
三、1.选择题(20题)41.下列说法错误的是()。
A.下列结构体定义时,占据了5个字节的空间structstudent“ntnum;intage;charsex;}
B.结构体的成员名可以与程序中的变量名相同
C.对结构体中的成员可以单独使用,它的作用相当于普通变量
D.结构体可以嵌套定义
42.阅读下列程序,则运行结果为#include"stdio.h"fun(){staticintx=5;x++;returnx;}main(){inti,x;for(i=0;i<3;i++)x=fun();printf("%d\n",x);}
A.5B.6C.7D.8
43.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。A.EOFB.非0值C.0D.NULL
44.与以下定义等价的是()int*p[4]
A.intp[4]B.int*pC.int*(p[4]).D.int(*p)[4]
45.设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是
A.PER是结构体变量名
B.PER是结构体类型名
C.typedefstruct是结构体类型
D.struct是结构体类型名
46.在数据流图(DFD)中,带有名字的箭头表示()。
A.模块之间的调用关系B.程序的组成成份C.控制程序的执行顺序D.数据的流向
47.树是结点的集合,它的根结点数目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
48.以下对C语言函数的有关描述中,正确的是
A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.函数必须有返回值,返回值类型不定
49.表示“在使用x之前,先使x的值加1”的正确方式是()
A.++xB.x++C.+xD.+x+
50.以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序运行后的输出结果是
A.4B.3C.2D.1
51.下列叙述中正确的是()。
A.程序执行的效率与数据的存储结构密切相关
B.程序执行的效率只取决于程序的控制结构
C.程序执行的效率只取决于所处理的数据量
D.以上三种说法都不对
52.设q1和q2是指向一个float型一维数组的指针变量,k为float型变量,则不能正确执行的语句是()。
A.k=*q1+*q2;B.q1=k;C.q1=q2;D.k=*q1*(*q2);
53.有以下程序:main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);}程序运行后的输出结果是()。
A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8,8,7
54.设有定义:intn=0,*p=&n,**q=&p;则下列选项中正确的赋值语句是()。
A.p=1;B.*q=2;C.q=p;D.*p=5;
55.检查软件产品是否符合需求定义的过程称为()。
A.确认测试B.需求测试C.验证测试D.路径测试
56.下列数据结构中,按先进后出原则组织数据的是
A.线性链表B.栈C.循环链表D.顺序表
57.程序运行结果为______。#defineR3.0#definePI3.1415926#defineL2*PI*R#defineSPI*R*Rmain(){printf("L=%fS=%f\n",L,S);}
A.L=18.849556S=28.274333
B.18.849556=18.84955628.274333=28.274333
C.L=18.84955628.274333=28.274333
D.18.849556=18.849556S=28.274333
58.软件需求分析阶段的工作,可以分为4个方面:需求获取、需求分析、编写需求规格说明书以及()。
A.阶段性报告B.需求评审C.总结D.都不正确
59.以下程序段的输出结果是______。char*p="abodefgh";p+=3;printf("%d\n",strlen(strcpy(p,"12345")));
A.8B.12C.5D.7
60.下列叙述中,不属于软件需求规格说明书的作用的是()
A.便于用户,开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
四、选择题(20题)61.若a是数值类型,则逻辑表达式(a==1)Il(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能确定
62.
63.
64.数据库管理系统中负责数据完整性、安全性定义的语言是()。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言
65.下列选项中,能正确定义数组的语句是()。
A.intnum[0..2008];
B.intlllllll[];
C.intN:2008:
D.#defineN2008intnum[N1;intnum[N];
66.以下程序的输出结果是
#include<stdio.h>
main()
{
inta,b,d=241;
a=d/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A.6,1B.6,0
C.2,1D.2,0
67.软件详细设计产生的图如下:该图是()。
A.N—s图B.PAD图C.程序流程图D.E—R图
68.以下定义语句中正确的是()。
A.
B.
C.
D.
69.数据库系统的核心是()。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员
70.有以下程序,其输出结果是()。
voidmain()
{
floarx=1;
inty;
x++;
y=x+1;
printf("x=%d,y=%f",x,y);
}
A.x=2,y=3
B.x=2,y=3.0
C.x=2.0,y=3
D.x=0,y=0.000000
71.
s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s;则以下选项中正确的是()。
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,sl)>O)S;
D.if(stremp(s1,s2)>O)S;
72.若变量c为char类型,能正确判断出c为小写字母的表达式是
A.’a’<=c<=’z’B.(c>=’a’)||(c<=’z’)
C.(’a’<=c)and(’z’>=c)D.(c>=’a’)&&(c<=’z’)
73.
对两个数组a和b进行下列初始化:
charm[]="1234567";
charn[]={1,2,3,4,5,6,7};
则下列叙述正确的是()。
A.数组m与数组n完全相同B.数组m与数组n长度相同C.数组m比数组n长1D.数组m与数组n中都存放字符串
74.
75.
76.下列函数的类型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不确定C.voidD.float
77.下列叙述中错误的是()。
A.在C语言中,函数中的自动变量可以赋初值,每调用一次赋一次初值
B.在C语言中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C.在C语言中,外部变量的隐含类型是自动存储类别
D.在C语言中,函数形参的存储类型是自动(auto)类型的变量
78.
79.当执行以下程序段时,()。x=-l:do{x=x*X;)while(!x);A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误
80.对长度为n的线性表排序,在最坏情况下,比较次数是nlog2n的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.请编写函数proc,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。
例如,若二维数组中的数据为
13233343
14243444
15253545
则一维数组中的内容应该是132333431424344415253545。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。
试题程序:
#include<stdio.h>
voidproc(int(*s)[103,int*b,int*n,intrain.intnn)
{}
voidmain
{
intarr[10][10]={{33,33,33,33),{44,44,44,44},
{55,55,55,55}),i,j;
inta[l00]={o),n=o;
printf("Thematrix:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%3d",arr[i][j]):
printf("\n");
}
proc(arr,a,&n,3,4):
printf("TheAarray:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]):
printf("\n\n");
}
参考答案
1.A解析:C语言规定,程序中各函数之间既允许直接递归调用也允许间接递归调用。
2.A软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
3.A
4.A
5.B
6.D解析:选项A)是一个合法的赋值表达式,但结尾没加分号,所以它不是一个赋值语句;选项B)是一个逗号表达式,也因为结尾没有加分号而不是合法的赋值语句,选项C)是一个算术表达式,虽然有分号,但这个表达式没有赋值操作,因此,也不是一条赋值语句。
7.A
8.C
9.C十六进制是以“0x、0X”开头的字符串,字符串中只能含有0~9这l0个数字和a、b、C、d、e、f这6个字母。
10.A程序定义整型变量a和b,初值分别是1,-2。for语句中循环条件式为“a--&&b++”,因为--和++的优先级高于逻辑与运算符&&,所以循环条件式等价于“(a--)&&(b++)”,自左向右运算。第1轮循环,a、b的值为1,-2,首先执行a--,a--的值为1,执行完后a的值为0;继续执行b++,b++的值为-2,执行完后b的值为-1。整个表达式“a--&&b++”的值为真,程序输出0,-1。第2轮循环,a、b的值分别为0,-1,首先执行a--,a--的值为0,执行完后a的值为-1,由于a--的值为0,根据逻辑与运算的短路原则,表达式“a--&&b++”的值一定为假,表达式b++不再执行,循环结束,执行循环体外的printf语句,输出a、b的值分别为:-1,-1。所以本题输出结果为:0,-1,-1,-1。本题答案为A选项。
11.A
12.C
13.A赋值运算符的左边只能是变量,而不能是常量或表达式。
14.D单一的数据结构——关系,现实世界的实体以及实体间的各种联系均用关系来表示。数据的逻辑结构——二维表,从用户角度,关系模型中数据的逻辑结构是一张二维表。但是关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种关系。
15.A
16.D
17.A解析:本题考查带参数的宏的定义及相关运算:(x)>(y)(x):(y)是x>y时输出x,否则输出y,调用(MAX(a+b,c+d))*100时,(a+b=5)>(c+d=4),所以输出a+b=5,所以x=5*100。
18.B解析:选项A定义数组时省略了长度,而C语言中规定,只有在定义并同时进行初始化时,数组的长度才可以省略,数组的长度为初始化时候的成员个数,故选项A错误;在C语言中规定,数组的长度必须是一个整数或整型常量表达式,故选项C不正确:定义时数组的长度不能使用变量表示,故选项D不正确,所以,4个选项中选项B符合题意。
19.C根据二叉树的性质及定义,一棵深度为k且有2k-1个结点的二叉树为满二叉树。满二叉树的叶子结点为最后一层的结点数,又根据满二叉树的性质,在满二叉树的第i层上至多有2i-1个结点。因此深度为5的满二叉树的叶子结点数为25-1=16个。
20.A【答案】:A
【知识点】:黑盒测试
【解析】:黑盒测试也称功能测试或数据驱动测试,它完全不考虑程序内部的逻辑结构和内部特征,只着眼于程序的外部结构,主要用来检查程序功能是否按照需求规格说明书的规定正常使用。故选A。
21.循环链表循环链表解析:在循环链表中,由于设置了一个头结点,因此在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。
22.-1*sn-1*sn解析:根据公式可知,第一处应填-1;由于计算结果要通过形参指针sn传回,所以第二处应填*sn。
23.逻辑独立性逻辑独立性解析:数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时。应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
24.2424解析:本题考核的知识点是数组的定义和数组元素的引用。主函数中首先定义了一个长度为7的数组,然后用一个while循环引用数组的元素,当i大于7或者p[i]为偶数时,循环结束。显然当i=2时,p12]=14为偶数时,循环结束,此时j的值为j=p[0]+p[1]=24;
25.&P(n)或p+n&P(n)或p+n解析:因为n被初始化为0、p被初始化指向str所指字符串的首地址,所以while循环的功能是从str所指字符串的第1个字符开始比较,若等于c或等于字符串结束符'\\0'就跳出循环。故循环结束后,若p[n]为'\\0',则证明str所指字符串不包含c中的字符,应该返回NULL,否则应该返回p[n]的地址值。返回NULL在第2条if语句中已经实现,所以我们应该填入的表达式为p[n]的地址值,即&p[n]或p+n。
26.xx解析:函数的定义形式为;
函数类型函数名(形参表)
{
类型说明语句;
执行语句;
}
本题中函数的功能是:累积变量以求得变量的Y次方。
27.55解析:此程序中,for循环语句后面直接跟了一个“;”,表明循环体为空.输出语句不在for循环体内,所以在循环执行完毕后才输出s的值.s、i的初值分别为0和1,判断循环条件,表达式“1<3”成立,执行“i++,s+=i”后,i和s的值分别为2和1,继续判断循环条件,表达式“2<3”成立,执行“i++,s+=i”后,i和s的值分别为3,再次判断循环条件,表达式“3<3”不成立,循环结束。
28.n+1n+1解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为0的结点多一个。
29.栈栈解析:考查考生对栈和队列概念的掌握。按'先进后出'原则组织数据的数据结构是栈;按'先进先出'原则组织数据的数据结构是队列。
30.passwarnpasswarn解析:n++是在执行完其所在的语句后再加1,因此,在执行case的时候,n的值依然为'c',执行case'c'后面的语句,先打印出“pass”;在执行完case'c'后,未遇到break跳出switch,便接着执行下面的语句,又打印出warn。所以此题输出结果是passwarn。
31.扇出扇出解析:在结构图中,调用一个给定模块的模块个数称为扇入,一个模块直接调用的其他模块个数称为扇出。
32.9.18274e+0089.18274e+008解析:本题考查的循环条件是c1<c2,当c1>=c2时,退出循环。所以,第一次循环输出09,第二次循环输出18,如此循环直到输出45,之后c1=5,c2=4,不满足循环条件,退出循环。
33.顺序结构顺序结构解析:结构化程序有3种摹本结构,即顺序结构、选择结构(包括if语句和switch语句)和循环结构(包括for语句、while语句、do…while语句)。
34.j<=ia[i][j]=a[j][i]j<=i\r\na[i][j]=a[j][i]解析:将矩阵转置就是将行列互换,所以第一处应填j<=i,第二处应填a[i][j]=a[j][i]。
35.a=14a=14解析:在“逗号表达式(表达式1,表达式2)”中,其运算方法是先求表达式1的值,然后求表达式2的值,整个逗号表达式的值是表达式2的值。首先3*5=15,a=10,a+4=14,最后输出的运算结果为14。
36.实体联系图或E-R图实体联系图或E-R图解析:实体联系图(B-R图)是实体联系模型中的核心。由于E-R图描述的是数据流图中数据存储及其之间的关系,因此它是数据库观念设计的最常用的工具。
37.findbigfindbig解析:本题首先定义了一个指向函数的指针变量f,如果希望让它指向某个函数,只需把函数名赋给该指针变量即可。所以说本题的空格处应该填入函数名findbig。
38.33解析:在初始化一个含有未指定维度的数组时,C语言总是在能完全容纳初始化列表的基础上尽可能小地设定该维度,来作为指定维度的标准。本题有9个初始值,若指定第一维度为2,则数组含有2*4=8个元素,容纳不下,所以指定维度为3,3*4=12,足够容纳了。故应该填3。
39.SO
40.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
41.A解析:本题主要考查定义结构体的几个特点:①结构的定义明确了结构的组成形式,定义了一种C语言中没有而用户需要的新的数据类型。与其他的数据类型不同,在程序编译的时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间;②结构体的成员名可以与程序中的变量名相同:⑧结构体中的成员可以单独使用,它的作用相当于普通变量:④结构体可以嵌套定义。
42.D解析:在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续三次调用函数fun(),三次对静态变量x进行操作,x的值应依次为6,7,8。
43.B(27)B)解析:函数feof的功能是:测试fp所指的文件的位置是否已达到文件尾,如果达到文件尾,则函数返回非0值,否则返回0,表示文件尚未结束。
44.C
45.B解析:本题中,typedef声明新的类型名PER来代替已有的类型名,PER代表上面指定的一个结构体类型,此时,也可以用PER来定义变量。
46.D解析:在数据流图中,用标有名字的箭头来表示数据流。
47.A树形结构是一类重要的非线性数据结构。树是n(n≥0)个结点的集合,对应任意一棵非空树,它具有以下几点重要的性质。
①有且仅有一个特定的称为根的结点。
②当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,TM,其中每一个集合本身又是一棵树,称为子树。
因此,本题的正确答案有且只有一个。
48.A解析:C语言中的函数可以进行递归调用,但不能在函数中定义函数,即函数不能嵌套定义。函数可以没有返回值,若有返回值,则返回值类型必须确定。
49.A
50.B解析:在main函数中,对f(1)和f(2)的值进行了累加。
f(1)=1
f(2)=f(1)+1=2
最后,j的值为1+2=3
51.A本题考查程序效率。程序效率是指程序运行速度和程序占用的存储空间。影响程序效率的因素是多方面的,包括程序的设计、使用的算法、数据的存储结构等。在确定数据逻辑结构的基础上,选择一种合适的存储结构,可以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。因此,本题选项A的说法是正确的。
52.B解析:选项A)是将指针q1和q2所指向的变量值相加,然后赋给k;选项B)中,float型数据和指针型数据之间不能进行赋值运算:选项C)中,是两个指针变量之间的赋值:选项D)中,是两个指针型变量所指向的两个float型数据相乘。
53.C解析:程序中定义了两个变量a和b,并分别赋初值为7和8,定义了3个指针变量p、q、r,并让指针p指向变量a,让q指向变量b,然后通过一个中间指针变量r,使指针变量p和q互换,互换后p指向b,q指向a,因此最后输出的*p、*q的值为8、7、a、b的值没有改变仍为7、8。所以,4个选项中选项C符合题意。
54.D解析:选项A),B),C)的指针赋值表达方式都不正确,*p=5表达整数5放到指针p所指向的存储单元中。注意:通过指针引用一个存储单。
55.AA)【解析】确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求。
56.B解析:栈是限定在二端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的。注意:队列组织数据的原则是“先进先出”或“后进后出”。注意:数据结构中,栈和队列组织数据的原则。
57.A
58.B解析:需求分析是软件定义时期的最后一个阶段。可以概括为4个方面:①需求获取;②需求分析;⑧编写需求规格说明书;④需求评审。
59.C解析:本题主要考查strcpy()函数,char*strcpy(char*s1,char*s2)是把指针s2指向的串复制到指针s1指向的存储空间。
60.D解析:软件需求规格说明书SRS,SoftwareRequirementSpecification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用,①便于用户、开发人员进行理解和交流;②反映出用户问题的结构,可以作为软件开发工作的基础和依据;③作为确认测试和验收的依据。
61.A逻辑或”I|”要求只要两边的运算对象有一个非零,结果就为真。虽然不知道a的值,但是若a为1,则左边运算对象为1;若a的值不是1,则右边运算对象的值为1,所以总能保证一边非零,所以结果为真,即1。
62.B
63.C
64.D数据定义语言负责数据的模式定义和数据的物理存取构建;数据操纵语言负责数据的操纵;数据控制语言负责数据完整性、安全性的定义与检查,以及并发控制、故障恢复等功能。无“数据管理语言”的说法。
65.DC语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定初值的个数;c选项错误,N为变量,不能用来定义数组大小。因此D选项正确。
66.C第一个表达式中,运算的方向是从左至右,所以a的值为2;第二个表达式中,等式右边是一个逻辑表达式,由于结果为真,所以表达式的值为1,即b为1。
67.C\nN—S图(也称h盒图或CHAPIN图)和PAD(问题分析图)及PFD(程序流程图)是详细设计阶段的常用工具,E—R图即实体-联系图是数据库设计的常用工具。从题中图可以看出该图属于程序流程图。
\n
68.C解析:选项A中两个变量的定义应当以逗号隔
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 伊能静签下器官协议书
- 邻里房屋间隔协议书
- 酒店经营转让协议书
- 体教联办训练点协议书
- 边界联防联控协议书
- 购货解除合同协议书
- 金婚佟志手术协议书
- 营销广告合同协议书
- 酒店接机服务协议书
- 迅雷支持旋风协议书
- 淘宝运营转正考试题及答案
- 《机器人技术及应用》教学大纲
- NY 529-2002兽医注射针
- JJG 596-2012电子式交流电能表
- GB/T 6495.1-1996光伏器件第1部分:光伏电流-电压特性的测量
- GB/T 39862-2021高热导率陶瓷导热系数的检测
- GB/T 33289-2016馆藏砖石文物保护修复记录规范
- GB/T 2506-2005船用搭焊钢法兰
- GB/T 15256-2014硫化橡胶或热塑性橡胶低温脆性的测定(多试样法)
- 小学三年级下册道德与法治课件-10.爱心的传递者-部编版(25张)课件
- 流行病学调查表格设计
评论
0/150
提交评论