版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年福建省泉州市全国计算机等级考试C语言程序设计真题二卷(含答案)学校:________班级:________姓名:________考号:________
一、单选题(20题)1.以下选项中,合法的一组C语苦数值常量是()。
A.28.5e-3-0xf
B.12OXa234.5
C.1774c1.5Oabc
D.0x8A10,0003.e5
2.对初始状态为递增序列的数组按递增顺序排序,最省时间的是插入排序算法,最费时间的算法是()
A.堆排序B.快速排序C.插入排序D.归并排序
3.下面程序段的运行结果是char*p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));
A.8B.12C.4D.7
4.对n个数进行排序,哪种算法,其时间复杂度在最坏和最好都是O(nlogn)()
A.快速排序B.希尔排序C.堆排序D.选择排序
5.
6.下列程序的输出结果是()。main(){inta=4,b=5,c;if(a<B){c=a*b;printf("%d,%d,%d\n",b,a,C);}else{c=b/a;printf("%d,%d,%d\n",b,a,C);}}
A.4,5,12B.20C.5,4,20D.12
7.十六进制数FF.1转换成十进制数是()
A.255.0625B.255.125C.127.0625D.127.125
8.下列函数的类型是()。fun(doublex){floaty;y=3*x-4;returny;}
A.intB.不确定C.voidD.float
9.若有定义;intw[3][5];,则以下不能正确表示该数组元素的表达式是()。A.*(*w+3)B.*(w+1)[4]C.*(*(w+1))D.*(&w[0][0]+1)
10.有如下程序:main(){intx=1,a=0,b=0;switch(x){case0:b++;casel:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=2
11.以下关于结构化程序设计的叙述中正确的是()。
A.一个结构化程序必须同时由顺序、分支、循环三种结构组成
B.结构化程序使用goto语句会很便捷
C.在C语言中,程序的模块化是利用函数实现的
D.由三种基本结构构成的程序只能解决小规模的问题
12.
13.设栈S的初始状态为空,6个元素入栈的顺序为e1,e2,e3,e4,e5和e6。若出栈的顺序是e2,e4,e3,e6,e5,el,则栈s的容量至少应该是()。
A.6B.4C.3D.2
14.下列程序的运行结果是()。
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
15.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指()
A.数据与程序独立存放
B.不同的数据被存放在不同的文件中
C.不同的数据只能被对应的应用程序所使用
D.以上三种说法都不对
16.有以下程序:#include<stdio.h>intadd_more(inta,intb){returna+b-2;}main(){inti;for(i=0;i<4;i++)printf(“%d”,add_more(i,2));}程序运行后的输出结果是()。
A.1234B.0123C.5678D.4321
17.下列不正确的转义字符是()。
A.'\\'B.'\t'C.'\n\D.'088'
18.有以下语句:intb;charc[10];,则正确的输入语句是______。
A.scanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C.scanf("%d%s",b,c);
D.scanf("%d%s",b,&c);
19.以下选项中不属于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
20.线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是()
A.每个元素都有一个直接前件和直接后件
B.线性表中至少要有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
二、2.填空题(20题)21.按照“先进先出”的原则组织数据的结构是______。
22.一般来说,算法可以用顺序、选择和______三种基本控制结构组合而成。
23.下面程序的运行结果是()。
#include<stdio.h>
#defineSlZE12
main()
{chars[SIZE];inti;
for(i=0;i<SIZE;i++)s[i]='A'+i+32;
sub(s,5,SIZE-1);
for(i=0;i<SIZE;i++)printf("%c",s[i]);
printf("\n");}
sub(char*a,intt1,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;
}
}
24.数据库是指按照一定的规则存储在计算机中的【】的集合,它能被各种用户共享。
25.软件工程的出现是由于【】。
26.软件测试的方法有动态测试、静态测试和【】13种。
27.若有以下程序
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
执行后输出的结果是______。
28.关系数据库管理系统能实现的专门关系运算包括选择、连接和【】。
29.若x和a均是血型变量,则计算完x=(a=4,6*2)后的x值为______。
30.以下程序输出的最后一个值是【】
intff(intn)
{staticintf=1;
f=f*n;
returnf;
}
main()
{inti;
for(i=1;i<=5;i++)printf("%d\n",ff(i));
}
31.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于______。
32.若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为【】。
33.下列程序的输出结果是______。
longfun5(intn)
(longs;
if((n==l)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf(%1d\n",x);
34.以下程序运行后输入3,abcde<回车>,则输出结果是【】。
#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);
}
35.设一棵完全二叉树共有700个结点,则在该二叉树中有【】个叶子结点。
36.以下程序段的功能是统计链表中结点的个数,其中first为指向第一个结点的指针(链表带头结点)。请在下划线内填入正确内容。
structlink
{chardata;
structlink*next;};
…
structlink*p,*first;
intc=0;
p=first;
while(【】)
{c++;
p=【】;}
37.下列程序的运行结果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
38.软件危机出现于60年代末,为了解决软件危机,人们提出了【】的原理来设计软件,这就是软件工程诞生的基础。
39.以下程序的输出结果是【】。
main()
{chars[]=“abcdef”;
s[3]='\0';
printf(“%s\n”,s);
}
40.若定义#definePI3.14159,则执行完下列程序后输出结果是______。
#definePI3.14159;printf("PI=%f",PI);
三、1.选择题(20题)41.在C语言的循环语句for、while、do-while中,用于结束本次循环,继续执行下一次循环的语句是______。
A.switchB.breakC.continueD.goto
42.以下说法正确的是()。
A.宏定义是C语句,要在行末加分号
B.可以使用#undefine提前结束宏名的使用
C.在进行宏定义时,宏定义不能嵌套
D.双引号中出现的宏名也要进行替换
43.数据库设计包括两个方面的设计内容,它们是()
A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计
44.语句"printf("a\bhow\'are\'y\\\bou\n");"的输出结果是()。
A.a\bhow\'are\'y\\bou
B.a\bhow\'are\'y\bou
C.how'are'you
D.ahow'are'y\bou
45.以下程序的输出结果是()。main(){inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d%d%d\n"m,k,a,b);}
A.104B.103C.3D.4
46.下列叙述中错误的是()。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
47.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()
A.控制流B.加工C.数据存储D.源和潭
48.以下叙述错误的是()。
A.变量的作用域取决于变量定义语句的位置
B.全局变量可以在函数以外的任何部位进行定义
C.局部变量的作用域可用于其他函数的调用
D.一个变量说明为static存储类型是为了限制其他编译单元的引用
49.阅读下列程序,则在执行后,程序的运行结果为#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}
A.nicetomeetyouyouB.nicetoC.meetyouyouD.nicetoyou
50.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为______。A.EOFB.非0值C.0D.NULL
51.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()。
A.a^bB.a|bC.a&bD.a<<4
52.若输入60和13,以下程序的输出结果为()#defineSURPLUS(a,b)((a)%(b));main(){inta,b;scanf("%d,%d",&a,&b);printf("\n",SURPlUS(a,b));}
A.60B.13C.73D.8
53.以下定义语句中正确的是
A.inta=b=0;
B.charA=65+1,b='b';
C.floata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
54.C语言函数返回值的类型是由______决定的。
A.return语句中的表达式类型B.调用函数的主调函数类型C.调用函数时临时D.定义函数时所指定的函数类型
55.C语言结构体类型变量在程序执行期间,()。
A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中
56.因特网(习惯上称国际互联网)的英文名是()
A.InternetB.IntranetC.NCFCD.ISDN
57.有以下程序structSTU{charnum[10];floatscore[3];};main(){stmctSTUs[3]={{“20021”,90,95,85},{“20022”,95,80,75},{“20023”,100,95,90}},*p=s;inti;floatsum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf(“%6.2f\n”,sum);}程序运行后的输出结果是
A.260B.270C.280D.285
58.下列叙述中正确的是()。
A.算法的执行效率与数据的存储结构无关
B.算法的空间复杂度是指算法程序中指令(或语句)的条数
C.算法的有穷性是指算法必须能在执行有限个步骤之后终止
D.以上3种描述都不对
59.已定义以下函数
fun(int*p)
{return*p;}
该函数的返回值是()
A.不确定的值
B.形参p中存放的值
C.形参p所指存储单元中的值
D.形参p的地址值
60.以下各选项企图说明—种新的类型名,其中正确的是______。
A.typedefviint;
B.typedefV2=int;
C.typedefintv3;
D.lypedefv4:int
四、选择题(20题)61.以下程序的输出结果是()。
A.1B.2C.3D.0
62.若变量均已正确定义并赋值,以下合法的c语言赋值语句是()。A.x---y=--5;B.x--n%2.5;C.x+n=i;D.x=5--4+1;
63.下列描述中正确的是()。
A.软件工程只是解决软件项目的管理问题
B.软件工程主要解决软件产品的生产率问题
C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D.软件工程只是解决软件开发中的技术问题
64.以下选项中可用做c程序合法实数的是()。、、
A.3.0e0.2B..1e0C.E9D.9.12E
65.以下关于typedef的叙述错误的是()。
A.用typedef可以增加新类型
B.typedef只是将已存在的类型用一个新的名字来代表
C.用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D.用typedef为类型说明一个新名,通常可以增加程序的可读性
66.有以下程序:
程序运行后的输出结果是()。
A.500B.401C.503D.1404
67.
68.
69.
70.有以下程序:
程序运行后的输出结果是()。
A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World
71.
72.
73.下列描述错误的是()。
A.继承分为多重继承和单继承
B.对象之问的通信靠传递消息来实现
C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征
D.类是具有共同属性、共同方法的对象的集合
74.有以下程序:
程序运行后的输出结果是()。
A.0,0B.1,0C.3,2D.1,2
75.C语言中char类型数据占字节数为()。
A.3B.4C.1D.2
76.
下列程序的输出结果是()。
#includedstdi0.h>
#includedstring.h>
voidfun(intb[])
{staticinti=0;
do
{b[i]+=b[i+1];
}while(++i<2);
}
main
{intk,a[5]={1,3,5,4,9};
fun(a);
for(k=0;k<5;k++)printf("%d",a[k]);
}
A.13579B.48579C.48549D.48999
77.
78.有三个关系R,S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为()。A.选择B.投影C.交D.并
79.
下列程序执行后的输出结果是()。
main
{charx=0xFFFF;printf("%d\n",x--);}
A.-32767B.FFFEC.1D.32768
80.
下列程序的输出结果是()。
#include<stdio.h>
main()
{inti,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}
A.4B.39C.45D.6
五、程序改错题(1题)81.下列给定程序中,函数proc()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。
例如,若输入“I,anl,A,Student”,则输出“i,am,a,student”。
请修改程序中的错误。使它能得到正确结果。
注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
六、程序设计题(1题)82.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,规定输入的字符串中只包含字母和*号。编写函数fun(),其功能是删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“ABCDEFG”。注意:部分源程序给出如下。请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。试题程序:#include<conio.h>#include<stdio.h>voidfun(char*a){}voidmain(){ chars[81]; printf(“Enterastring:\n”); gets(s); fun(s); printf(“Thestringafterdeleted:\n”); puts(s);}
参考答案
1.B
2.B
3.C在本题中,程序段首先定义了字符型指针变量p,并使其指向一个字符串,然后将指针变量p加3,即使其指向字符串的第四个元素。然后执行输出语句,通过输出语句的输出格式我们可以知道,最后输出的是一个十进制数的整型数值,其输出列表为strlen(strcpy(P,″ABCD″))。这就要求我们了解strlen函数和strcpy函数的作用。
strcpy的调用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串复制到目的地址中,这种复制将覆盖原来的字符串。strcat函数的功能是将源地址的字符串复制到目的地址字符串的后面。
strlen的调用格式是:strlen(字符串地址),其功能是返回字符串中字符的个数。
那么程序中执行strcpy(P,″ABCD″)后指针变量p所指向的字符串为“ABCD”,该字符串中字符的个数为4,那么执行strlen后,程序最终输出的结果是4。因此本题正确的答案是C。
4.C
5.B
6.C解析:本题考查ifelse语句。第一个if语句,先判断条件,发现a<b成立,执行下列的复合语句,得c=a*b=20,b、a的值不变。
7.A
8.A本题考查函数值的类型。在函数调用时,尽管Y的类型是float.x的类型是double,但是因为函数定义时没有指定类型说明,系统默认函数值的类型为int型,所以计算后Y的类型是int型。
9.B通过—维数组名或指向维数组元素的指针来引用数组元素有两种写法:a[i]和*(a+i),它们是等价的。这是一种运算符之间的等价转换,就好像a-(b-C)等价于a-b+c一样。知道了这种转换,我们可以将之扩展到二维数组甚至任意维数组上来。因为[]运算符的结合性是从左至右的,所以w[i][j]等价于(w[i][j],此时可以先将任意一个[]运算符转换为指针形式为:(*(w+i)[j]或*(w[i]+j),或者同时转换:*(*(w+i)+j)。上述几种形式都完全等价于w[i][j]。选项A中,*(*w+3)可以看成*(*(w+0)+3),即w[0][3],是正确的。选项B小,因为[]运算符的优先级高于*运算符,所以*(w+1)[4]等价于*((w+1)[4]等价于*(*((w+1)+4)),即*(*(w+5)+0),它等价于w[5][0],很明显它超过数组的范围了,故不正确。选项C等价于w[1][0],是下确的。选项D中,&w[0][0]是数组w第1个元素的地址,它等价于&*(*(w+0)+0),外面的&和*可以抵消,就好像先乘以个数,然后再除以这个数一样。所以,&w[0][0]等价于*(w+0)+0。即*w。所以原式就变为*(*w+1)等价于w[0][1],这个也是合法的。综上所述,本题应该选择B。
10.A当X为1时,执行case1,a自加等于1,因为case1后没有break,接着执行case2,此时a的值为2,b自加为1,故选择A选项。
11.C解析:结构化程序设计是指将待开发的软件系统划分为若干个相互独立的模块,与具体的语句结构无关。Goto语句的滥用会导致程序的可读性降低。三种基本结构构成的程序依然可以解决大规模的问题,只是不利于复用。
12.B
13.C
14.D本题考查while循环。第一次循环,y=y-1,y=2,循环条件成立,x=1,x++后值为1,x自加变成2,进入循环,a=a+1=1,判断if语句条件是否成立,y<x不成立,接着执行下一次循环。第二次循环,x=2,y-1=1.循环条件成立,进入循环,a=a+1=2,判断if语句的控制条件是否成立,y<x成立,执行break语句。退出循环。结果为D。
15.D解析:在数据库系统中,通过系统提供的映象功能,使数据具有两方面的独立性:一是物理独立性。即由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。二是逻辑独立性。即由于数据的局部逻辑结构(它是总体逻辑结构的一个子集,由具体的应用程序所确定,并且根据具体的需要可以作一定的修改)与总体逻辑结构之间也由系统提供映象,使得当总体逻辑结构改变时,其局部逻辑结构可以不变,从而根据局部逻辑结构编写的应用程序也可以不必修改。由此可知,选项A.B与C中的说法都是错误的。
16.Badd_more函数接收两个参数a、b,返回“a+b-2”。main函数中,for循环调用add_more函数。当i=2时,传入实参i和2,所以每次调用函数add_more时,b的值都是2。函数add_more返回值等价于实参i。所以每次for循环输出的值就是i的值。故本题答案为B选项。
17.D解析:'\\\\'是反斜线转义字符;'\\t'是水平跳格转义字符;'\\n'是换行转义字符;C语言中没有规定'088'为转义字符。
18.B解析:b是整型数,在输人语句中要加取地址符,而c是数组名,本身就是数组的首地址,因此不用加取地址符。
19.B解析:在C语言程序中,用单引号把一个字符或反斜线后跟一个特定的字符括起来表示一个字符常量。选项A)、C)和D)为正确的字符常量,而选项B)是用双引号括起来的字符,表示一个字符串常量。
20.D解析:线性表可以为空表,排除选项B。第一个元素没有直接前件,最后一个元素没有直接后件,故排除选项A。线性表的定义中,元素的排列没有规定大小顺序,故选项C也有误,只有D项是正确的。
21.队列队列解析:队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫做“队尾”,删除元素的一端叫做“队头”,先插入的元素先被删除,是按先进先出的原则组织数据的。
22.循环循环解析:算法一般由顺序,选择和循环三种基本控制结构组合而成。
23.abcdelkjihgfabcdelkjihgf解析:本题先给字符型数组s的12个元素赋值a到1共12个字母,函数sub(char*a,intt1,intt2)的功能是将数组a的从第t1+1个元素到t2+1个元素进行逆置,在主函数中调用sub(s,5,SIZE-1)函数,是将数组s的第6个元素到第12个元素进行逆置,其他元素位置不变。
24.数据数据解析:数据库是由一个互相关联的数据的集合和一组用以访问这些数据的程序组成,这些数据按一定的数据模型组织、描述和存储。
25.软件危机的出现软件危机的出现
26.正确性测试正确性测试
27.77解析:本题考核的知识点是字符类型变量的运算。字符型数据可作为整型参加算术运算,其值为其对应的ASCII码。'H'-'A'的结果是7,加'0'后是'7'的ASCII码,所以输出的是字符'7'。
28.投影专门关系运算包括对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系的结合(连接操作)等。
29.1212解析:x=(表达式1,表达式2,…)的形式,结果为最后一个表达式的值:x=(a=4,6*2)=2*6=12。
30.120120解析:静态变量的类型说明符是static,静态局部变量属于静态存储方式,它具有以下特点:
①静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。
②对静态局部变量是在编译时赋初值的,即只赋初值—次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。
③如在定义局部变量时不赋初值的话,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符变量)。(注意:C语言中的非静态变量在定义时,系统并不会自动给它赋初值)
④虽然静态局部变量在函数调用结束后仍然存在,但其他函数是不能引用它的。
本题中函数的功能是:与for语句一起求一个整数的阶乘。
31.线性结构线性结构解析:数据的逻辑结构是指数据元素之间的逻辑关系,分为线性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。
32.88解析:fabs函数功能是求x的绝对值,计算结果为double型。pow功能是计算x的y次方的值,计算结果同样为double型。所以本题表达式相当于2.0的3.0次方,结果为8.000000。
33.99解析:考查ifelse语句,n==4不满足条件,所以fun5(4)=4+fun5(3),n==3也不满足条件,fun5(3)=3+fun5(2),n==2满足条件fun5(2)=2,故x=4+3+2=9。
34.cdeabcdeab解析:本题move()函数的作用,是将形参s仕所指地址的连续n位循环右移1位,即让str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函数中用了一个for循环调用move()函数,共循环3次,所以数组s被循环右移了3位,故最后输出的值为cdeab。
35.350350解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。在根据完全二叉树的定义,在一棵完全二叉树中,最多有1个度为1的结点。因此,设一棵完全二叉树具有n个结点,若n为偶数,则在该二叉树中有n/2个叶子结点以及n/2-1个度为2的结点,还有1个是度为1的结点:若n为奇数,则在该二叉树中有[n/2]+1个叶子结点以及[n/2]个度为2的结点,没有度为1的结点。本题中,完全二叉树共有700个结点,700是偶数,所以,在该二叉树中有350个叶子结点以及349个度为2的结点,还有1个是度为1的结点。所以,本题的正确答案为350。
36.p!=NULLp->nextp!=NULL\r\np->next解析:结构体变量构成链表需要每个节点中都有一个指向下一个结点的指针,就像本题中的next指针一样。注意:掌握可以对链表进行的操作。
37.5555解析:分析程序执行过程,第一次循环时,i=3,i=5,因为switch(3),所以执行case3,调用P(a[--i])=P(a[4])=P(5),输出5:第二次循环时,j=2,i=4,因为switch(2),所以执行case2,调用P(a[i++]):P(a[4])=P(5),输出5,之后i自加等于5。
38.软件工程学软件工程学
39.abcabc解析:字符串的结束标记'\\0',当输出一个存放在字符数组中的字符串时,只需输出到'\\0'为止,而不管其后有什么数据。本题给字符数组s的元素s[3]赋值为'\\0',故只能输出3个字符“abc”。
40.PI=3.14159PI=3.14159解析:本题先定义了一个宏名PI,以后在程序中出现PI都用3.14159替代,但是C语言规定:双引号中的宏名是不进行替换的。
41.C解析:循环辅助控制语句有continue;和break;,前者跳过本次循环,进行下一次循环,后者跳出整个循环语句。
42.B解析:本题考查宏的使用规则:①字符替换格式:#define标识符字符串,行末不加分号;②双引号中出现的宏名不替换;③如果提前结束宏名的使用,程序中可以使用#ndefine;④在进行宏定义时,宏定义能层层置换,能够嵌套。
43.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。
44.C解析:“\\b”格式符表示退格,功能是将它后面的字母把它前曲的字母覆盖,导致“\\b”格式符前面的字母不能输出;“\\'”格式符表示输出单引号字符:“\\\\”格式符表示输出反斜线字符。
45.D解析:&&的优先级高于=,先计算&&左侧的表达式++a<0。先对a加1再与0比较大小,a=-1+1=0,++a<0为假即0,&&左侧的表达式的值为0,不再计算&&右侧的表达式的值,因此b的值不变仍然为4,整个逻辑表达式的值为0,则k被赋值为0。输出的结果为004。
46.CC.【解析】线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项C.是错误的。
47.A解析:数据流图包括4个方面,即加工(转换)(输入数据经加工变换产生输出)、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名)、存储文件(数据源)(表示处理过程中存放各种数据的文件)、源和潭(表示系统和环境的接口,属系统之外的实体)。不包括选项中的控制流。
48.D解析:本题考查函数调用的变量作用域。全局变量不在任何函数体内定义,作用域为整个文件;局部变量在函数体内定义,作用域仅为本次函数;static类型是静态变量,为了方便其他编译单元的引用,不能随意改变。一个函数包含两部分:函数首和函数体,函数体包括花括号内的所有语句。
49.D解析:考查通过赋值的方式给一维数组赋初值。字符串复制函数strcpy调用形式为:strcpy(s1,s2),此函数用来把s2所指字符串的内容复制到s1所指存储空间中,函数返回s1的值,即目的串的首地址;求字符串长度函数strlen的调用形式如下:strlen(s),此函数计算出以s为起始地址的字符串长度,并作为函数值返回。注意这一长度不包括串的结束标志。用于字符串处理的函数。
50.B(27)B)解析:函数feof的功能是:测试fp所指的文件的位置是否已达到文件尾,如果达到文件尾,则函数返回非0值,否则返回0,表示文件尚未结束。
51.A解析:1与1异或结果为0,0与1异或结果为1,可见要使某位数翻转,只要使其与1进行异或运算即可。0与0进行异或运算结果为0,1与0进行异或运算结果为1,可见要使某位的数不变,只要使其与0进行异或运算即可。
52.D
53.B解析:本题考查变量的定义方法。如果要一次进行多个变量的定义,则在它们之间要用逗号隔开,因此选项A)和D)错误。在选项C)中,变量c是一个浮点型指针,它只能指向一个浮点型数据,不能指向指针变量b,故选项C)错误。
54.D解析:函数值的类型应当是在定义函数时指定的。在定义函数时对函数值说明的类型一般应该和return语句中的表达式类型—致,如果不—致,则以函数类型为准,即函数类型决定返回值的类型。
55.A解析:C语言结构体类型变量在程序执行期间所有成员一直驻留在内存中。
56.A
57.B解析:程序中首先定义了一个结构体,其成员为一字符数组和一浮点型数组。在main()首先定义了一个结构体数组并初始化。接下来在for循环中遍历了结构体数组中的第一个元素中数组成员即{20021“,90,95,85”}循环结果为90+95+85=270最后sum为270,又输出格式为“%6.2f\\n”要求保留两位小数故最后输出为270.00。
58.C解析:算法的执行效率与数据的存储结构密切相关。算法的空间复杂度是指算法执行过程中所需的存储空间。
59.C解析:本题考核的知识点是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 马鞍山市2024安徽马鞍山市市场监督管理局特种设备监督检验中心编外聘用工作人员招聘笔试历年参考题库典型考点附带答案详解
- 集宁区2024内蒙古乌兰察布集宁区事业单位人才引进30人笔试历年参考题库典型考点附带答案详解
- 长沙市2025中南大学数学与统计学院非事业编人员招聘笔试历年参考题库典型考点附带答案详解
- 醴陵市2025湖南株洲醴陵市事业单位招聘高层次专业技术人才11人笔试历年参考题库典型考点附带答案详解
- 邵阳市2024湖南邵阳市绥宁县招聘事业单位人员42人笔试历年参考题库典型考点附带答案详解
- 赣州市2025年江西赣州市会昌县人民武装部招聘1名机关工作人员笔试历年参考题库典型考点附带答案详解
- 贵州省2025贵州省人民检察院直属事业单位招聘5人笔试历年参考题库典型考点附带答案详解
- 莒南县2025年山东临沂莒南县部分事业单位公开招聘综合类岗位工作人员(27名)笔试历年参考题库典型考点附带答案详解
- 罗江区2025四川德阳市罗江区发展和改革局招聘临聘人员1人笔试历年参考题库典型考点附带答案详解
- 章丘区2024年山东济南市章丘区所属单位引进急需紧缺专业人才(5人)笔试历年参考题库典型考点附带答案详解
- 工程拆除安全监理协议
- 用药错误防范与应急处理
- 2025年10月自考14452小学生心理辅导.试题及答案
- 法制辅警面试题目及答案
- 医护患沟通技巧培训
- 2025年四川省普通高中学业水平合格考试(补考卷)数学试题
- 新能源光伏项目预收购合同模板
- 木工圆盘锯安全操作规程完整
- 施工用电安全培训内容课件
- 地下城小游戏团建方案
- 街道推进党员教育培训工作典型经验做法
评论
0/150
提交评论