2021-2022年海南省三亚市全国计算机等级考试C语言程序设计预测试题(含答案)_第1页
2021-2022年海南省三亚市全国计算机等级考试C语言程序设计预测试题(含答案)_第2页
2021-2022年海南省三亚市全国计算机等级考试C语言程序设计预测试题(含答案)_第3页
2021-2022年海南省三亚市全国计算机等级考试C语言程序设计预测试题(含答案)_第4页
2021-2022年海南省三亚市全国计算机等级考试C语言程序设计预测试题(含答案)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2021-2022年海南省三亚市全国计算机等级考试C语言程序设计预测试题(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算是()。

A.head(tail(tail(L)))

B.tail(head(head(tail(L))))

C.head(tail(head(tail(L))))

D.head(tail(head(tail(tail(L)))))

2.采用深度优先搜索或拓扑排序算法可以判断出一个有向图中是否有环(回路)()

A.对B.错

3.串的长度是______。A.A.串中不同字符的个数

B.串中不同字母的个数

C.串中所含字符的个数且字符个数大于零

D.串中所含字符的个数

4.

5.下列叙述中正确的足

A.软件交付使用后还需要进行维护

B.软件一旦交付使用就不需要再进行维护

C.软件交付使用后其生命周期就结束

D.软件维护是指修复程序中被破坏的指令

6.下列二维数组的说明中,不正确的是()。

A.floata[][4]={0,1,8,5,9};

B.inta[3][4]

C.#defineN5floata[N][3]

D.inta[2][9.5];

7.有以下程序voidf(intx,inty){intt;if(x<y){t=x;x=Y;y=t;)}main{inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出结果是()。A.3,4,5B.5,3,4C.5,4,3D.4,3,5

8.可以作为Windows外壳程序的是()

A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群组

9.下列定义数组的语句中,正确的是()。

A.intN=10;intx[N]:

B.#defineNl0;intx[N];

C.intx[0..10];

D.intx[];

10.下面程序的输出结果是______。#inc1ude<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti;for(i=3;i>=0;i-,i-)prinf("%c",*p[i]);print("\n")}

A.SOB.SPC.SPOPKD.SHOB

11.软件生命周期是指()。A.软件产品从提出、实现、使用维护到停止使用退役的过程

B.软件从需求分析、设计、实现到测试完成的过程

C.软件的开发过程

D.软件的运行维护过程

12.有下列程序:main{inti,j,x=0;for(i=0,i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++:}x++:}printf("x=%d\n",x);}程序执行后的输出结果是()。A.x=4B.x=8C.x=6D.x=12

13.设有以下语句:charstr1[]="string",str2[8],*str3,*str4=="string;则______不是对库函数的正确调用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4")

14.

15.以下程序是用来计算两个非负数之间的最大公约数:我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为()A.O(1)B.O(logn)C.O(n)D.O(n^2)

16.若x、y、z、m均为int型变量,则执行下面语句后m的值是()m=1;x=2;y=3;m=(m<x)?m:x;m=(m<y)?m:y;m=(m<y)?m:z;

A.1B.2C.3D.4

17.以下选项中叙述错误的是()。

A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值

B.在同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内

C.C程序函数中定义的自动变量,系统不自动赋确定的初值

D.C程序函数的性能不可以说明为static型变量

18.有以下程序:

程序执行后的输出结果是()。

A.1B.2C.3D.4

19.

20.下列选项中,能够满足“若字符串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;

二、2.填空题(20题)21.下列程序段中循环体的执行次数是______。

a=15;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

22.下列程序的功能是输入一个整数,判断其是否是素数,若为素数则输出1,否则输出0。请填空。

#include<stdio.h>

main()

{inti,x,y=1;

scanf("%d",&x);

for(i=2;i<=x/2;i++)

if【】{y=0;break;}

printf("%d\n",y);

}

23.软件危机出现于60年代末,为了解决软件危机,人们提出了【】的原理来设计软件,这就是软件工程诞生的基础。

24.数据库系统的主要特点为数据集成性、数据的高______和低冗余性、数据独立性和数据统一管理和控制。

25.在printf格式字符中,以带符号的十进制形式输出整数的格式字符是【】;以八进制无符号形式输出整数的格式字符是【】;以十六进制无符号形式输出整数的格式字符是【】;以十进制无符号形式输出整数的格式字符是【】。

26.软件测试中路径覆盖测试是整个测试的基础,它是对软件【】进行测试。

27.下列程序的输出结果是16.00,请填空:

main()

{

inta=9,b=2;

floatx=【】,y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n",z);

}

28.以下程序的功能是:输出x、y、z三个变量中的最大值,请填空。

main()

{intx,y,z,u;

printf("Enterx,y,x;");scanf("%d%d%d",&x,&y,&z);

if(【】)u=x;

elseu=y;

if(【】)u=z;

printf("u=%d",u);

}

29.数据元素之间______的整体称为逻辑结构。

30.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。

31.若有定义语句chars[100],d[100];intj=0,i=0;且s中已赋字符串,请填空以实现拷贝。(注:不使用逗号表达式)

while(s[i]){d[j]=【】;j++;}

d[j]=0;

32.以下程序的输出结果是【】。

#include<stdio.h>

main()

{inti;

for(i=′a′;i<′f′;i++,i++)printf("%c",i-′a′+′A′);

printf("\n");

}

33.x、y、x均为int型变量,描述“x、y和z中至少有两个为正数”的表达式是______。

34.数据结构分为线性结构和非线性结构,带链的队列属于[]。

35.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间______的信息。

36.子程序通常分为两类:【】和函数,前者是命令的抽象,后者是为了求值。

37.测试的目的是暴露错误,评价程序的可靠性;而______的目的是发现错误的位置并改正错误。

38.在算法的4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的______特性。

39.某二叉树中度为2的结点有n个,则该二叉树中有【】个叶子结点。

40.数据库系统中实现各种数据管理功能的核心软件是______。

三、1.选择题(20题)41.下列对于软件测试的描述中正确的是()。

A.软件测试的目的是证明程序是否正确

B.软件测试的目的是使程序运行结果正确

C.软件测试的目的是尽可能多地发现程序中的错误

D.软件测试的目的是使程序符合结构化原则

42.在C语言中,函数的隐含存储类型是()

A.autoB.staticC.externD.无存储类型

43.若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是

A.EOFB.-1C.1D.NULL

44.当前在数据库管理系统的研究方面,较活跃的是()

A.关系数据库B.网状数据库C.空间数据库D.层次数据库

45.若有以下程序段(n所赋的是八进制数)intm=32767,n=032767;printf("%d,%O\n",m,n);执行后输出结果是

A.32767,32767B.32767,032767C.32767,77777D.32767,077777

46.若有定义:“inta[2Ⅶ3];”则对a数组的第i行第j列元素的正确引用为()

A.**(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j

47.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。

A.'a'&&'b'

B.a<=b

C.a||+c&&b-c

D.!((a<b)&&!c||1)

48.有以下程序:#include<stdio.h>#include"string.h"voidfun(char*s[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]=s[j];s[j]=t;}}main(){char*ss[]={"bee","bbcc","xy","aaaacc","aabcc"};fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是()。

A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc

49.下列选项中属于C语言构造类型的是()

A.指针类型B.空类型C.枚举类型D.数组类型

50.下列合法的字符型常量是()。

A.'\x13'B.'\081'C.'65'D.\n

51.以下程序段的输出结果是inta=1234;printf(“%2d\n”;A);

A.12B.34C.1234D.提示出错、无结果

52.为了使模块尽可能独立,要求()。

A.内聚程度要尽量高,耦台程度要尽量强

B.内聚程度要尽量高,耦合程度要尽量弱

C.内聚程度要尽量低,耦合程度要尽量弱

D.内聚程度要尽量低,耦合程度要尽最强

53.检查软件产品是否符合需求定义的过程称为()。

A.确认测试B.集成测试C.验证测试D.验收测试

54.软件系统生命周期的第一个阶段是______。

A.软件分析阶段B.软件设计阶段C.软件运行阶段D.软件维护阶段

55.C语言运算对象必须是整型的运算符是______。

A.%=B./C.=D.<=

56.以下程序输出的结果是

#include<stdio.h>

#include<string.h>

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}

A.ABCDFGHKLB.ABCEFGIJMC.EFGJK0D.FGHKL

57.设计数据库的存储结构属于()。

A.需求分析B.概念设计C.逻辑设计D.物理设计

58.以下叙述中错误的是A.gets函数用于从终端读入字符串

B.getchar函数用于从磁盘文件读入字符

C.fputs函数用于把字符串输出到文件

D.fwrite函数用于以二进制形式输出数据到文件

59.下列程序语句中,不正确的是______。

A.maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}intadd(floatx,floaty){……}

B.main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}

C.floatadd()maia(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}floatadd(floatx,floaty){……}

D.floatadd(floatx,floaty){……}main(){floata,b,c;scanf("%f,%f",&a,&b);c=add(a,b);……}

60.有以下程序:#include<stdio.h>struetSTU{charname[10];intnum;floatTotalSeore;};voidf(struetSTU*p){struetSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.Of\n",s[1].name,s[1].num,s[1].TotalScore);}程序运行后的输出结果是()。

A.SunDan20044550

B.Penghua20045537

C.LiSiGuo20042580

D.SunDan20041703

四、选择题(20题)61.现有格式化输入语句,

已知在输入数据后,

x,Y,z的值分别是23,56,78,则下列选项中正确的输入格式是()。

A.23,56,78<Enter>

B.x=23,y=56,z=78<Enter>

C.x=23C,sumy=56,z=78<Enter>

D.x=23],sum]y=56,line]z=78<Enter>

62.有以下程序:

若要按以下形式输出数组右上半三角:

则在程序下划线处应填人的语句是()。

A.i-1B.i+1C.iD.4-i

63.

64.有以下程序:

fun(intx)

{intP;

if(x==0||x==l)return(3);

p=x-fun(x-2);

returnp;

}

main

{printf("%d\n",fun(7));}

程序执行后的输出结果是()。A.A.7B.3C.2D.0

65.以下选项中非法的表达式是()。

A.a+1=a+1

B.a=b==0

C.(Char.(100+100.

D.7<=X<60

66.以下叙述中错误的是()。

A.使用三种基本结构构成的程序只能解决简单问题

B.结构化程序由顺序、分支、循环三种基本结构组成

C.C语言是-种结构化程序设计语言

D.结构化程序设计提倡模块化的设计方法

67.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用(双引号)括起时,寻找被包含文件的方式是()。

A.直接按系统设定的标准方式搜索目录

B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索

C.仅仅搜索源程序所在目录

D.仅仅搜索当前目录

68.若变量a、i已正确定义,且i已正确赋值,合法的语句是()。

A.a==lB.++iC.a=a++=5D.a=int(i)

69.以下叙述中正确的是

A.自定义的函数中一定要有return语句

B.自定义的函数中不可以有多个return语句

C.自定义的函数中可以没有return语句,此时函数应被定义为void类型

D.函数的return语句一定要带有表达式

70.有以下程序

voidfunc(int*a,intb[])

{b[0]=*a+6;}

main()

{inta,b[5]={0};

a=0;b[0]=3;

func(&a,b);

rintf("%d\n",b[0]);

}

程序的运行结果是

A.6B.7

C.8D.9

71.

有下列程序:

main

{charp[]={a,h,c},q[]="a";

printf("%d%d\n".sizeof(P),sizeof(q));

}

程序运行后的输出结果是()。

A.44B.33C.34D.43

72.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及()

A.数据的存储结构B.计算方法C.数据映像D.逻辑存储

73.

74.以下程序的输出结果是()。

main()

{inta[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j];

printf("%d\n",s);

}

A.18

B.19

C.20

D.21

75.

76.

77.在软件开发中,需求分析阶段产生的主要文档是()。A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书

78.若有定义语句:doublea,*P=&a;以下叙述中错误的是()。

A.定义语句中的*号是-个间址运算符

B.定义语句中的木号是-个说明符

C.定义语句中的P只能存放double类型变量的地址

D.定义语句中,P=&a把变量a的地址作为初值赋给指针变量P

79.

80.函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是()。

A.文件开始B.文件末尾C.文件当前位置D.以上都不对

五、程序改错题(1题)81.下列给定程序中,函数proc的功能是:从字符串str中,删除所有大写字母F。请修改程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include<stdio.h>voidproc(char*str){inti,j;//****found****for(i=j=0;str[i]一0;i++)if(str[i]!=F)//****found****str[i]=str[i];str[j]=\0;}voidmain{charstr[80];printf("\nEnterastring:");gets(str);printf("Theoriginalstring:");puts(str);proc(str);printf("Thestringafterdeleted:");puts(str);printf("\n\n");}

六、程序设计题(1题)82.学生的记录由学号和成绩组成,M名学生的数据已在主函数中放入结构体数组S中,请编写函数proc(),它的功能是:把分数最高的学生数据放在h所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高学生的人数。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。

试题程序:

参考答案

1.D

2.A

3.D解析:串的长度指的是串中字符的个数,且其字符个数可以为零。选项D正确。

4.D

5.A解析:本题考核软件维护的概念.维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。软件维护通常有以下四类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述,本题的正确答案是A,其余选项的说法错误。

6.D解析:C语言规定,对于二维数组,只可以省略第一个方括号中的常量表达式,而不能省略第二个方括号中的常量表达式:二维数组的一般定义格式是:类型说明符数组名[常量表达式][常量表达式]。

7.Da、b、C都是按值传递给函数f,函数f不能改变它们的值。所以,a、b、t的值仍然是4、3、5。

8.C

9.D选项A、B中n为变量,C语言中不允许动态定义数组维数,即维数不能是变量。选项C无此语法。

10.A解析:p[0]存放的是“BOOL\\0”的首地址;p[1]存放的是“OPk\\0”的首址等。在printf语句中输出的*p[i]表示p[i]字符串中的第一个字符。在for循环中,i的初值为3,那么输出的第—个字符为“S”,接着两次i--,则输出的值为*p[1],即字符“O”,所以本题的输出为SO。

11.A通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

12.B在第1次外层for循环中,首先x++得到x=1。进入到内层for循环,只有循环j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量x的值自加两次,当退出内层for循环时,x=3,然后执行x++,得到x=4。在进入执行第2次外层for循环中,首先x++得到x=5。进入到内层for循环,只有循环变量j的值为奇数时,变量x的值才自加1,所以在内层for循环执行过程中,变量X的值自加1两次,当退出内层for循环时,x=7,然后执行x++,得到x=8,所以打印输出变量x的值为8。

13.C解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的中指针str3没有指向具体有效的存储单元,故是错误的调用。

14.A

15.B

16.A解析:?:运算符首先执行?之前的表达式,如果表达式的值为真,则返回?和:之间的表达式的值,否则返回:之后的表达式的值。本题中m比x和y都要小,所以,3个表达式都没有改变m的值,故应该选择A。

17.A静态变量不是每调用一次就赋一次初值,而是将需要定义许多相同的具有相同属性的值时,使用静态变量来节省空间,所以A选项错误。

18.C该程序中int8pl=&a,+p2=&b,4P=&c;指定义三个指针变量,并赋值,即使pl指向a;p2指向b;p指向c。+P=。pl$(+p2)。;该条语句是给P所指的存储单元c赋值,就是pl所指的存储单元的值,即a的值,与p2所指的存储单元b的值相乘,也就是c=a+b,等价于c=1·3=3;因此C选项正确。‘

19.B

20.Astrcmp(char*,char*),函数strcmp用于比较两个字符串的长度,长者为大,若字符个数也一样,则从左至右依次比较相同位上的字符,字符大小按ASCIl表值计算,直到最后一个字符,若还相同,则两个字符串相等,返回值0。选项A中if(strcmp(s2,sl)==0)ST,若s2等于sl,则返回值0,0等于0,所以逻辑表达式strcmp(s2,sl)==0为真,执行ST。

21.33解析:本题考查do…while语句形式:

do循环体

while表达式

首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环。第1次循环:b+=2,b=2,a-=2+b,a=11;第2次循环:b=4,a=5;第3次循环:b=6,a=-3,此时再判断循环条件不满足,退出循环。

22.(x%i==0)(x%i==0)解析:为判数x是否是素数,预置变量y的值为1(x可能是素数),然后用2至x/2的整数i测试对x的整除性,若x能被其中的某个整数整除,则x是合数,置y的值为0(即x不是素数),结束循环测试;若循环中i都不能整除x,则x为素数。一般可用求余运算x%i是否等于0来判定i能否整除x,所以程序中的空格处可填(x%i==0)。

23.软件工程学软件工程学

24.共享性共享性解析:数据库系统中的数据能被不同的应用程序使用,实现了数据的高度共享,从而降低了数据的冗余,这也是数据库的主要目的。

25.d0xu

26.结构结构解析:路径测试是白盒测试方法中的—种,它要求对程序中的每条路径最少检查一次,目的是对软件的结构进行测试。

解析:本题,已知结果z=16.00,即16.0=a/2+b*x/y+1/2,分别把a、b,代入,得到16.0=9/2+2*x/1.1+1/2。因为a=9,a是整型,所以9/2的值在没有进行类型转换时,等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。

28.x>yz>u

29.逻辑关系逻辑关系

30.可重用性继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。

31.s[i++]s[i++]解析:本题中为了能实现字符串的拷贝,需要使字符数组s从头到尾依次遍历其所有元素。本题应使用i的自增后置来实现。

32.ACEACE解析:在本题中,for循环体每执行完一次,变量i的值自加两次。i的初值为\'a\',执行一次循环后变为\'c\',之后再变成\'e\',当其变为\'g\'时,循环条件若不满足,循环终止,故本题共输出3个字符。表达式'i-\'a\'+\ue008\'A\'\ue009'即表示输出i对应的大写字母,结果为ACE。

33.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:题目要求“x、y和z中至少有两个为正数”,即x、y和x这3个数中必须有两个是正数,且这3个数中的哪两个数都有可能是正数,所以它们之间是或的关系。

34.线性结构线性结构解析:与栈类似,队列也是线性表,也町以采用链式存储结构。

35.前后件关系前后件关系解析:在数据存储结构中,除了要存储数据,还要存储数据的前后件关系,对于顺序存储的数据结构,前后件之间的关系,是通过存储空间的位置来实现的,而对于链式存储来说,数据元素之间的前后件关系是通过指针来实现的。

36.过程过程

37.调试调试

38.有穷性有穷性解析:算法的4个基本特性包括:可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。

39.n+1n+1解析:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为0的结点多一个。

40.数据库管理系统数据库管理系统解析:数据库管理系统是数据库的管理机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。

41.C解析:关于软件测试的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中给出了深刻的阐述:软件测试是为了发现错误而执行程序的过程;一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。整体来说,软件测试的目的就是尽可能多地发现程序中的错误。本题答案为C。

42.C

43.C解析:EOF是指向文本文件的结束标志,NULL是打开文件错误时的返回值。feof(fp)用来判断文件是否在文件末尾,文本文件和二进制文件均可以使用此函数,如果遇到文件结束就返回1,否则返回0。

44.C

45.A解析:本题考核的知识点是scanf()函数及printf()函数的输出格式。程序在定义时,以十进制形式为m赋初值,以八进制的形式为n赋初值.输出的时候m以十进制形式输出,n以八进制形式输出,因此输出的结果为32767和32767。所以,A选项为所选。

46.A解析:本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有5种:①a[i][j];②*(a[i]+j);⑧*(*(a+i)+j);④*(a[i][j];⑤*(&a[0][0]+3*i+j)。

47.D解析:选项A:'a'&&'b'是字符a与b的相与,不为0:选项B:a<=b,由题中变量赋值可知,结果为1。选项C:a||+c&&b-c,结果为1;选项D:!((a<B)&&!c||1),运算结果为0。

48.A

49.D解析:构造类型数据是由基本类型数据按一定规则组成的。C语言中的构造类型数据只有3种,它们是数组类型、结构体类型和共用体类型。故应该选择D。

50.A解析:C语言的字符常量是用单引号(\')括起来的一个字符,也可以用以一个“\\”开头的字符序列来表示字符常量。其中形式\\ddd表示1到3位8进制数所代表的字符;形式\\xhh表示1到2位16进制数所代表的字符。在本题中\'\\x13\'表示回车符,是一个字符常量;而\'\\081\'用8进制数所代表的字符形式不正确,因为8进制数所表示的字符中不会出现数字“8”;\'65\'单引号(即撇号)括起来的不是一个字符,而是一个十进制数字;'\\n'是用双引号括起来的一个字符,表示一个字符串,而不是字符常量。

51.C解析:printf()函数的输出格式,当整数的值超过格式要求输出范围时,原样输出。本题中要求输出两个有效数字,而实际上a有4个有效数字,故原样输出,输出1234。

52.B

53.A本题主要考查软件测试的基本知识。软件测试的步骤可分为单元测试(模块测试)、集成测试、确认测试和系统测试。

(1)单元测试是针对每个模块进行的测试,它可从程序的内部结构出发设计测试用例,多个模块可以平行、对立地测试。单元测试主要用于发现详细设计和编程时犯下的错误。单元测试多采用白盒测试,辅之以黑盒测试。

(2)集成测试是在单元测试的基础上,根据模块结构图将各个模块连接起来,必须精心计划,应提交集成测试计划、集成测试规格说明和集成测试分析报告。主要目标是发现与接口有关的问题。集成测试可以发现概要设计时犯的错误。

(3)确认测试用于验证软件的功能和性能及其他特性是否与用户的要求一致。确认测试主要用于发现需求分析时犯下的错误,一般使用黑盒法测试,以表明软件符合需求说明书的要求,应该仔细设计测试用例和测试过程。确认测试必须有用户参加,或以用户为主,用户应参与设计测试用例,通常情况下,主要使用生产中的实际数据进行测试,测试数据通过用户接口输入。

(4)系统测试是将已经通过确认测试的软件,作为整个计算机系统的元素与计算机硬件、外设和网络等其他因素结合在一起,进行一系列的组装测试和确认测试。系统测试的目的是通过与系统的需求定义做比较,发现软件与系统的定义不符合的地方。系统测试可以发现问题定义时犯下的错误。

54.A解析:软件工程的第一个阶段是软件分析阶段。软件分析阶段的工作是由软件分析员和用户一起来做的。软件分析的结果是分析人员写出的分析报告,该分析报告实际上就是软件系统的系统总体设计方案。

55.A解析:在C语言中,模运算(即取余运算%)的运算对象必须是整型数据(常量、变量或表达式)。

56.D解析:考查二维数组的定义及其元素引用的方法。当k=1时,引用的是二维数组元素w[1][1],值为字符串'FGH';当k=2时,引用的是数组元素w[2][2],即字符串'KL';当k=3时,结束程序的执行。

57.DD。【解析】物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题。物理设计阶段包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。

58.B其中B选项的getchar函数用于从终端读入字符。故本题答案为B选项。

59.B

60.B解析:main函数将结构体数组,的首地址传递给了f函数的结构体指针变量P,并在函数f中改变了指针变量p所指向的第二个结构体中的成员变量,这也就是改变了main函数中s[1]的成员度量,故程序输出的值为Penghua20045537。

61.D若在scanf的格式化控制串中插人了其他字符,则在输入时要求按一一对应的位置原样输入这些字符。格式化输入函数必须严格按照双引号里面的格式进行输入。所以选择D,也可以输入x=23],sum]Y=56,line]z=78L<Enter>即是否输入最后的L都不影响前面三个变量的赋值。在格式化输出函数中,格式控制串中除了合法的格式说明外,可以包含任意的合法字符。

62.C此题中嵌套了两个for语句,第一个用来输出空格,第二个用来输出数字。如此类型的输出某种格式的考题,一般是采用多重循环来解决,需要考生找出输出数据的特点,并用相应的数学公式表示出来。

63.D

64.C在函数fun(intx)中,有个if语句判断,如果参数x等于0或1时,返回值,否则进入下面的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。

65.A赋值运算符的左边只能是变量,而不能是常量或表达式。

66.A使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。

67.B#include"文件名",预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。

68.B选项A为表达式,因此不正确,选项C中a++本身就是表达式,无需再赋值,选项D中,在强制类型转换时,类型名应用括号括起来,故选择8选项。

69.C本题考查自定义函数的类型。函数执行过程中通过return语句返回的值的类型称为该函数的类型。当一个函数不需要通过return语句返回一个值时,称为无返回值函数或无类型函数,此时需要使用保留字void作为类型名。对于类型为非void的函数,函数体中至少必须带有一条return语句,并且每条return语句必须带有一个表达式,当执行到任一条return语句时,将计算出它的表达式的值,结束整个函数的调用过程,把这个值作为所求的函数值带回到调用位置,参与相应的运算。对于类型为void的函数,它不需要返回任何函数值,所以,在函数体中既可以使用return语句,也可以不使用,对于使用的每条return语句不允许也不需要带有表达式,当执行到任一条return语句时,或执行到函数体最后结束的位置时,将结束函数的调用过程,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论