




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年四川省广安市全国计算机等级考试C语言程序设计真题(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.若有定义“inta=5,b=7;”,则表达式a%-(b%2)运算后,a的值为()。
A.0B.1C.11D.3
2.下列选项中,当x为大于1的奇数时,值为0的表达式是()。
A.x%2==1B.x/2C.x%2!=0D.x%2==0
3.关于指针,以下说法正确的是()。A.可以直接向指针中写入数据
B.若指针指向变量,则可以向指针所指内存单元写入数据
C.指针可以指向内存中任何位置,并写入数据
D.两个指针可以通过加运算求和,形成一个功能更强大的指针
4.数据库管理系统中负责数据模式定义的语言是()。A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言
5.有以下程序:#include<stdio.h>main{shortC=124;C=C_;printf("%d\n",c);}若要使程序的运行结果为248,应在下划线处填入的是()。A.>>2B.|248C.&0248D.<<1
6.定义下列结构体(联合)数组: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
7.堆是一种有用的数据结构。下列关键码序列()是一个堆。
A.94,31,53,23,16,72
B.94,53,31,72,16,23
C.16,53,23,94,31,72
D.16,31,23,94,53,72
8.设有以下语句:inta=1,b=2,c;c=a^(b<<2);执行后,c的值为()。A.6B.7C.8D.9
9.在16位IBM-PC机上使用C语言,若有如下定义structdata{inti;charch;doublef;}b;则结构变量b占用内存的字节数是
A.1B.2C.7D.11
10.下列叙述中不正确的是()。
A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.在C的函数中,最好使用全局变量
C.外部变量可以在函数之间传递数据
D.自动变量实质上是一个函数内部的局部变量
11.在结构化方法中,软件功能分解属于下列软件开发中的阶段是______。
A.详细设计B.需求分析C.总体设计D.编程调试
12.有下列程序:
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
13.在非线性结构中,每个结点()。
A.无直接前趋
B.只有一个直接前趋和个数不受限制的直接后继
C.只有一个直接前驱和后继
D.有个数不受限制的直接前驱和后继
14.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段
15.二叉树的第三层最少有________个结点。
A.0B.1C.2D.3
16.以下符号中不能作为标识符的是()。A.256B.voidC.vanfD.4Struct
17.有以下程序#definef(x)x*xmain(){inti;i=f(4+4)/f(2+2);printf(“%d\n”,i);}执行后输出结果是()A.28B.22C.16D.4
18.
19.设有如下定义:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正确的赋值语句是()
A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;
20.计算机能够直接识别和执行的语言是
A.汇编语言B.自然语言C.机器语言D.高级语言
二、2.填空题(20题)21.表示“整数x的绝对值大于5”时值为“假”的C语言表达式是______。
22.数据结构分为线性结构和非线性结构,带链的队列属于[]。
23.在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
24.若输入thistestterminal,以下程序的输出结果为:terminaltestthis。请填空。
#defineMAXLINE20
【】
{inti;
char*pstr[3],str[3][MAXLINE];
for(i=0;i<3;++)pstr[i]=str[i];
for(i=0;i<3;i++)scanf("%s",pstr[1]);
sort(pstr);
for(i=0;i<3;i++)prntf("%s",pstr[i]);
}
sort(【】)
char*pstr[3];
{inti,j;
char*p;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(strcmp(*(pstr+i,*(pstr+j)>0
{p=*(pstr+i);
*(pstr+i=【】;
*(pstr+j)=p;
}
25.软件是程序、数据和【】的集合。
26.在关系数据库中把数据表示成二维表,每一个二维表称为【】。
27.对二叉排序树进行查找的方法是:用待查的值与根结点的值相比,若比根小,则继续在【】子树中找。
28.下面程序的功能是:输出100以内能被3整除且个位数为9的所有整数,清填空。main(){inti,j;for(i=0;();i++){j=i*10+9;if(j%3!=0)continue;printf("%d",j);}}
29.数据结构分为线性结构和非线性结构,线性表、栈和队列都属于【】。
30.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序运行后的输出结果是()。
31.以下程序运行后的输出结果是【】。
#include<stdio.h>
main()
{ihtx=0210;printf("%x\n",x);
}
32.函数pi的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+...+1(n*n)
现在请你在下面的函数中填空,完成求π的功能。
#include"math.h"
{doubles=0.0;longi;
for(i=1;i<=n;i++)s=s+【】;
return(sqrt(6*S));
}
33.下列程序段的运行结果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
34.关系模型的3类完整性指的是【】、参照完整性、用户定义的完整性。
35.算法的复杂度主要包括【】复杂度和空间复杂度。
36.若x为int类型,请写出与!x等价的C语言表达式______。
37.下面程序的运行结果是【】。
#include<stdio.h>
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
else
if(n>=2)|m:fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
38.一棵二叉树第6层(根结点为第一层)的结点最多为______个。
39.下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。
intn=0,c;
c=getchar();
while(c!='\n')
{if(______)
n++;
}
40.下列程序的输出结果是______。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
三、1.选择题(20题)41.C语言允许函数类型缺省定义,此时函数值隐含的类型是()。
A.floatB.intC.longD.double
42.有以下程序:#include<stdio.h>intfun(chars[]){intn=0;while(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;}return(n);}main(){chars[10]={'6','1','*','4','*','9','*','0','*'};printf("%d\n",fun(s));}程序的运行结果是()。
A.9B.61490C.61D.5
43.软件生命周期中所花费用最多的阶段是()。
A.详细设计B.软件编码C.软件测试D.软件维护
44.将E-R图转换到关系模式时,实体与联系都可以表示成________。
A.属性B.关系C.键D.域
45.以下叙述中正确的是
A.局部变量说明为static存储类,其生存期将得到延长
B.全局变量说明为stoic存储类,其作用域将被扩大
C.任何存储类的变量在未赋初值时,其值都是不确定的
D.形参可以使用的存储类说明符与局部变量完全相同
46.下列关于队列的叙述中正确的是()。
A.在队列中只能插入数据B.在队列小只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表
47.在计算面中,算法是指______。
A.查询方法B.加工方祛C.解题方案的准确而完整的描述D.排序方法
48.已定义以下函数
fun(int*p)
{return*p;}
该函数的返回值是()
A.不确定的值
B.形参p中存放的值
C.形参p所指存储单元中的值
D.形参p的地址值
49.当执行下面的程序时,其输出结果为______。unionst{inta;charb;}main(){unionsts;char*p=(char*)&s;s.a=0x3132;s.b=0x33;printf("%c",*p);}
A.1B.2C.3D.不确定
50.若有定义:inta[2][3];,以下选项中对a数组元素正确引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
51.有以下程序:#include<stdio.h>main(){intx;scanf("%d",&x);if(x<=0);elseif(x!=5)printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果()。
A.不等于5的整数B.大于0且不等5的整数C.大于0或等于5的整数D.小于5的整数
52.下面程序输出的结果是
main()
{inti;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d",a[2-i][i]);}
A.159B.753C.357D.591
53.以下正确的数组定义语句是()
A.inty[1][4]={1,2,3,4,5,}
B.floatx[3][]={{1},{2},{3}}
C.longs[2][3]={{1},{1,2}{1,2,3,}}
D.doublet[][3]={0}
54.从一个长度为n的顺序表中删除第i个元素(1≤i≤n)时,需向前移动______个元素。
A.n-iB.n-i+1C.n-i-1D.i
55.下列叙述中,正确的一条是()
A.语句"goto12;"是合法的
B.for(;;)语句相当于while(1)语句
C.if(表达式)语句中,表达式的类型只限于逻辑表达式
D.break语句可用于程序的任何地方,以终止程序的执行
56.下列数据结构中,属于非线性的是()。
A.线性表B.队列C.树D.栈
57.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送()。A.调用语句B.命令C.口令D.消息
58.C语言中用于结构化程序设计的3种基本结构是()。
A.顺序结构、选择结构、循环结构
B.if、switch、break
C.for、while、do-while
D.if、for、continue
59.下面程序的输出结果是
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);}
A.0B.1C.10D.9
60.用树形结构来表示实体之间联系的模型称为()。
A.关系模型B.层次模型C.网状模型D.数据模型
四、选择题(20题)61.有以下程序程序运行后的输出结果是()。A.24B.28C.32D.36
62.有如下程序:
该程序的输出结果是()。
A.0.000000B.0.250000C.0.500000D.1.000000
63.
64.有以下程序:
程序运行后的输出结果是()o
A.24B.720C.120D.6
65.
66.
67.有以下程序
68.有以下程序
#include"stdio.h"
main()
{charstr[]="tomeetme",str1[]="toseeyou";
char*p=str,*p1=str1;
inti;
for(i=0;i<7;i++)
if(*(p+i)==*(p1+i))
putchar(*(p+i));
printf("\n");
}
程序的运行结果是
A.to
B.tomeet
C.toee
D.程序段不能通过编译
69.有定义如下:
structsk
{inta;
floatb;
}data,*p;
如果p=&data;则对于结构变量data的成员a的正确引用时()
A)(*).data.aB)(*p).a
C)p->data.aD)p.data.a
70.
运行下列程序时,若输入的数据为“1,2,3”,则输出结果是()。
main
{floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a<b)
{t=a;a=b.b=t;)
if(a<c)
{t=a;a=c;c=t;)
it(b<c)
{t=b;b=C;c—=;)
printf("%f\n%f\n%f\n",a,b,c);
}
A.1.002.003.00
B.1.003.002.00
C.132
D.3.000002.000001.00000
71.以下叙述中正确的是()。
A.程序设计的任务就是编写程序代码并上机调试
B.程序设计的任务就是确定所用数据结构
C.程序设计的任务就是确定所用算法
D.以上三种说法都不完整
72.
73.已知i、j、k为int型变量,若要从键盘输入2、3、4<CR>,使i、j、k的值分别为2、3、4,下列正确的输入语句是()。A.A.scanf("%3d,‰3d,%3d",&i,&j,%k);
B.scanf("%d,%d,%d",&i,8Lj,&k);
C.scanf("%d%d%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
74.有以下程序:
当运行时输入:a<回车>后,以下叙述正确的是()。
A.变量c1被赋予字符a,c2被赋予回车符
B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2
D.变量c1被赋予字符a,c2中将无确定值
75.下列选项中,能够满足“若字符串sl等于字符串s2,则执行ST”要求的是()。
A.if(stremp(s2,s1)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
76.有以下程序:#include<stdio.h>main(){chars[]={"012xy"};inti,n=o;for(i=0;s[i]!='0';i++)if(s[i]>=as[i]<=z)n++;printf("%d\n",n);}程序运行后的输出结果是()。A.0B.2C.3D.5
77.第
42
题
下面说明不正确的是
A.chara[10]="china";
B.chara[10],*p=a;p="china"
C.char*a;a="china";
D.chara[10],*p;p=a="china"
78.有以下程序#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序运行后的输出结果是
A.12B.15C.16D.20
79.
80.以下程序运行后的输出结果是()。
f(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{inta=2,i;
for(i=0;i<3;i++)
printf("%4d",f(a));
A.789B.678C.567D.876
五、程序改错题(1题)81.下列给定程序中函数fun()的功能是:求出如下分数序列的前n项之和,结果通过函数值返回。例如,若n=5,则应输出8.391667。请改正程序中的错误,使其得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构!试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun(),其功能是实现B=A+AT,即将矩阵A加上A的转置,结果存放在矩阵B中。计算结果在main()函数中输出。举例如下。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>voidfun(inta[3][3],intb[3][3]){}voidmain(){ inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3]; inti,j; system(“CLS”); fun(a,t); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(“%7d”,t[i][j]); printf(“\n”); }}
参考答案
1.A本题考查“%”运算符的使用。运算符“%”是整数除法的余数。本题中表达式a%=(b%2)等价于a=a%(b%2)=5%(7%2)=5%1=0。
2.D解析:因为x的值为大于1的奇数,所以x除以2的余数等于1。所以选项D)等于关系表达式的结果为假,即等于0。
3.BC语言中指针就是变量的地址,它必须有确定的基类型。当指针指向某个变量时,才能向其中写入数据,选项A错误,选项B正确;指针除了指向变量外,还可以赋值为NULL,表示未指向任何地址,此时不能写入数据,另外指针必须有基类型,只能指向基类型相同的变量,选项C错误;指针只能与一个整数进行运算,即移动指针,两个指针不能运算,选项D错误。本题答案为B选项。
4.AA。数据定义语言(DDL)是集中负责数据库模式定义与数据库对象定义的语言。数据操纵语言(DML)是指用来查询、添加、修改和删除数据库中数的语句。数据控制语言(DCL)是用来设置或者更改数据为用户或角色权限的语句。据此,本题正确答案为选项A。
5.D124的2进制值为1111100,要输出为248即124*2,则2进制值为11111000,即右移l位,所以选D。
6.C本题考查结构体数组。a[2].age为结构体aEZ]的age成员,即a[3].name为指向结构体a[3]的name成员的第一个元素的指针,即指向“2”,(a[3].name+2)将指针后移两位指向第三个元素“A”,*(a[3].name+2)是取指针所指向地址的内容。
7.D
8.D本题考查两个知识点,按位异或左移把b左移2位化成二进制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故选择D。
9.D解析:结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量i所占用的内存是2字节,字符型变量ch所占用的内存是1字节,双精度型变量f所占用的内存是8字节,三者相加即可。
10.B解析:编译时,编译系统不为局部变量分配内存单元,而是在程序运行中,当局部变量所在的函数被调用时,编译系统根据需要要临时分配内存,调用结束空间释放;全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在考虑内存不定的情况下,最好使用全局变量。
11.C解析:软件系统结构的总体设计包括:基于功能层次结构建立系统、按功能划分成模块的层次结构、确定每个模块的功能、建立与已确定的软件需求的对应关系、确定模块间的调用关系和模块间的接口、评估模块划分的质量等方面。详细设计的任务是:在使用程序设计语言编制程序以前,对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析的任务是发现需求、求精、建模和定义需求,通常包括:功能需求、性能需求、环境需求、可靠性需求、安全保密要求、用户界面需求、资源使用需求、成本消耗需求、开发进度需求等。编程调试的任务是诊断和改正程序中潜在的错误。综上所述。软件功能分解只能发生在总体设计阶段。
12.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。
13.D
14.CE-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。
15.B
16.B
17.A解析:f(4+4)/f(2+2)=4+4*4+4/2+2*2+2=28。
18.D
19.C解析:data是—结构体变量,a是它的成员,因此引用a域的正确方法是:data.a,取它的地址赋值给指针变量p的语句应该是:p=&data.a。选项A,将a的地址直接赋给了p,而忽略了a为结构体内部的一个成员,而不是一单独的变量,故选项A不正确;选项B在p=data.a表达式中右边为一个结构体变量的成员不是地址,而左边为一指针应该将一地址赋给它,故选项B不正确;选项D表达式*p=data.a是将结构体变量中的成员a的值赋给指针p所指向的变量值,而不是使指针p指向data中的a域,故选项D不正确:4个选项中只有C正确。
20.C
21.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本题考查基本逻辑表达,“整数x的绝对值大于5”时值为“假”,即整数x的绝对值小于等于5,也就是整数x要大于等于-5且要小于等于5。这里“且”用“与(&&)”表示,所以C语言表达式为:(x>-5)&&(x<5)。
22.线性结构线性结构解析:与栈类似,队列也是线性表,也町以采用链式存储结构。
23.类类解析:在面向对象的方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。
24.main()pstr*(pstr+j)
25.文档文档解析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据以及相关文档的完整集合。
26.关系或一个关系关系或一个关系解析:在关系数据库中,把数据表示成二维表,而一个二维表就是一个关系。
27.左左解析:对二叉排序树进行查找,若待查的值与根结点的值相比,若比根小,则继续在左子树中找;若比根大,则在右子树中找。
28.i<10i<10解析:分析程序,当(i=0,1,2,…)时,“j=i*10+9”语句的运行结果是(9,39,69,99)个位数为9的所有整数;题中要求是100以内的整数,所以i<10;“if(j%3!=0)continue;”语句的功能是当条件不能被3整除时,继续循环不执行操作,直到能被3整除时输出该数,即输出的数满足条件100以内能被3整除且个位数为9。
29.线性结构线性结构解析:本题考查了数据结构的基本概念。与栈类似,队列也是线性表,可以采用链式存储结构,所以带链的队列属于线性结构。
30.23
31.8888解析:程序中的0210表示八进制数,%x是以十六进制形式输出。本题可先将0210转换为十进制数,再将其转换为十六进制数。
32.0/(i*i)或(double)1/(i*i)0/(i*i)或(double)1/(i*i)解析:表达式1+1/(2*2)+1/(3*3)+...+1(n*n)可写为1/(1*1)+1/(2*2)+1/(3*3)+...+1(n*n)
n
即:∑1÷(i×i)
i=1
对应的C语言的表达式s=s+1.0/(i*i)。注:必须要写成1.0的形式,否则1/(i,i)返回值为其值截尾取整,即恒为0。
33.6868解析:本题考查如何用指针引用数组元素。本题先定义了一个指向字符型数组str的指针p,指针p指向数组str的首地址,p+3将指针指向str[3],*(p+3)指的是字符“D”,输出时是以“%d”格式输出的,即输出其相应ASCII码值68。
34.实体完整性实体完整性解析:关系模型中的完整性是指数据库中数据的正确性和一致性。为了维护数据库中数据与现实世界的一致性,关系数据库的插入、删除、修改操作必须遵循3类完整性规则。关系模型的3类完整性指的是实体完整性、参照完整性和用户定义的完整性。
35.时间时间解析:算法的复杂度主要指时间复杂度和空间复杂度。所谓算法的时间复杂度,是指执行算法所需要的计算工作量;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
36.x==0x==0解析:!x的逻辑意思就是x为非,即x==0。
37.1111解析:main函数调用fun函数时,将10赋给n,形参数组t与实参数组a共用一段内存空间。执行if-else语句时,n=10,所以执行else子句。由于n>=2成立,执行m=fun(t[0],9),递归调用fun函数,m=fun(t[0],8),m=fun(t[0],7),…,m=fun(t[0],2),m=fun(t[0],1),当n=1时满足if(n=1)的条件,执行return语句,返回数组首地址指向的值t[0],所以答案为11。
38.3232解析:二叉树第k层上,最多有2k-1(k≥1)个结点。第6层的结点数最多是26-1=32。注意区别“二叉树的结点最多数”和“某一层的结点最多数”。前者的计算是深度为m的二叉树最多有2m-1个结点。
39.c>='a'&&c<='z'c>='a'&&c<='z'解析:小写字母在内存中以ASCII的形式存入,且从a到z依次递增,所以可以直接用c>='a'&&c<='z'判断是不是小写字母;c!='\\n'判断是用换行符结束循环。
40.3232解析:while(表达式)的功能是:首先计算表达式的值,若为真,则执行循环体语句,执行完毕,再计算表达式的值,若仍为真,则重复执行循环体语句,直到表达式的值为假时,结束while语句的执行,继续执行while语句后面的语句:i=0时满足循环条件,也满足if的条件,执行语句得i=11,a=11,第2次循环不满足if的条件,执行i--,i=10,执行i+=11;a+=i后,得i=21,a=32,不满足i<20,循环结束。
41.B解析:在C语言中,对于自定义函数要遵循“先定义,后使用”的规则,如定义时,不指定函数类型,C编译系统都默认函数的返回值是int型。
42.C解析:题目fun()函数中while循环的意思是:判断s所指内容是否为数字字符,如果是数字字符,则计算表达式n=10*n+*s-'0';。其中*s-'0'的作用是将相应的数字字符转换为数值,例如字符'8'减去字符'0'后,得到的结果就是数值8了。n=10*n+的作用是将累计变量n中原来内容乘以10,然后再加上刚转换的数字字符的数值,例如原来n的值为1,*s现在的内容为'2',那么执行了n=10*n+*s-'0';语句后,n的值变为12,如果接下来再来一个'8'字符,执行n=10*n+*s-'O';语句后,n的值就是128了。故不难看出fun()函数的作用是“将数字字符串转换为相应的十进制数值,碰到非数字字符时结束”。从主函数中定义的字符数组s的初始化内容可以看出,fun()函数返回值应该是61。故应该选择C。
43.D解析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软什开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段.软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
44.B解析:关系数据库逻辑设计的主要工作是将\ue008E-R\ue009图转换成指定RDBMS中的关系模式。首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性,实体集也可以转换成关系。
45.A解析:静态局部变量在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。由此可知静态局部变量的生存期将一直延长到程序运行结束。故选项A正确;而全局变量的只有一种静态存储类别,故全局变量说明为stattc存储类,和没有说明为static存储类其生存期都是一直延长到程序运行结束,故选项B不正确;未赋初值的auto型变量的初值是随机的,未赋初值的static型变量的初值是0(故选项C和选项D不正确)。所以;4个选项中选项A符合题意。
46.C解析:队列是指允许在一端进行插入、而在另一端进行删除的线性表,允许插入的一端称为队尾,允许删除的一端称为队头,选项A和选项B错误。在队列中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除,所以,队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则,选项C正确,选项D错误。
47.C解析:计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。
48.C解析:本题考核的知识点是函数的返回值.函数的返回值应该为return后面的表达式的值,在本题中的表达式为*p,*p指的是形参p所指存储单元中的值,所以,4个选项中选项C符合题意。
49.C解析:共用体类型结构的特点是使几个不同的变量共占同一段内存,但在每一瞬时只能存放其中一种,而不是同时存放几种,共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。因此本题起作用的是成员b的值,所以程序打印输出3。
50.D解析:a是一个2行3列的二维数组,行下标和列下标都是从0开始的,数组中的元素为a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],行下标最大值为1,列下标最大值为2,因此选项A、B、C都是错误的引用。计算选项D中数组元素的下标后得a[0][0],为正确的引用。
51.B解析:题目中,虽然else和第二个if不在同一行上,但等价于在同一行上,因此,程序的意思是当x大于0且不等于5时将其打印出来。
52.B解析:本题用循环的方法考查对数组概念的掌握。首先,当i=0时,数组中的位置是a[2][0]=7,当然,如果用排除法,就不用考虑后面的循环,因为在4个选项中,第1个数为7的选项只有B)。本题执行第2次循环时,i的值为1,则pfintf函数中的数组指向为a[1][1]=5,依次循环,可求出答案。
53.D解析:选项A二维数组行下标为1,即数组有一行元素,列下标为4表示一行中包含4个元素,而初值列表中有5个元素,故A错。选项B省略了列下标故错误。选项C二维数组行下标为2,数组有2行元素,而初值列表中有3行元素,故C错误。故D为所选。
54.A
55.B
56.C解析:线性结构,是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。
57.D解析:面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机制协助进行,这样的机制称为消息。消息是一个实例与另一个实例之间传递的信息,它请求对象执行某一处理或回答某一要求的信息,它统一了数据流和控制流。
58.A解析:本题主要考查结构化程序设计的基本结构。结构化程序设计有3种基本结构:顺序结构、选择结构、循环结构。
59.C解析:此题考查了指针引用一维数组元素的方法。*p+9因为运算符'*'的优先级高于'+',所以输出结果为p指向的元素1,然后加9,值为10。
60.B解析:在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统(DBMS)也不同。目前常用的数据模型有3种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树结构来表示的,其中实体集(记录型)是树中的结点,而树中各结点之间的连线表示它们之间的关系。所以,本题的正确答案是B。
61.A第一次循环返回l2,第二次循环返回l2,累加结果为24。
62.D本题考查if语句的嵌套。if语句中的一
种表达方式,即:if…elseif…。
该表达式的语句是:
if(表达式1)
语句l
elseif(表达式2)
语句2
elseif(表达式3)
语句3
else
语句4
本题执行elsey=1.0,并且以”%f”输出。
63.B
64.C函数hm()求数组指定返回的元素的积。函数fun(a,3)求的是数组a[0]~a[3]的积。因此结果为2t3女4十5=120,故答案为C选项。
65.D
66.C
67.Af函数返回的结构体与涵数内定义的b结构体相同,所以答案选择A)。
68.C本题属于综合性题目,考查的知识点有字符数组的指针表示,for循环与if语句的结合
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤矿生产副队长岗位职责
- 装饰装修工程质量承诺及保证措施
- 节后安全生产教育培训
- 生产车间早会制度
- 安全生产考核内容包括哪些
- 安全管理人员安全生产职责
- 2024小学关心下一代体育锻炼计划
- 汽车修理厂2025年维修工时提升计划
- 招标代理合同管理流程
- 2025年秋季三年级道德与法治课程计划
- GB/T 700-2006碳素结构钢
- GB/T 41419-2022数字化试衣虚拟人体用术语和定义
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- GB/T 1633-2000热塑性塑料维卡软化温度(VST)的测定
- 《病毒学》(研究生)全册配套完整课件
- 第十七章其他熔化焊接与热切割作业课件
- 手术讲解模板:肩关节全部置换术课件
- 腧穴总论 2特定穴课件
- 数显压力表说明书
- JJF 1255-2010 厚度表校准规范-(高清现行)
- DB4409∕T 06-2019 地理标志产品 化橘红
评论
0/150
提交评论