版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022-2023年甘肃省酒泉市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是()。
A.概要设计B.软件设计C.可行性研究和计划制定D.需求分析
2.若在线性表中采用折半查找法查找元素,该线性表应该()A.元素按值有序B.构采用顺序存储结C.元素按值有序且采用顺序存储结构D.元素按值有序且采用链式存储结构
3.软盘上第()磁道最重要,一旦损坏,该盘就不能使用了。
A.0B.40C.1D.80
4.对于栈操作数据的原则是()。
A.先进先出B.后进先出C.后进后出D.不分顺序
5.第
4
题
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
A.ABCEDB.DCBEAC.DBCEAD.CDABE
6.以下叙述中正确的是()。
A.程序设计的任务就是编写程序代码并上机调试
B.程序设计的任务就是确定所用数据结构
C.程序设计的任务就是确定所用算法
D.以上三种说法都不完整
7.在执行()操作时,需要使用队列做辅助存储空间。
A.查找哈希(Hash)表B.深度优先搜索网C.前序(根)遍历二叉树D.广度优先搜索网
8.设栈S的初始状态为空,6个元素入栈的顺序为e1,e2,e3,e4,e5和e6。若出栈的顺序是e2,e4,e3,e6,e5,el,则栈s的容量至少应该是()。
A.6B.4C.3D.2
9.软件测试的目的是()。
A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误
10.若有定义:inta,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是A.A.35B.3,5C.3;5D.35
11.设x,y,t均为int型变量,执行语句:
x=y=3;
t=++x||++y;
完成后,y的值为A.A.不确定B.4C.3D.1
12.有下列程序:程序执行后的输出结果是()。A.Zhao,m,85,Zhao,m,85
B.Sun,f,90,Zhao,m,85
C.Zhao,m,85,Sun,f,90
D.Sun,f,90,Sun,f,90
13.C语言中的基本数据类型所占存储空间长度的顺序是()
A.char<=int<=float<=double<=long
B.int<=char<=float<=long<=double
C.int<=long<=float<=double<=char
D.char<=int<=float<=long<=double
14.有以下程序:intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=i;i<3;i++)j+=f(i);printf("%d\n",j);}程序运行后的输出结果是()。
A.4B.3C.2D.1
15.在位运算中,操作数每左移两位,其结果相当于()。
A.操作数乘以2B.操作数除以2C.操作数除以4D.操作数乘以4
16.
17.以下不合法的数值常量是()。
A.8.0E0.5B.1e1C.011D.0xabcd
18.若以“a+”方式打开一个已存在的文件,以下叙述正确的是()。
A.文件打开时,原有文件内容不被删除,可以进行添加和读操作
B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可以进行重写和读操作
C.文件打开时,原有文件内容不被删除,位置指针移到文件中间,可以进行重写和读操作
D.文件打开时,原有文件内容被删除,只可进行写操作
19.体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走向排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于()算法。
A.快速排序B.插入排序C.冒泡排序D.归并排序
20.折半查找的时间复杂性为()
A.O(n2)B.O(n)C.O(nlogn)D.O(logn)
二、2.填空题(20题)21.以下程序的输出结果是【】。
main()
{char*p=“abodefgh”,*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
printf(“%s\n”,r);
}
22.类是一个支持集成的抽象数据类型,而对象是类的【】。
23.下面程序的输出是【】。
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);}
24.下列程序的运行结果是______。
main()
{inti,a[10];
a[0]=a[1]=1;
for(i=2;i<5;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<5;i++)
{if(i%2==0)printf("\n");
printf("%d",a[i]);
}
}
25.以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量p的语句。
voidfun(intx,int*y)
{……}
main()
{inta=10,b=20;
【】;/*定义变量p*/
p=fun;p(&a,&b);
}
26.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
27.按"先进后出"原则组织数据的数据结构是【】。
28.若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为“读”而打开此文件:
fp=fopen(【】);。
29.以下程序的功能是进行位运算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序运行后的输出结果是
30.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
31.以下程序的输出结果是【】。
main()
{unsignedshorta=65536;intb;
printf("%d\n",b=A);
}
32.若有程序
main()
{inti,j;
scanf("i=%d,j=%d",&i,&j);
pfintf("i=%d,j=%d\n",i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入【】。
33.下面程序的运行结果是:【】。
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{inti1,i2;
i1=1000/s(N);i2=1000/f(N);
printf(“%d%d\n”,i1,i2);
}
34.树中度为零的结点称为______。
35.若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。
c=(a-=(b-5));
c=(a%11)+(b=3);
36.写出下列程序的输出结果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
37.以下程序运行后,若输入:3,abcde<回车>,则输出结果是【】。
#include<stdio.h>
#include<string.h>
move(char*str,intn)
{chartemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{chars[50];intn,i,z;
scanf("%d,%s",&n,s);
z=strlen(s);
for(i=1;i<=n;i++)move(s,z);
printf("%s\n",s);
}
38.若定义#definePI3.14159,则执行完下列程序后输出结果是______。
#definePI3.14159;printf("PI=%f",PI);
39.下列语句的输出结果是______。
chars[20]="aaaa",*sp=s;
puts(strcat(sp,"AAAAA"));
40.下列程序段的输出结果是______。
intn='c';
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("morning");
case'd':printf("class");
}
三、1.选择题(20题)41.一个关系中属性个数为1时,称此关系为()。
A.对应关系B.单一关系C.一元关系D.二元关系
42.以下各选项企图说明一种新的类型名,其中正确的是______。
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefv4:int
43.以下程序的输出结果是______。main(){inta=3;printf("%d\n",(a+=a-+a*a))}
A.-6B.1C.2D.-12
44.下列叙述中正确的是()。
A.接口复杂的模块,其耦合程度一定低
B.耦合程度弱的模块,其内聚程度一定低
C.耦合程度弱的模块,其内聚程度一定高
D.上述三种说法都不对
45.程序的测试方法中,使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为()。
A.静态分析B.动态分析C.代码检查D.代码质量度量
46.以下程序的结果是______。inta,b;voidfun(){a=100;b=200;}main(){inta=5;b=7fun();printf("%d%d\n",a,b);}
A.100200B.57C.200100D.75
47.在计算机中,算法是指()
A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法
48.有以下程序:voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=l,y=3,z=2;if(x>y}f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是
A.1,2,3B.3,1,2C.1,3,2D.2,3,1
49.在C语言中,以下说法不正确的是()。
A.在C程序中,整数和实数都能被准确无误地表示出来
B.在C程序中,任何一个变量名都代表存储器中的一个位置
C.静态变量的生存期与整个程序的运行期相同
D.C语言中,任何变量都必须先声明才能进行引用
50.微型计算机的性能主要取决于______。
A.内存B.硬盘C.中央处理器D.显示卡
51.若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
52.下列程序的运行结果是______。main(){intx,*p,**q;x=10;p=&x;q=&p;printf("%d\n",**q);}
A.10B.9C.8D.11
53.以下4个选项中,不能看成一条语句的是
A.;B.a=5,b=2.5,c=3.6;C.if(a<5);D.if(b!=5)x=2;y=6;
54.设有表示学生选课的三张表,学生s(学号,姓名,性别,年龄,身份证号),课程c(课号,课名),选课SC(学号,课号,成绩),则表sc的关键字(键或码)为()。
A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩
55.若有下列说明语句int(*p)();则标识符p代表的是()
A.一个用于指向函数的指针变量,函数返回值的类型为int型
B.一个带回值类型为整型的函数名
C.一个用于指向整型数据的指针变量
D.一个带回值类型为指针类型的函数名
56.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为______。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;
A.1B.2C.3D.6
57.有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。structnode{intdata;tractnode*next;}*p,*q,*r;
现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是
A.r->next=q;q->next=r->next;p->next=r;
B.q->next=r->next;p-next=r;r->next=q;
C.p->next=r;q->next=r->next;r->next=q;
D.q->next=r->next;r->next=q;P->next=r;
58.有以下结构体说明和变量定义,如图所示:struetnode{intdata;structnode*next;}*p,*q,*r;
现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是
A.p->next=q->next;
B.p->next=p->next->next;
C.p->next=r;
D.p=q->next;
59.有以下程序:voidswapl(intc0[],intc1[]){intt;t=co[o];co[o]=o1[o];c1[o]=t;}voidswap2(int*c0,int*c1){intt;t=*c0;*c0=*c1;*c1=t;}main(){inta[2]={3,5},b[2]=A{3,5);swapl(a,a+1);swap2(&b[0],&b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}程序运行后的输出结果是______。
A.3553B.5335C.3535D.5353
60.下列关键字中,不属于C语言变量存储类别的是______。
A.registerB.autoC.externD.public
四、选择题(20题)61.4个元素A、B、C、D依次入栈,入栈过程中允许栈顶元素出栈,假设某一时刻栈的状态是C(栈顶)、B、A(栈底),则不可能的出栈顺序是()。
A.D、C、B、A
B.C、B、D、A
C.C、A、D、B
D.C、D、B、A
62.设有二元关系R和三元关系s,下列运算合法的是()。
A.R∩SB.R∪SC.R-SD.R×S
63.以下选项中,能用作用户标识符的是()。
A.-0-B.8-;8C.voidD.unsigned
64.
65.有以下程序:
程序运行后的输出结果是()。
A.4,5,6,4,5,6,
B.1,2,3,4,5,6,
C.4,5,6,1,2,3,
D.6,5,4,3,2,1,
66.
定义下列结构体(联合)数组:
structst
{charname[15];
intage;
}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);
执行语句printf("%d,%C",a[2].age,*(a[3].name+2))的输出结果为()。
A.15,AB.16,HC.16,AD.17,H
67.
68.
69.若有以下的定义:‘intt[3][2];”,能正确表示t数组元素地址的表达式是()。
A.&t[3][2]B.t[3]C.t[l]D.t[2][2]
70.if语句基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是()。
A.必须是逻辑值B.必须是整数值C.必须是正数D.可以是任意合法的数值
71.用数组名作为函数调用的实参,则传递给形参的是()。
A.数组中所有元素的值B.数组的第一个数据C.数组的首地址D.数组元素的个数
72.
73.
74.有以下程序:
main()
{intk=5,n=0;
do
{switch(k)
{case1:
case3:n+=l;k--;break;
defalut:n=0;k--;
case2:
case4:n+=2;k--;break:
}
printf("%d",n);
}while(k>0&&n<5);
}
程序运行后的输出结果是()。A.A.235B.0235C.02356D.2356
75.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件从需求分析、设计、实现到测试完成的过程
C.软件的开发过程
D.软件的运行维护过程
76.在数据库设计中,将E—R图转换为关系模式的过程属于()。
A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段
77.
78.算法的空间复杂度是指()。
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
79.有以下程序程序运行后的输出结果是()。
A.0B.2C.1D.3
80.
五、程序改错题(1题)81.下列给定程序中函数proc()的功能是:将长整型数中为偶数的数依次逆向取出,构成一个新数放在t中。高位在低位,低位在高位。例如,当s中的数为12345678时,则t中的数为8642。
请修改函数proc()中的错误,使它能得出正确的结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。
参考答案
1.D\n通常,将软件产品从提出、实现、使用维护到停止使用、退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为:可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。
\n需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。
\n软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。
\n软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。
\n软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。
\n运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。
\n本题答案是D)。
\n
2.C
3.A
4.B
5.B解析:栈操作原则上“后进先出”,栈底至栈顶依次存放元素A、B、C、D,则表明这4个元素中D是最后进栈,B、C处于中间,A最早进栈。所以出栈时一定是先出D,再出C,最后出A。
6.D\n程序设计是指设计、编制、调试程序的方法和过程。内容涉及有关的基本概念、工具、方法以及方法学等。程序设计通常分为问题建摸、算法设计、编写代码和编译调试4个阶段。
\n
7.D
8.C
9.D软件测试是为了发现错误而执行程序的过程,测试要以查找错误为中心,而不是为了演示软件的正确功能,也不是为了评估软件或改正错误,因此本题答案为D)。
10.C解析:在C语言中scanf函数中输入数据时要严格按照所规定的样式输入。
11.Ct=++x或++y,当++x不为0的时候,即++x为真,则不需要再继续判断++y,那么y就不再执行自加,因此y=3.
12.D程序定义结构体类型STU,main函数定义结构体STU变量b,并将b的地址赋给指针变量a。调用函数f,传入a。在函数f中,定义了STU变量c,并将c的地址赋给d,再用d指向的值赋给a指向的地址,接着输出a指向的值,也就是c的值:Sun,f,90。由于函数f的调用通过指针参数a修改了变量b的值,因此a指向的值也就是b的值等价于c:Sun,f,90。本题答案为D选项。
13.A
14.B解析:通过分析不难写出,f()函数的数学表达式为:
f(n)=1n=l;
f(n)=f(-1)+1n≠1;
在主函数中for循环执行了两次函数调用f(i)。第一次:i为1,调用f(1)得到返回值1,并把它加到j中,j的值为1。第二次i为2,调用f(n),根据递归公式可知f(2)=f(1)+1,得到返回值2并把它加到j中,j的值为3。所以最后输出,i的值为3。
15.D解析:本题主要考查左移、右移对数据值的影响,左移n位相当于乘以2的n次幂,右移n位相当于除以2的n次幂。
16.B
17.AA选项中E后面的指数必须为整数,所以不合法。C选项中的011表示的是八进制常量,D选项中的0xabcd表示的是十六进制常量。故本题答案为A选项。
18.AC语言中,文件打开方式“a+”表示打开一个文本文件,从文件开始位置读,在文件尾部添加数据,如果指定的文件不存在,系统将使用调用fopen时指定的文件名创建一个新的文件;如果指定的文件存在,那么文件原有内容将被保存,新的数据追加到原有文件之后。故本题答案为A选项。
19.B
20.D
21.efghefgh解析:本题定义了一个字符型指针变量p并通过赋初值让它指向了一个字符串,定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“q=(long*)p;”把P的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“r=(char*)q;”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址,最后输出,指向的字符中,是“efgh”。
22.实例将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。
23.1212解析:本题通过第一个for循坪将数组arr[0]-arr[9]分别赋值为0-9,通过第二个for循环的三次循环累加,求出结果为12,具体分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
24.11<CR>23<CR>5(<CR代表换行)11<CR>23<CR>5(<CR,代表换行)解析:本题通过语句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”将数组中前面两项的和赋值给数组当前元素,得到a的值应为(1,1,2,3,5)。语句if(i%2==0)pfintf('\\n')是要将数组中的元素以每行2个的形式输出。
25.void(*p)()或void(*p)(int*int*)void(*p)()或void(*p)(int*,int*)
26.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。
27.栈栈解析:考查考生对栈和队列概念的掌握。按'先进后出'原则组织数据的数据结构是栈;按'先进先出'原则组织数据的数据结构是队列。
28.d1.dat"rb"d1.dat,'rb'解析:打开文件的函数为fopen('文件名','mode'),其中'mode'表示文件的打开方式。如果打开的是二进制文件,其mode字符串可以是:'rb'、'wb'、'ab'、'rb+'、'wb+'、'ab+'。'r'表示以只读方式打开。'w'表示以写方式打开,如果已存在该文件名的文件,文件中的内容将被清空。若文件名不存在,则将创建该文件。'a'为追加方式打开。若文件存在时,将打开这个文件并且在文件的末尾进行追加。当文件不存在,将创建新文件。'r+'打开一个已存在文件用于更新(可读可写)。\'w+'创建一个新文件用于更新,如果文件存在,文件被重写(可读可写)。'a+'打开用于追加,当文件不存在时,创建新文件,并在文件末尾进行追加(可读可写)。根据题意,应该填'd1.dat','rb'。
29.A
30.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
31.00解析:对于一个unsignedshort来说,它能取的最大值是65535。这里给a赋值65536,已经超出了它的取值范围,这样它的高位将被截掉,只把低位赋给它(全零)。所以a的值实际为0。
32.i=0j=20i=0,j=20解析:scanf()函数的使用,该函数的第一个参数是格式字符串,主要由两类字符组成,一类是非格式符要求原样输入,一类是格式符对应要输入的变量,所以说本题中应该原样输入i=,j=,后面分别给变量0和20,所以说空格处应该填入i=0,j=20。
33.100010100010解析:首先将程序中的宏替换掉,两处的宏替换后分别为i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后输出的i1和i2的值分别为1000和10。
34.叶子结点叶子结点解析:树中度为零的结点,也就是没有后件的结点,称为叶子结点。
35.33解析:这里:b-5=4,a-=4之后a的值为6,并把它赋给c。此时b的值并未被改变。在第2个表达式中,也只有赋值表达式b=3改变了b的值。所以两行语句执行完毕,b的值应该为3。
36.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。
37.cdeabcdeab解析:程序中的move函数的作用是保存输入数组中的最后一个元素,然后从最后一个数组元素开始,依次向后移动一个位置,再把保存的最后一个元素置于首位,循环次数由n控制。输入3,abcde<回车>后主函数开始执行,其中n=3,s[50]={'abcde'},z=5。第一次循环,i=1时,调用move(s,5)函数,temp=str[4]语句把数组中最后一个元素\'e\'保存在temp中,然后i从4开始循环,将str[3](字符\'d\')赋给str[4],str[2](字符\'c\')赋给str[3],……,循环结束时str所指字符串为'aabcd',再将保存在temp中的\'e\'置于首位,字符串变为'eabcd';i=2时,调用move函数,字符串为'deabc';i=3时,调用move函数,字符串为'cdeab'。最后输出结果为'cdeab'。
38.PI=3.14159PI=3.14159解析:本题先定义了一个宏名PI,以后在程序中出现PI都用3.14159替代,但是C语言规定:双引号中的宏名是不进行替换的。
39.aaaaAAAAAaaaaAAAAA解析:函数strcat(sp,'AAAAA')的作用是将字符中“AAAAA”连接到字符串sp的末尾,并自动覆盖字符数组sp末尾的\'\\0\'。
40.morningclassmorningclass解析:本题考查了两个知识点:①“++,--”运算后缀形式是先使用变量原来的值,使用完后再使其增1或减1;②在switch语句中,当n='c'时,执行“case'c'”,输出morning;因为此句中没有break语句,因此接着执行“case'd':”,输出class,最终输出结果为morningclass。
41.C解析:在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有N个属性的关系称为N元关系。注意:各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。
42.C解析:C语言中可以使用typedef来重新定义已有的数据类型,相当于为数据类型取个别名。
43.D解析:赋值运算符的结合方向是自右至左,所以表达式a+=a=a*a先运算最右边的a*a得9,再运算a=a-9,即a=3-9,所以此时a的值由3变成了-6,最后运算a=a+(-6)=-12。
44.C解析:影响模块之间耦合的主要因素有两个:模块之间的连接形式,模块接口的复杂性。一般来说,接口复杂的模块,其耦合程度要比接口简单的模块强,所以选项A的说法错误;耦合程度弱的模块,其内聚程度一定高,选项B错误;选项C正确。
45.B解析:从是否需要执行被测软件的角度,测试方法可以分为静态测试和动态测试方法。静态测试包括代码检查、静态结构分析、代码质量度量等,动态测试是为了发现错误而执行程序的过程,是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程。如果将程序的测试方法分为静态分析和动态分析,则使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这是动态分析。
46.B解析:全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。
47.B在计算机中,算法被定义为对一个问题求解步骤的一种描述,是求解问题的方法,它是指令的有限序列,其中每条指令表示一个或者多个操作。算法具有有穷性、确定性、可行性、输入和输出五大特点。
在本题中,选项A、C、D的说法明显偏离了算法的定义,因此正确答案选B。
48.C解析:本题考核的知识点是函数的调用和if-else语句的应用。C语言规定else总是和离它最近的if语句配对。分析可以知道,函数f()作用是让形参v和形参w的值交换。在i函数中首先定义了三个变量x。y和z。然后再执行下面的if-else语句.由程序可以看出第—个else和第一个订搭配,第二个else和第二个if搭配。由于调用函数时是进行值传递的。即将实参x,y,z传给形参v和w,以后行参和实参再无联系,故通过if语句调用f()函数后,x、y和z的值并没有改变。故最后输出的x、v和z的值为1、3和2,所以,4个选项中选项C符合题意。
49.A解析:此题考查C语言的基本概念。变量的实质就是在内存中占据一定的存储单元,存储单元里存放的是该变量的值,变量的值可以根据需要进行修改;整数在允许的范围内可以准确的表示出来,但不可能表示无限度的实数。
50.C解析:中央处理器是计算机的核心部件,控制着计算机的一切活动。
51.C解析:栈是一种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1,2,由于1先于2进浅,所以1不可能在2之前出栈,故选项C这种出栈序列是不可能的。
52.A
53.D解析:选项D)为两条语句。
54.C学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号和课号,所以选择C项。
55.A
56.B解析:此题主要考查if语句的嵌套,注意if与else的对应关系。a<b成立继续执行;c<d不成立,执行else语句;a<c成立继续执行;b<d成立,x=2,然后退出嵌套的4层if语句。
57.A解析:题目中要求将q和r所指结点的先后位置交换,即要求p所指结点的指针域指向r所指向的结点,r所指向的结点的指针域指向q所指向的结点,q所指向的结点的指针域指向r所指向的结点。选项A首先让r所指向的指针的指针域指向q所指向的结点,这样就将r所指向的结点的指针域指向的结点丢失了。选项B首先q所指向的结点的指针域指向r所指向的结点的指针域所指向的结点,然后,让p所指向结点的指针域指向r所指向的结点,最后让r所指向的结点的指针域指向q所指向的结点,满足要求。选项C首先让p所指向结点的指针域指向r所指向的结点,然后让q所指向的结点的指针域指向r所指向的结点的指针域所指向的结点,最后让r所指向的结点的指针域指向q所指向的结点,满足要求。选项D首先让q所指向的结点的指针域指向r所指向的结点的指针域所指向的结点,然后,让r所指向的结点的指针域指向q所指向的结点,最后让P所指向结点的指针域指向r所指向的结点,满足要求。
58.D解析:本题考查链表结点的删除。q->next中存放的是r所指结点的首地址,将r所指结点的首地址存于p->next中,则实现删除q所指结点的功能,并保持链表连续,p所指结点与r所指结点相连。
59.A解析:swapl(a,a+1)是将a,a+1的地址进行传递,运行swapl以后,a[0],a[1]的值不发生改变,而swap2(&b[0],&b[1])是将两个指针所指的元素进行传递,运行swap2后,b[0]与b[1]的值互换。
60.D解析:变量的存储类别具体包含四种:自动的(auto),静态的(static),寄存器的(register),外部的(extern)。
61.C栈的特点是先进后出,所以后入栈的最先出栈。在栈的状态是c(栈顶)、B、A(栈底)时,D未入栈,栈顶元素可以出栈,但A不可能比B先出栈,所以c选项错误。
62.D本题给出的两个关系R与S的表结构是不同的(R是二元关系,S是三元关系),它们不能进行∩、∪、一运算。而两个不同结构的关系是可以进行笛卡儿积(×)运算的。
63.AC语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江西鹰潭市社会福利院招聘护理员1人笔试模拟试题及答案解析
- 2026年临海市住房和城乡建设局下属事业单位公开选聘工作人员1人笔试模拟试题及答案解析
- 工程环保设施建设方案
- 拆除工程安全措施方案
- 施工现场水电气管线布局方案
- 施工人员个人发展目标方案
- 2026贵州茅台集团校园招聘89人考试备考题库及答案解析
- 2026广东广州花都区恒盈建设发展投资有限公司招聘项目用工人员1人笔试备考试题及答案解析
- 2026四川公众项目咨询管理有限公司招聘1人考试备考题库及答案解析
- 2026河北邯郸涉县医院公开选聘人事代理人员22名笔试模拟试题及答案解析
- 2026北京航空航天大学 机械工程及自动化学院聘用编专职事务助理、F岗招聘1人考试备考题库及答案解析
- 水利工程鱼类保护监理实施细则
- 小学二年级下册《人与社会》教案
- 第一单元 一方水土一方情跟着课文探民风 整体公开课一等奖创新教学设计
- 网络安全培训教材与教学大纲(标准版)
- (一模)东北三省三校2026年高三第一次联合模拟考试英语试卷(含答案)+听力音频+听力原文
- (高清版)DZT 0426-2023 固体矿产地质调查规范(1:50000)
- 代际关系中的公平逻辑及其变迁
- 烟草公司物流中心装卸业务服务方案
- GB/T 18910.201-2021液晶显示器件第20-1部分:目检单色液晶显示屏
- 地理必修三第三章第一节区域农业发展-以我国东北地区为例
评论
0/150
提交评论