版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年黑龙江省黑河市全国计算机等级考试C语言程序设计真题二卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.有以下程序:#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*WorldB.9,0ne*Dream!C.10,One*Dream!D.10,Ome*World
2.在一个顺序队列中,队首指针指向队首元素的____位置。
A.前一个B.后一个C.当前D.最后一个
3.若ch为char型变量,k为int型变量(已知字符a的ASCII码是97),则执行下列语句后输出的结果为()。
cb='b';
k=10;
printf("%X,%o,”,ch,ch,k);
printf("k=%%d\n",k);A.A.因变量类型与格式描述符的类型不匹配,输出无定值
B.输出项与格式描述符个数不符,输出为0值或不定值
C.62,142,k=%d
D.62,142,k=%10
4.
读取二进制文件的函数调用形式为:fread(buffersize,count,fp);,其中buffer代表的是()。
A.一个文件指针,指向待读取的文件
B.一个整型变量,代表待读取的数据的字节数
C.一个内存块的首地址,代表读人数据存放的地址
D.一个内存块的字节数
5.若有定义:inta,b;,通过语句scanf("%d;%d",&a,&b);,能把整数3赋给变量a,5赋给变量b的输入数据是A.A.35B.3,5C.3;5D.35
6.有以下程序
#include<stdio.h>
main()
{charch[3][5]={“AAAA”,”BBB”,”CC”};
printf(“%s\n”,ch[1];)
}
程序运行后的输出结果是()A.A.AAAA
B.CC
C.BBBCC
D.BBB
7.设无向图G中的边的集合E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发进行深度优先遍历可以得到的一种顶点序列为()。
A.aedfcbB.acfebdC.aebcfdD.aedfbc
8.若有说明inta[][3]={1,2,3,4,5,6,7,8,9},则a数组第一维的大小是()。
A.2B.3C.4D.无确定值
9.若有定义“inta=1234,b=-5678;”,用语句“printf("%+-6d%+-6d",a,b);”输出,以下正确的输出结果是()。
A.+1234-5678(中间有一个空格,最后有一个空格)
B.+1234-5678(最前面有一个空格,中间有一个空格)
C.+-1234+-5678(最前面和最后均无空格)
D.1234-5678(中间有两个空格,最后有一个空格)
10.广义表(a,b,c,d)的表头是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
11.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序运行后,若从键盘输入(从第1列开始)
123<回车>
45678<回车>
则输出结果是
A.1267B.1256C.1278D.1245
12.下列程序的输出结果是()#include<stdio.h>main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=1;case1:case2:a+=2;default:a+=3;}printf(“%d”,a);}A.19B.18C.6D.8
13.以下选项中关于C语言常量的叙述错误的是()。
A.所谓常量,是指在程序运行过程中,其值不能被改变的量
B.常量分为整型常量、实型常量、字符常量和字符串常量
C.常量可分为数值型常量和非数值常量
D.经常被使用的变量可以定义成常量
14.
15.以下叙述中正确的是()A.当对文件的读(写操作完成之后,必须将它关闭,否则可能导致数据丢失
B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D.语言中的文件是流式文件,因此只能顺序存取数据
16.有以下程序:#include<stdio.h>main(){inti=0.s=0;for(;;)if(i==3‖i==5)continue;if(i==6)break;i++;s+=i;}printf("%d\n",s);程序运行后的输出结果是()。
A.10B.13C.21D.程序进入列循环
17.下列选项中,能正确定义数组的语句是()。
A.intnum[0..2008];
B.intnum[];
C.intN=2008;intnum[N];
D.#defineN2008;intnum[N];
18.下列程序的输出结果是()。#include<stdio.h>intfun(inta){intb=0;staticintc=4:a=c++:b++;return(a):main{inta=2,i,c;for(i=0:i<2;i++)c=f(a+1):printf("%d\n",c);}A.4B.7C.6D.5
19.下列叙述中错误的是()。
A.用户定义的函数中可以没有return语句
B.用户定义的函数中可以有多个return语句,以便调用一次返回多个函数值
C.用户定义的函数中若没有return语句,则应当定义函数为void类型
D.函数的return语句中可以没有表达式
20.下述关于数据库系统的叙述中,正确的是()。
A.数据库系统减少了数据冗余
B.数据库系统避免了一切冗余
C.数据库系统中数据的一致性是指数据类型一致
D.数据库系统比文件系统能管理更多的数据
二、2.填空题(20题)21.以下程序段的输出结果是【】。
inti=9;
prinff("%o\n",i);
22.\13'在内存中占1个字节,"\12"在内存中占______个字节。
23.有以下定义和语句,则sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
24.表示“整数x的平方大于36"时的值为“真”的C语言逻辑表达式是【】。
25.下列程序段的输出结果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
26.下列程序的运行结果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
27.设有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
执行上面的程序段后,*(ptr+5)的值为______。
28.如果一个工人可管理多个设施,而一个设施只被一个工人管理,则实体“工人”与实体“设备”之间存在______联系。
29.下列程序的运行结果为【】。
main()
{inta,b,c,x,y,z;
a=10;b=2;
c=!(a%b);x=!(a/b);
y=(a<b)&&(b>=0);
z=(a<b)||(b>=0);
printf("c=%d,x=%d,y=%d,z=%d\n",c,x,y,z);
}
30.类是一个支持集成的抽象数据类型,而对象是类的【】。
31.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块),其中【】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
32.某二叉树中度为2的结点有18个,则该二叉树中有【】个叶子结点。
33.设有下列宏定义:#defineA2
#defineBA+3
则执行赋值语句;t=B*2;t为int型变量后的值是______。
34.下列语句使指针p指向一个double类型的动态存储单元。
p=【】malloc(sizeof(double));
35.有定义chara,b;若想通过&运算符保留a对应的二进制数的第3位和第6位的值,其余位置0,则b的二进制数应是【】。
36.若a=10,b=20,则表达式!(a<b)的值是【】。
37.以下程序的输出结果是______。
main()
{char*p-"abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=[char*)q;
printf("%s\n",r);
}
38.以下程序通过函数SunFun求。这里f(x)=x2+l,由F函数实现。请填空。
main()
{
printf("Thesum=%d\n",SunFun(10));
}
SunFun(intn)
{
intx,s=0;
for(x=0;x<=n;x++)
S+=F(______);
returns;
}
F(intx)
{
return(______);
}
39.数据结构分为逻辑结构和存储结构,循环队列属于______结构。
40.阅读下面语句,则执行后的输出结果为【】。
#include"stdio.h"
main()
{chara,b;
for(a='0',b='9';a<b;a++,b--)
printf("%c%c",a,b);
printf("\n");}
三、1.选择题(20题)41.C语言允许函数类型缺省定义,此时函数值隐含的类型是()。
A.floatB.intC.longD.double
42.有以下程序main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}执行后输出结果是
A.77B.88C.810D.1010
43.已知字母a的ASCII码为十进制数97,下面程序的输出结果是()。#include<stdio.h>main(){charc1,c2;c1='a'+'6'-'0';c2='a'+'3'-'0';printf("%c,%c\n",c1,c2);}
A.输出无定值B.d,eC.e,fD.g,d
44.有以下程序:#include<stdio.h>main(){unsignedinta;intb=-1;a=b;printf("%u",a);程序运行后的输出结果是()。
A.-1B.65535C.32767D.-32768
45.以下选项中不能作为合法常量的是_____。A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0
46.请读程序片段:charstr[]="ABCD",*p=str;printf("%d\n",*(p+4));上面程序片段的输出结果
A.68B.0C.字符'D'的地址D.不确定的值
47.以下程序的输出结果为()。inta,b,C;a=10;b=50;C=30;if(a<b)a=b;b=C;c=a;printf("a=%d,b=%d,c=%d",a,b,C);
A.a=50,b=30,c=30
B.a=10,b=30,c=10
C.a=50,b=30,c=10
D.a=50,b=30,c=50
48.设变量均已正确定义,若要通过scanf("%d%c%d%c”,&a1,&e1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。下列所示的输入形式中正确的是(注:口代表空格字符)()。
A.10□X□20□Y<CR>
B.10□X20□Y<CR>
C.10□X<CR>20Y<CR>
D.10X<CR>20□Y<CR>
49.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
50.以下叙述中不正确的是
A.C语言中的文本文件以ASCII码形式存储数据
B.C语言中对二进制文件的访问速度比文本文件快
C.C语言中,随机读写方式不适用于文本文件
D.C语言中,顺序读写方式不适用于二进制文件
51.下列程序的运行结果是()。#include<stdio.h>voidsub(int*s,int*y){staticintm=4:*y=s[m];m--;}voidmain(){inta[]={1,2,3,4,5},k,x;printf("\n");for(k=0;k<=4;k++){sub(a,&x);printf("%d,",x);}}
A.5,4,3,2,1,B.1,2,3,4,5,C.0,0,0,0,0,D.4,4,4,4,4,
52.若有以下程序段(n所赋值的是八进制数):intm=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是______。
A.32767,32767B.32767,032767C.32767,77777D.32767,077777
53.下面程序的输出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A.k=11,k=12,k=11
B.k=11,k=13,k=13
C.k=11,k=013,k=0xb
D.k=11,k=13,k=B
54.以下对结构体类型变量的定义中,不正确的是______。
A.typedefstructaa{intn;floatm;}AA;AAtd1;
B.#defineAAstructaaAA{intn;floatm;}td1;
C.struct{intn;floatm;}aa;srtuctaatd1:
D.struct{intn;floatm;}tdl;
55.视图设计一般有3种设计次序,下列不属于视图设计的是______。
A.自顶向下B.由外向内C.由内向外D.自底向上
56.在C语言程序中,下列说法正确的是()。
A.函数的定义和函数的调用均可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义可以嵌套,但函数的调用不可以嵌套
D.函数的定义和函数的调用均不可以嵌套
57.若有如下程序:main(){inta[3][4]={1,2,3,4,5,6,7,8,9};printf("%d%d%d\n",a[0][1],a[1][2],a[2][3]);}则程序运行后的输出结果是()
A.270B.480C.160D.不定值
58.用C语言编写的代码程序
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释即可执行
59.下列选项中不属于软件生命周期开发阶段任务的是()。
A.软件测试B.概要设计C.软件维护D.详细设计
60.以下描述中正确的是()。
A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
B.do-while循环由do开始,用while结束,在while(表达式.后面不能写分号
C.在do-while循环体中,是先执行一次循环,再进行判断
D.do-while循环中,根据情况可以省略while
四、选择题(20题)61.在HTML文档中,应该在下列哪个部分引用外部样式表?()A.A.文档的末尾
B.<title>部分
C.<body>部分
D.<head>部分
62.在数据库设计中,将E—R图转换为关系模式的过程属于()。
A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段
63.有以下程序该程序试图通过指针p为变量rl读人数据并输出,但程序有多处错误,以下语句正确的是()。
64.
65.设有宏定义:
#defineIsDIV(k,n)((k%1"1==1)?1:O)且变量m已正确定义并赋值,则宏调用:
IsDIV(m,5)&&;IsDIV(m,7)为真时所要表达的是()。
A.判断m是否能被5和7整除
B.判断m被5和7整除是否都余l
C.判断m被5或者7整除是否余1
D.判断m是否能被5或者7整除
66.
67.有以下程序程序的运行结果是()。
A.4332B.2344C.1234D.1123
68.下列语句组中,正确的是()。
A.char*s;s=”Olympic”;
B.chars[7];s=”Olympic”;
C.char*s;s={¨Olympic”};
D.chars[7];s={"Olympic”};
69.
70.以下叙述中错误的是
A.C语言源程序经编译后生成后缀为.obj的目标程序
B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCII码形式存放在一个文本文件中
D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
71.软件详细设计的主要任务是确定每个模块的()。
A.算法和使用的数据结构B.外部接口C.功能D.编程
72.
73.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划
74.有下列程序:fun(intx,inty){staticintm=0,i=2;i+=m+1;m=i+x+y;returnm;}main(){intj=1,m=1,k;k=fun(j,m);printS(”%d,”,k);k=fun(j,m);printf(”%d\n”,k);)执行后的输出结果是()。A.5,5B.5,11C.11,11D.11,5
75.
76.
77.
78.以下程序执行后sum的值是()。main{inti,sum;for(i=1;i<6;i++)sum+=i:printf("1%d\n",sum):}A.15B.14C.不确定D.0
79.
80.
五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:根据整型参数m,计算如下公式的值:y=1/(100100)+1/(200200)+1/(300300)+…+1/(mm)例如,若m=4000,则应输出0.000162。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:
六、程序设计题(1题)82.N名学生的成绩已在主函数中放人一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。
例如,若学生的成绩是:8576698591726487,则平均分应当是:78.625。注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填人你编写的若干语句。
参考答案
1.C本题输出两个结果,第一个是求字符串的长度。第二个是输出的字符串,数组的下标是从0开始的,所以当str取1的时候,应为“One*Dream!”。
2.A
3.C第1个printf函数,格式说明的个数是2,而输出项的个数是3,所以对于多余的输出项k不予输出;第2个printf函数,有两个%说明,第1个%后面的字符要原样输出。本题考查printf函数的格式。①“%x”和“%0”分别表示以十六进制和八进制无符合型输出整型数据(不带前导ox或0);②printf函数中格式说明符之前插入的任何字符都原样输出;③格式说明与输出项的个数,也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。
4.Cfread函数中的参数buffer是内存块的首地址,输入的数据存入此内存块中。
5.C解析:在C语言中scanf函数中输入数据时要严格按照所规定的样式输入。
6.Dch[1]即输出的为第二个字符串,即BBB。
7.B
8.B解析:本题考查二维数组第一维的大小如何确定。二维数组第一维的大小由下列规则确定:①当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小:②当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加1。
9.Aprintf函数参数包括格式控制字符串和输出参数,其中格式控制字符串中除了格式控制字符外,其他字符原样输出。本题中的printf(“%+-6d%+-6d”,a,b);”,在%和格式控制字符d之间,“+”号表示输出的数字带正负号号表示输出数据向左对齐,“6”表示输出宽度,如果输出数据的宽度不够6,那么左对齐,右边补空格。所以本题输出+1234-5678(中间有一个空格,最后有一个空格)。本题答案为A选项。
10.A
11.D解析:putchar(c1)输出1,putchar(c2)输出2,printf('%c%c\\n',c5,c6)输出45。
12.A本题考查switch语句。当i=1时,执行case1,因为没有遇到break语句,所以依次往下运行,a=a+2=2,a=a+3=5;当i=2时,执行case2,因为没有遇到break语句,所以依次往下运行,a=a+2=7,a=a+3=10;当i=3时,执行case3,a=a+1=11,因为没有遇到break语句,所以依次往下运行,a=a+2=13,a=a+3=16;当i=4时,执行default,a=a+3=19,结束循环。
13.D此题考查的是常量和变量的定义,常量不是经常使用的变量,而是一个确定的数值,所以答案选择D。
14.D
15.AB)选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C)选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第1个数据,可以用fseek()函数进行重新定位即可。D)选项中,C语言中的文件可以进行随机读写。
16.D解析:程序第1次执行for循环时,i=0,两条if语句中的表达式都不成立,执行i++;s+=i;此时i为1,s为1第2次循环,两条if语句中的表达式也不成立,执行i++,s+=i,此时i为2,s为3;……;当i=3时,执行continue,结束本轮循环,不执行i++;继续执行下一轮循环,这样一来i值始终为3,继续continue,无终止条件,进入死循环。
17.DC语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中的数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定元素的个数;C选项错误,N为变量,不能用来定义数组大小。故本题答案为D选项。
18.Dstatic变量是局部度量,函数无法修改,所以当i=1时,第2次进入f函数时c=5,所以最终main函数中C的值为5。
19.B函数的值只能通过return语句返回主调函数。函数中允许有多个return语句,但每次只能调用一个return语句,因此只能返回一个函数值。不返回函数值的函数,可以明确定义为“空类型”,类型说明符为void。故本题答案为B选项。
20.A解析:数据库是一个通用化的、综合性的数据集合,它可以为各种用户所共享,具有最小的冗余度和较高的数据与程序的独立性,而且能并发地为多个应用服务,同时具有安全性和完整性。即数据库系统减少了数据冗余,但不能避免一切冗余。所以选项A正确,选项B错误。在数据库管理阶段中,数据是结构化的,面向系统,数据冗余度小,从而节省了数据的存储空间,也减少了对数据的存取时间,提高了访问效率,避免了数据的不一致性。数据的不一致性,是指对数据的存取方式,选项C错误。数据库系统比文件系统能管理更多的数据,并非是数据库系统的特点,选项D错误。本题正确答案是A。
21.1111解析:格式字符。是以八进制无符号形式输出整数(不输出前导符0),因为整数9的八进制为11,所以输出结果为11。
22.22解析:'\\13':表示八进制数13表示的ASCII字符,是一个字符,占一个字节;而”\\12”是个字符串,除了八进制数12表示的ASCII字符占一个字节外,还有在字符串的末尾加上串结束标志“'\\0'”,所以共有2个字节。
23.10410\r\n4解析:结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。int占2个字节,float占4个字节,共用体变量所占的内存长度等于最长的成员的长度。所以,sizeof(a.share)的值是4,sizeof(a)的值是2+2+2+4=10。
24.x<-6||x>6
25.morningclassmorningclass解析:本题考查了两个知识点:①“++、--”运算后缀形式是先使用变量原来的值,使用完后再使其增1或减1;②在switch语句中,当n=\'c\'时,执行“case\'c\':”,输出morning;因为此句中没有break语句,因此接着执行'case\'d\':”,输出class,最终输出结果为morningclass。
26.2525解析:本题考查带参数的宏的定义及相关运算。运算过程为:t=POW(x+y)=(2+3)*(2+3)=25。
27.'\0''\\0'解析:本题涉及字符数组和指针的两个知识点:①在C语言中,字符型数组在存放字符串时会自动在末尾加上字符串结束标识符'\\0'所以题中数组str有6个元素。②ptr指向数组str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
28.一对多(或1:N)一对多(或1:N)
29.c=1x=Oy=Oz=1
30.实例将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象则是其对应类的一个实例。
31.驱动模块驱动模块解析:在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中,驱动模块相当于被测试模块的主程序,它接收测试数据,并传给被测试模块,输出实际测试结果。承接模块通常用于代替被测试模块调用的其他模块,其作用仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。
32.1919解析:根据二叉树的性质:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为2的结点多一个。本题中度为2的结点数为18,故叶子结点数为18+1=19个。
33.88解析:本题考查带参数的宏定义及相关运算.运算过程为:t=B*2=A+3*2=2+3*2=8。
34.(double*)
35.100100100100解析:“&”运算符的运算规则是:两个二进制数的对应二进制位只要有一个为0,则结果为0;二者都为1时,结果为1。因此,要想保留某位可用1,屏蔽某位用0。
36.00解析:已知a=10,b=20,所以逻辑表达式a<b的值为true,即为1,在这个表达式前面有一个逻辑运算符!,表示反操作,所以整个语句的值应当为false,即为0。
37.efghefgh解析:本题定义了一个字符型指针变量p并通过赋初值让它指向了一个字符串,定义了另一个字符型指针变量r和一个长整型指针变量q。首先通过语句“q=(long*)p;”把P的地址值强制转换为长整型地址值并赋值给q,然后执行“q++;”,地址值增加了4,执行语句“r=(char*)q”,把长整型指针变量q的值再强制转换成字符型地址值并赋给r,r的值应为字符串中字符“e”的地址,最后输出r指向的字符串,是“efgh”。
38.xX*X+1或1+x*xx\r\nX*X+1或1+x*x解析:题目中要求从x=0开始将f(x)的值累加起来,直到x=10。在SunFun()函数中用了一个for循环,每循环一次将f(x)累加到s中,所以在本题的第一个空格处我们应该填x,,然后x+1,共循环10次。F()函数的功能应该是求数学表达式f(x)得值,所以其返回值应该为x*x+1。
39.存储或物理或存储结构或物理结构存储或物理或存储结构或物理结构解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。供队列循环使用。可知,循环队列应当是物理结构。
40.918273645918273645解析:for是C语言的关键字,其后的一对圆括号中通常含有3个表达式,各个表达式之间用分号隔开,这3个表达式可以是任意形式的表达式,通常主要用于for循环控制。
41.B解析:在C语言中,对于自定义函数要遵循“先定义,后使用”的规则,如定义时,不指定函数类型,C编译系统都默认函数的返回值是int型。
42.C解析:本题考核的知识点是字符数组的定义、赋初值以及函数sizeof()的应用。本题中定义两个字符型数组,其中a省略了长度,定义了b的长度为10,并赋初值分别为“abcdefg”和“abcdfg”。所以a的长度为赋值给它的字符串的字符个数7加上一个结束转义字符,即a的长度为7+1为8.定义时b的长度定义为10,故b的长度为10,因此最后通过函数sizeof()求得的数组a和数组b的长度分别为8和10,所以,4个选项中选项C符合题意。
43.D解析:C语言规定,所有字符常量都可以化为整型常量来处理,因而字符常量也可以参与算术运算。注:字符常量参与算术运算时,其实是使用其对应的ASCII码值进行计算。本题中,'a'对应的ASCII码值是97。题中虽然没有给'6'和'0'的ASCII码值,但应该知道'6'-'0'是将字符'6'转换成整数6的表达式,所以c1='a'+'6'-'0'=103,c2='a'+'3'-'0'=100,按照字符型输出分别是g和d。
44.B解析:不同类型的对象进行混合运算时,需要进行数据的类型转换,其转换方向为int→unsigned→long→double。本题程序中的变量b为int型,需要转换为unsigned型。int型变量的数值范围为-32768~32767,最高位为符号位,而unsigned所表示的数的范围为0~65535,它的最高位为数值位。由于内存中是以补码形式存储数据的,所以整型数-1在内存中表示为16个1,最高位的1表示符号为负,将它转换为unsigned类型,即将原符号位的1看成数值,所以得到16个数值1,即65535。
45.B解析:本题考查的是C语言中实型常量的指数表示法。实型常量的指数表示法是用字母e(或E)将一个实数的小数部分和指数部分分隔开。字母e(或E)之前是小数部分,之后是指数部分,这两部分都不能省略,且指数部分必须为整数。故选项B不正确。所以,4个选项中选项B符合题意。
46.B
47.D解析:a的初值为10,b的初值为50,a<b为真,执行a=b,则a的值为50。继续执行b=c;和c=a;,则b=30,c=50。所以选项D正确。
48.A解析:在使用scanf函数进行输入数据时,输入的数据之间必须用空格、回车符、制表符(Tab键)等间隔符隔开。
49.D解析:C语言把文件看成是一个字符(字节)的序列,即由一个一个字符(字节)的数据顺序组成。根据数据的组织形式,可分为ASCII文件和二进制文件。ASCII文件又称文本文件,它的每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
50.D解析:在C语言中文本文件是以ASCII码形式存放的,每个字符占一个字节。由于数据在计算机中是以二进制形式存放的,因此二进制文件中的数据可以直接读出,而不需要像文本文件那样把ASCII码转换成二进制,因此速度较快。在文本文件叶,,数据以ASCII码形式存放,用户很难判定一个数据到底占几个字节,所以不适合使用随机读写方式。数据以二进制形式存放,占有的字节数是固定的,所以可以进行随机读写,当然也可以顺序读写。故D选项为所选。
51.A解析:本题考查的是静态变量以及函数的实参与形参之间的地址值传递。sub()函数数中定义的变量m是一个静态变量,系统可为其分配固定的存储空间,重复使用时,变量的值保留;所以当mam()函数中的for循环中语句sub(a,&x);执行时,sub函数中m的值依次是4,3,2,1,0;因为变量x进行的是地址值传递,所以最后依次输出的是数组a的元素a[4]、a[3]、a[2]、a[1]、a[0]。
52.A解析:“%o”以八进制无符号形式输出整数,n=032767中的032767是整数的八进制形式,当以“%o”格式输出n时,结果仍为32767。
53.D解析:在C语言格式字符的输出中,“%d”是以带符号的十进制形式输出整数;“%60”是以8进制无符号形式输出整数(不输出前导符o);“%x”是以16进制无符号形式输出整数(不输出前导符Ox)。
54.C解析:选项A是先定义一个结构体类型,然后再定义结构体变量。选项B是通过宏替换来定义结构变量的。选项D则是直接定义结构变量。
55.B解析:视图设汁一般有3种设计次序,它们分别是自顶向下、自底向上和由内
向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以
单独使用也可混合使用。
注意:数据库概念设计的过程:首先选择局部应用,再进行局部视图设计,最后
对局部视图进行集成得到概念模式。
56.B解析:本题考查函数调用的基本概念。因为函数的结果是个未知量,而函数定义时不能使用未知量,所以函数定义不可以嵌套,但函数的调用可以嵌套。
57.A
58.B解析:C语言一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为。OBJ的二进制文件(称为目标文件),最后还要由称为“连接程序”(Link)的软件,把此。OBJ文件与C语言提供的各种库函数连接在一起,生成一个后缀.EXE的可执行文件。显然C语言不能立即执行,故选项A错误;根据以上定义,选项C和选项D错误,所以,4个选项中选项B符合题意。
59.C解析:软件生命周期由软件定义、软件开发和软件维护三个时期组成,每个时期又进一步划分为若干个阶段。软件定义时期的基本任务是确定软件系统的工程需求。软件定义可分为软件系统的可行性研究和需求分析两个阶段。软件开发时期是具体设计和实现在前一时期定义的软件,它通常由下面五个阶段组成:概要设计、详细设计、编写代码、组装测试和确认测试。软件维护时期的主要任务是使软件持久地满足用户的需要。即当软件在使用过程中发现错误时应加以改正;当环境改变时应该修改软件,以适应新的环境;当用户有新要求时应该及时改进软件,以满足用户的新要求。根据上述对软件生命周期的介绍,可知选项C中的软件维护不是软件生命周期开发阶段的任务。因此,本题的正确答案是C。
60.C解析:do-while语句的一般形式为:do循环体语句while(表达式);,其中循环体语句可以是复合型语句,但必须用花括号括起来。whi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年吉林省重点学校初一入学语文分班考试试题及答案
- 2025~2026学年辽宁沈阳市第四十三中学教育集团七年级下学期期中考试历史试卷
- 2026年高中语文《齐安郡中偶题》杜牧即景感怀教案
- 2026年乐不思蜀成语故事历史解读教案
- 2026年胡服骑射成语故事改革创新主题教案
- 2025年跨境电商库存优化策略
- 新苏教版科学四年级上册第一单元 动物大家族单元教学设计
- 2025年基因测序流程自动化:AI机器人的应用场景
- 体育用品广告推广合作协议
- T∕CAPDA 068-2025 烯丙基胺系列产品工业盐-氯化钠
- 六年级上册人教版道德与法治学科教学计划
- 山东省2025山东中国海洋大学财务处会计人员招聘5人笔试历年参考题库典型考点附带答案详解
- 工业管道年度检查报告(2026新标准)
- AI驱动下个性化学习路径的自适应生成与效果评估
- 2025年教科版三年级科学上册第一单元《天气》知识清单
- T-SHDPA 003-2024 智造空间设计标准
- 《论文写作(微课版)》全套教学课件
- 2025江苏南京鼓楼区属国企集团人员招聘15人考试笔试备考试题及答案解析
- 《机械基础》课件 第一章 绪论
- 普洱茶知识讲座课件
- 《旅游法规(第二版)》电子课件
评论
0/150
提交评论