2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计_第1页
2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计_第2页
2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计_第3页
2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计_第4页
2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(20题)1.堆排序是一种()排序。

A.插入B.选择C.交换D.归并

2.

3.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是()。A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c

4.函数调用strcat(strcpy(str1,str2),str3)的功能是()。

A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

B.将字符串str1连接到字符串str2之后再复制到字符串str3之后

C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后

D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中

5.设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T=R×S,则T的元组的个数为()。A.6B.8C.9D.12

6.层次型、网状型和关系型数据库划分原则是()。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

7.有以下程序:#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf(“%d”,t[2-i][i]);}程序的运行结果是()。

A.357B.753C.369D.751

8.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序执行后的输出结果是()。A.35B.37C.39D.3975

9.有下列程序:程序执行后的输出结果是()。

A.hAppychristmAs

B.happychristmas

C.HAppyCHrIstmAs

D.HAPPYCHRISTMAS

10.查找效率最高的二叉排序树是()。

A.所有结点的左子树都为空的二叉排序树

B.所有结点的右子树都为空的二叉排序树

C.平衡二叉排序树

D.没有左子树的二叉排序树

11.若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是_______。

A.p+1B.a+1C.a++D.++p

12.

13.C语言中标准库函数fputs(str,fp)的功能是()。

A.从str指向的文件中读一个字符串存入fp指向的内存

B.把str所指的字符串输出到fp所指的文件中

C.从fp指向的文件中读一个字符串存入str指向的内存

D.把fp指向的内存中的一个字符串输出到str指向的文件

14.若已知一个栈的进栈序列是1,2,3…n,其输出序列是P1,P2,P3,…PN,若P1=n,则Pi(1<i<p)为()。

A.IB.n-iC.n-i+1D.不确定

15.若有定义:“inta,b;”,通过语句“scan[("%d;%d".,&a,&b);”,能把整数3赋给变量a,5赋给变量b的输入数据是()。

A.35B.3,5C.3;5D.35

16.已知A=10,B=20,下类表达式正确的是()。

A.C=(A++)*(--B)=200

B.A-=30

C.C=(A++)+(B--)=30

D.C=(++A)*(--B)=210

17.数据库设计包括两个方面的设计内容,它们是()。

A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计

18.下列叙述中,不符合良好程序设计风格的是()。

A.程序的效率第一,清晰第二B.程序的可读性好C.程序中有必要的注释D.输人数据前要有提示信息

19.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回车>后,以下叙述正确的是()。

A.变量c1被赋予字符a,c2被赋予回车符

B.程序将等待用户输入第二个字符

C.变量c1被赋予字符a,c2中仍是原有字符2

D.变量c1被赋予字符a,c2中将无确定值

20.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性

二、2.填空题(20题)21.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为______。

22.以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

23.阅读下面语句,则程序的执行结果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

printf("%d,%d\",a,b);

elseprintf("%d,%d\n",b,a);}

24.以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。

例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。

#include<stdio.h>

#include<ctype.h>

main()

{chars[80],d[80];inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

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

d[j]='\0';

puts(d);

}

25.下面程序中函数creat用于建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾,单向链表的头指针作为函数值返回。将程序补充完整。

#include<stdiao.h>

structlist

{chardata;structlist*next;};

structlist*creat()

{

structlist*h,*p,*q;charch;

h=【】malloc(sizeof(structlist));

p=q=h;ch=getchar();

while(ch!='?')

{

p=【】malloc(sizeof(structlist));

p->data=ch;q->next=p;q=p;ch=getchar();

}

p->next='\0';

【】;

}

26.关系数据库管理系统能实现的专门关系运算包括选择、连接和【】。

27.以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。

main()

{floata,b,c;

scanf("%f%f%f",&a,&b,&c);

if(【】)printf("YES\n");/*abc能构成三角形*/

elseprintf("NO\n");/*abc不能构成三角形*/

}

28.若已定义inta[10],i;以下fun函数的功能是,在第一个循环中给前10个数组元素依次赋1,2,3,4,5,6,7,8,9,10;在第二个循环中使a数组前10个元素中的值对称拆叠,变成1,2,3,4,5,5,4,3,2,1。请填空。

fun(inta[])

{inti;

for(i=1;i<=10;i++)【】=i;

for(i=0;i<5;i++)【】=a[i];

}

29.已知字符A的ACSII码值为65,以下语句的输出结果是______。

charch='B';

printf("%c%d\n",ch,ch);

30.以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。请填空。

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

31.耦合和内聚是评价模块独立性的两个主要标准,其中______反映了模块内各成分之间的联系。

32.下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%x\n",p);

printf("%x\n,p+9);

}

33.下列程序的输出结果是______。

#defineLEN5

inta[LEN],k;

main()

{fun1();

fun2();

}

fun1()

{for(k=0;k<LEN;k++)

a[k]=k;

}

fun2()

{intk;

for(k=0;k<LEN;k++)

printf("%d",*(a+k));

}

34.以下程序的功能是从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(【】);

ch=fgetc(fp);

while(!feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

35.若先后输入county、side,以下程序的运行结果为【】。

main()

{chars1[40],s2[20];inti=0,j=0;

scanf("%s",s1);

scanf("%s",s2);

while(s1[i]!='\0')i++;

while(s2[j]!='\0')s1[i++]=s2[j++];

s1[i]='\0';

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

}

36.若变量x、y已定义为int类型且X的值为33,y的值为3,请将输出语句printf((),x/y);补充完整,使其输出的计算结果形式为:x/y=11。

37.下面程序执行后输出的结果是【】。

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

printf("%d\n",fun(a,b)/m);

}

38.以下程序的功能是输入任意整数给n后,输出n行从大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:

ABCDE

FCHI

JKL

MN

O

请填空完成该程序。

#include<stdio.h>

main()

inti.j,n;charch='A';

scanf("%d",&n);

if(n<11)

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

for(j=1;j<=n-i+1;j++)

{printf("%2c",ch);

【】;

}

【】;

}

elseprintf("nistoolarge!\n");

prinff("\n");

}

39.软件产品从提出、实现、使用维护到停止使用退役的过程称为()。

40.下面程序的输出结果是【】。

main()

{inti=3,j=2;

char*a="DCBA";

printf("%c%c\n",a[i],a[j])

}

三、1.选择题(20题)41.以下不能定义为用户标识符的是()。

A.scanfB.VoidC.3comD.int

42.第

13

设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次

43.下列语句执行后的结果是______。y=5;p=;x=*p++;

A.x=5,y=5B.x=5,y=6C.x=6,y=5D.x=6,y=6

44.下面程序输出的结果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}

A.111-31B.11-321C.12-321D.11121

45.已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

A.kk>=′A′&&kk<=′Z′

B.!(kk>=′A′||kk<=′Z′)

C.(kk+32)>=′a′&&(kk+32)<=′Z′

D.isalpha(kk)&&(kk<91)

46.以下程序的输出结果是#include<stdio.h>main(){unionun{inti;longk;charc;};structbyte{inta;longb;unionunc;}r;printf("%d\n",sizeof(r));}

A.10B.13C.7D.8

47.C语言中main函数参数的非法表示形式是()

A.main(char*argv[],intargc)

B.main(inta,char**b)

C.main(inty,char*x[])

D.main(intargv,char*argc[])

48.有以下程序main(){inta=7,b=8,*p,*q,*r;p-&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);程序运行后的输出结果是

A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8,8,7

49.按照“后进先出”原则组织数据的数据结构是()。

A.队列B.栈C.双向链表D.二叉树

50.以下叙述正确的是A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚、具有其他语言的一切优点

51.以下所列的各函数首部中,正确的是______。

A.voidplay(Var:Integer,varb:Integer)

B.voidplay(inta,b)

C.voidplay(inta,intb)

D.Subplay(aasinteger,basinteger)

52.下列叙述中正确的是()。

A.一个算法的空间复杂度大,则其时间复杂度必定大

B.一个算法的空间复杂度大,则其时间复杂度必定小

C.一个算法的时间复杂度大,则其空间复杂度必定小

D.上述3种说法都不对

53.下面程序运行的结果是______。main(){intx,y,z;x=0;y=z=-1;x+=-z---y;printf("x=%d\n",x);}

A.x=4B.x=0C.x=2D.x=3

54.阅读下列程序,则执行后的结果为#include"stdio.h"main(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}

A.3e,6B.62,5C.56,5D.3E,6

55.软件开发离不开系统环境资源的支持,其中必要的测试数据属于A.硬件资源B.通信资源C.支持软件D.辅助资源

56.执行以下程序段后,w的值为()。intw='A',x=14,y=15;w=((x||y)&&(w<'a'));

A.-1B.NULLC.1D.0

57.下列描述错误的是()。

A.继承分为多重继承和单继承

B.对象之间的通信靠传递消息来实现

C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征

D.类是具有共同属性、共同方法的对象的集合

58.下列程序的运行结果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}

A.6B.7C.8D.9

59.下述程序段的输出结果是()intx=10;inty=x++;8printf("%d,'%d,(x++,y),y++);

A.11,10B.11,11C.10,10D.10,11

60.有下列函数定义:intfun(doublea,doubleb){returna*b;}若下列选项中所用变量都已正确定义并赋值,错误的函数调用是()。

A.if(fun(x,y)){……}

B.z=fun(fun(x,y),fun(x,y));

C.z=fun(fun(x,y)x,y);

D.fun(x,y);

四、选择题(20题)61.数据流图中带有箭头的线段表示的是()。

A.控制流B.事件驱动C.模块调用D.数据流

62.下列变量声明合法的是()。A.shorta=1.4e-1;

B.doubleb=1+3e2.8;

C.longdo=0xfdaL;

D.float2aaa=1e-3;

63.

64.按照“先进后出”原则组织数据的结构是()。

A.队列B.栈C.双向链表D.二叉树

65.

66.有以下程序

67.

68.下列SQL语句中,用于修改表结构的命令式是A.A.Alter

B.Create

C.Update

D.Insert

69.作为信息处理热点技术之一的“多媒体技术”中的媒体,强调的是()。

A.存储媒体B.表现媒体C.传输媒体D.感觉媒体

70.

71.在软件开发中,需求分析阶段产生的主要文档是()。

A.软件需求规格说明书B.数据库说明书C.集成测试计划D.概要设计说明书

72.数据流图中方框表示的是()。

A.数据流B.存储文件C.控制流D.源,潭

73.

74.(75)下列不属于结构化分析的常用工具的是()

A.数据流图

B.数据字典

C.判定树

D.PAD图

75.为了避免在嵌套的条件语句ifelse中产生二义性,C语言规定,else子句总是与()配对。

A.缩排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if

76.

77.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。

A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,point

78.有以下程序:

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

A.aegiB.dfhkC.abedD.abedefghijk

79.下列语句中,正确地执行当i等于5时执行一些语句的条件语句是()。

A.if(i==5)B.ifi=5thenC.ifi=5D.ifi==5then

80.一名工作人员可以使用多台计算机,而一台计算机可被多名工作人员使用,则实体工作人员与实体计算机之间的联系是()。

A.—对一B.—对多C.多对多D.多对一

五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从m个学生的成绩中统计出低于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如,输入8名学生的成绩:6070809065758595则低于平均分的学生人数为4(平均分为77.5)。实际输入时学生数以“Enter”键作为结束,成绩与成绩之间也与Enter键作为分隔。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

六、程序设计题(1题)82.三个整数a、b、c,由键盘输入,输出其中最大的一个数。

参考答案

1.B解析:堆排序是一种选择排序。选择排序有直接选择排序和堆排序两种。

2.C

3.D

4.Cstrcat(s1,s2)函数的功能是把s2字符串连接到s1字符串末尾,strcpy(s1,s2)是把s2字符串复制到s1字符串,要保证sl的容量。

5.CC。R为n元关系,有P个元组S为m元关系,有q个元组。两个关系笛卡儿积是一个n+m元的关系,元组个数是q×p。所以T的元组的个数为9个。

6.D层次模型的基本结构是树形结构,网状模型是一个不加任何条件限制的无向图,关系模型采用二维表来表示,所以三种数据库的划分原则是数据之间的联系方式。

7.A二维数组t[][3]即t[3][3]={{9,8,7},{6,5,4},{3,2,1}}。执行循环for语句,当i=0时,t[2][0]=3;当i=1时,t[l][1]=5;当i=2时,t[0][2]=7;当i=3时,循环结束,即t[2][0]=3、t[1][1]=5、t[0][2]=7。故本题答案为A选项。

8.D执行第一次for循环时,用表达式p[i][J]!=\o来判断字符串数组指针P是否到达字符串的结尾,如果没有到达,继续执行while中的语句。if语句表示(p[i][j]-\o)除2的余数不为0时,即字符串所有奇数,执行后面的语句。所以退出第1次for的循环体时,输出为397,执行第2次循环体。对字符串“2584”进行处理,输出结果为5,因而最后输出结果为3975。

9.C程序定义一个字符数组b和一个字符变量k。for循环通过循环变量k,遍历数组b中的各个字符,通过if语句判断当前下标为k的字符的ASCII值与字符'm'的ASCII值的大小,ASCII值小于‘m’的ASCII值的字符改成大写字母(b[k]=b[k]-'a'+'A'),然后输出b[k]。在字符串“happychristmas”中,ASCII值小于'm'的字符有h,a,c,h,i,a,所以程序输出:HAppyCHrIstmAs。本题答案为C选项。

10.C对于结点个数相同的二叉排序树,平衡二叉排序树的深度最小。而二叉排序树的查找效率取决于二叉排序树的深度。

11.C解析:数组名是指针常量,是个固定的指针,不能对数组名赋予一个新的地址值,也不能使这个指针常驻量“移动”,指向数组的其他元素。

12.B

13.B函数fputs(str,fp)的功能是把str所指的字符串输出到fp所指的文件中。故本题答案为B选项。

14.C

15.C\n在输入时必须遵守scanf函数中的格式才能正确地赋值给相应的变量,由于scanf函数为“%d;%d”,所以在输入时要输入3;5,答案为C。

\n

16.C

17.A解析:模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计,从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性-设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式(静态特性):行为特性的设计,改变实体及其特性,决定数据库系统的功能(动态特性)。

18.A一般来讲,程序设计风格首先应该简单和清晰,其次程序必须是可以理解的,可以概括为“清晰第一,效率第二”。

19.A解析:函数getchar()的作用是从终端(或系统隐含指定的输入设备)输入一个字符,且只能接受一个字符(回车符也是一个字符)。故本题中变量c1被赋予字符a,c2被赋予回车符。

20.A对象具有如下特性:标识唯一性、分类性、多态性、封装性、模块独立性。

21.物理独立性物理独立性解析:数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性。其中物理独立性是指数据的物理结构(包括存储结构、存取方式)改变时,不需要修改应用程序。而逻辑独立性是指当逻辑结构改变时,不需要修改应用程序。

22.p->dataqp->data,q解析:本题考查的是链表这一数据结构对结构体变量中数据的引用。链表的特点是结构体变量中有两个域,一个是数据,另一个是指向该结构体变量类型的指针,用以指明链表的下一个结点。

23.101,0解析:与运算两边的语句必须同时为真时,结果才为真。当执行完if((++a<0)&&!(b--<=0))时,a,b的值已经发生了变化。

24.s[i]>='0'&&s[i]<='9'或isdigit(s[i])s[i]>='0'&&s[i]<='9'或isdigit(s[i])解析:根据题意和程序可知要填空的内容是:将字符申s中的数字字符放入d数组的条件。

25.(structlist*)(structlist*)return(h)

26.投影专门关系运算包括对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系的结合(连接操作)等。

27.(a+b>c)&&(a+c>b)&&(b+c>a)(a+b>c)&&(a+c>b)&&(b+c>a)解析:三角形形式的条件是两边之和大于第三边。要用'&&'指令连接三个条件,表示三个条件都要满足。

28.a[i-1]或a[-1+i]a[9-i]或a[-i+9]a[i-1]或a[-1+i]\r\na[9-i]或a[-i+9]

29.B66B66解析:printf函数的功能是按照指定的格式,在标准输出设备上输出数据,它有两种参数:格式控制参数和输出项参数。本题中,printf('%c%d\\n',ch,ch)表示以字符格式和十进制整数格式输出ch,B的ACSII码值为66,即在计算机中B的十进制整数格式是66。所以,输出为B66。

30.*t++*t++解析:要使sstrcpy函数实现字符串复制,必须将t字符串中的每个字符逐个复制到s字符串中,可以使用*s=*t;s++;t++,也可以写成*s++=*t++,因此空格处填*t++。

31.内聚内聚

32.1a61a6解析:对于指针变量的运算,就是对地址的运算。本题中由于指针指向的是整型变量,所以,使指针变量移动9个位置也就是移动18个字节。注意,本题是以十六进制输出的。

33.01234。01234。解析:函数fun1给数组a的每个元素赋值,fun2则输出结果。

34.“filea.dat”“r”“filea.dat”,“r”解析:考查对文件的操作。fopen函数的调用方式通常为fopen(文件名,使用文件方式)。本题中要求程序可以打开filea.dat文件,并且是要读取文件中的内容,所以空白处应当填入'filea.dat','r'。

35.countryside

36.x/y=%dx/y=%d解析:本题考查prinff语句的输出格式。printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf('<格式化字符串>”,<参最表>)其中,格式化字符串包括两部分内容。一部分足正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以“%”开始,后跟一个或几个规定字符,用来确定输出内容格式。参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用“,”分开,且顺序一一

37.22解析:本题变量m既是外部变量(值是13),又是fun函数的局部变量(值为3)。函数fun(x*y-m)的值为7*5-3=32,在main函数中,fun(a,b)/m中的m应取外部变量的值13,因此输出2。

38.ch++或ch=ch+1或++chprintf("\n")或prinff("\015")ch++或ch=ch+1或++ch,\r\nprintf('\\n')或prinff('\\015')解析:程序中使用了两层for循环,外循环的作用是控制行数,内循环的作用是控制每行的列数,在内循环中首先输出当前字符(从\'A\'开始),[6]中应填ch++,使ch中的字符变为要输出的下一个字符。每输出一行就需换一次行,所以[7]处应填pfintf('\\n')。

39.软件生命周期软件生命周期解析:软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。在国家标准“计算机软件开发规范”中,把软件生命周期划分为8个阶段,即可行性研究与计划、需求分析、概要设计、详细设计、实现、综合测试、确认测试、使用与维护,对每个阶段,都明确规定了该阶段的任务、实施方法、实施步骤和完成标志,其中特别规定了每个阶段需要产生的文档。

40.AB

41.D解析:标识符是C语言中用来表示变量名、数组名、函数名、指针名、结构名、联合名、枚举常数名、用户定义的数据类型名、语句标号等用途的字符序列。标识符由1~32个字符组成,第一个字符必须是字母或下划线,后面的字符可以是字母、数字或下划线。标识符不能与C关键字相同,并区分大小写。选项D)错误,因为int是C语言中的关键字。

42.C本题中,首先将0赋给k,表达式变为0,跳出循环,没有执行循环体语句。解答本题的关键是掌握while语句。

43.A解析:p=&y使指针p指向y,x=*p++使x=y,P指向下一个数据。

44.A解析:本题考查的是算术运算符的各种运算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正确答案为选项A)。

45.B解析:C语言的字符以其ASCII码的形式存在,所以要确定某个字符是大写字母,只要确定它的ASCII码在'A'和'Z'之间就可以了,选项A)和C)符合要求。函数isalpha用来确定一个字符是否为字母,大写字母的ASCII码值的范围为65到90,所以如果一个字母的ASCII码小于91,那么就能确定它是大写字母。

46.A解析:本题主要考查了结构体和共用体数据的存储形式。共用体的一个特点是所有数据成员共用一段存储单元,而结构体每个数据成员都单独占据一段存储单元。共用体所占存储单元的大小由长度最长的数据成员的长度决定。题中共用体变量c占据4个字节的长度,结构体r所占存储空间的大小为int(2个字节)+long(4个字节)+共用体c(4个字节)=10个字节,所以答案为A)。

47.A

48.C解析:本题考核的知识点是指针变量的基本应用。程序中定义了两个变量a和b,并分别赋初值为7和8,定义了三个指针变量p、q、r,并让指针p指向变量a,让Q指向变量b,然后通过一个中间指针变量r,使指针变量p和q互换,互换后p指向q所指的内容即b,Q指向开始p所指向的内容即a,因此最后输出的*p,*q的值为8,7,a,b的值没有改变仍为7,8,所以,4个选项中选项C符合题意。

49.B解析:“后进先出”表示最后被插入的元素最先能被删除。选项A中,队列是指允许在—端进行插入、而在另一端进行删除的线性表,在队列这种数据结构中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除,队列又称为“先进先出”的线性表,它体现了“先来先服务”的原则:选项B中,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素,栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。队列和栈都届于线性表,它们具有顺序存储的特点,所以才有“先进先出”和“后进先出”的数据组织方式。双向链表使用链式存储方式,二叉树也通常采用链式存储方式,它们的存储数据的空间可以是不连续的,各个数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。所以选项C和选项D错误。本题的正确答案为选项B。

50.C解析:目前,在社会上使用的程序设计语言有上百种,它们都被称为计算机“高级语言”,如BASIC,C语言等。但是对于计算机本身来说,它并不能直接识别由高级语言编写的程序,只能接受并处理由0,1代码组成的数据,即所谓的机器语言代码。目前,一些程序设计语言(如Visual\u3000Basic\u3000Visual\u3000C++和Visual\u3000FoxPro等)所具有的面向对象技术,C语言则没有。

51.C解析:C语言中函数首部中的各参数必须分开单独定义,因此选项C才是正确的。而选项A和D是其他语言的函数定义方式。

52.DD。【解析】算法的时间复杂度和空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。

53.C解析:表达式“x+=-z---y”等价于“x=x+(-z-(-(-y)))=0+(1-(-1))=2”。

54.A解析:数组a[5][5],0<=i<5,0<=j<5,则可以用5种表达式来引用,a[i][j],*a(a[i]+j),*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+5*i+j)。数组的下限为0,%后面为小写的x,所以输出的结果为小写字母表示的十六进制。

55.D软件开发离不开系统环境资源的支持,其中主要的资源有硬件资源、通信资源、辅助资源等。(1)硬件资源是指组成计算机及相关应用所需要的硬件,它是软件开发必不可少的资源,因为无论什么样的软件工具都需要在硬件上完成任务,它是其他资源的基础资源。(2)通信资源是指为软件开发提供通信支撑的资源,它与测试数据无关。(3)支持软件是指为软件开发提供操作平台的软件,如常用的面向对象开发的Rose软件,它主要是软件开发的工具。通过对上述分析的总结,可以知道本题的正确答案选D。

56.C解析:字符变量w的初值为字符'A',其ASCII码值为65,字符'a'的ASCII码值为97,所以关系表达式w<'a'的值为1;变量x=14,变量y=15,x||y为或,x、y均为真,所以x||y的结果1。因而逻辑表达式(x||y)&&(w<'a')的值为1。

57.C解析:对象的封装性是指从外面看只能看到对象的外部特性;而对象的内部,其处理能力的实行和内部状态对外是不可见的,是隐蔽的。

58.D解析:if...else语句的执行过程如下,首先计算if后面一对圆括号内表达式的值,若表达式的值为非0,执行if子句,然后跳过else子句,去执行if语句后的下一条语句;若表达式的值为0,跳过if子句,去执行else子句,接着去执行if语句后的下一条语句。C语言的语法规定,else子句总是与前面最近的不带else的if匹配,与书写格式无关,本题目的后一个ifelse相当于嵌套在第一个if子句里,相当于x<y&&y<0时,z=0;当x<y&&y>=0时,z=z+1。

59.A

60.C解析:本题考查函数调用时的参数传递。选项C)中第一个参数的表达式不正确,因此不能得到正确的结果。

61.D解析:数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要的图形元素与说明如下:

加工(转换):输入数据经加工变换产生输出。

数据流:沿箭头方向传送数据的通道,一般在旁边标注数据流名。

存储文件(数据源):表示处理过程中存放各种数据的文件。

源,潭:表示系统和环境的接口,属系统之外的实体。

62.A本题需了解3个知识点:①标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线;②do是C语言的一个关键字,不能再用做变量名和函数名;③c语言规定指数形式的实型数量e或E后面的指数必须是整数。

63.D

64.B栈是线性表的一种,其插入和删除运算都只在表的一端进行。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的元素,是按先进后出的原则组织数据的。

65.B

66.A第一个while循环跳过字符串前面的t,第二个while循环将剩余的字符串赋值给字符串b,所以fun函数功能是删除字符串s的前置*赋值给t。

67.C

68.A本题主要考查SQL中一些基本的命令。SQL常用的语句包括:Select、Insert、Update、Delete、Create、Alter和Drop等。

在SQL语言中使用率最高的是Select,这个命令的作用是从表中查找出满足条件的记录。

Insert命令的作用是对数据表进行插入操作。

Update命令的作用是对数据表进行更新操作。

Delete命令的作用是对数据表中的数据进行删除操作。

Create命令的作用是创建数据表。

Alter命令的作用是修改表的结构。

Drop命令的作用是用来删除表,它与Delete的区别是进行Drop操作后,数据表不存在了,而进行Delete操作后,数据表还在,只是数据被删除了。

69.D媒体分为感觉媒体、表示媒体、存储媒体、传输媒体和表现媒体五种,“多媒体技术”中的媒体强调的是感觉媒体。

70.A

71.A软件需求规格说明书是需求分析阶段最后的成果,它是作为需求分析的一部分而制定的可交付文档。概要设计说明书、数据库说明书、集成测试计划都是概要设计阶段需要编写的文档。

72.D数据流图是描述数据处理过程的工具,\n它从数据传递和加工的角度,来刻画数据流从输入到输出的变化过程。数据流图中的主要图形元素有:圆形,表示加工;箭头,表示数据流;双杠,表示存储文件;方框,表示源、潭。

73.B

74.D

75.B解析:本题考查ifelse语句。C语言规定,else总是与它前面的最近的if配对。

76.D

77.D本题主要考查指针变量对数值的引用。在题目中,首先定义了整型指针变量point和一个整型变量a,变量a的初值为4,然后是指针变量指向a,或者说将变量a所在存储单元的地址值赋给指针变量。

在选项A中,很显然,不全是地址,只有point表示地址,而*&a等价于*(&a),表示取一个数值。

在选项B中,也不都表示地址,其中*point表示数值,其他两个表示地址。

在选项C中,与选项B类似,其中的*point表示数值。

在选项D中,都表示地址,是题目的选择答案。

78.Aa为一个指针数组,其中的每个元素都是一个指针。该程序的功能是分别打印4个字符串的首字母。因此本题答案为A)。

79.A

80.c因为一名工作人员可以操作多台计算机,而一台计算机又可以被多名工作人员使用,所以两个实体之间是多对多的关系,选择c)。

81.(1)错误:intave,t=0;

正确:floatave,t=0.0;

(2)错误:if(s[i]>ave)

正确:if(s[i]<ave)

(3)错误:aver=ave;

正确:*aver=ave;

【解析】由程序可知变量ave和t中分别存放的是学生的平均分数和分数的总和,都是float型数据,因此“intave,t=0;”应改为“floatave,t=0.0;”。题目要求统计出低于平均分数的学生人数,因此“if(s[i]>ave)”应改为“if(s[i]<ave)”。平均分数是通过指针变量传递给主函数的,因此“aver=ave;”改为“*aver=ave;”。

82.\n\tmain

\n{inta,b,c;

\nprintf(“请输入三个整数:”);

\nscanf(“%d,%d,%d”,&a,&b,&c);

\nif(aif(belseprintf(“max=%d\\n”,b);

\nelseif(aelseprintf(“max=%d\\n”,a);}

\n</i<p)为()。2022-2023年江苏省无锡市全国计算机等级考试C语言程序设计学校:________班级:________姓名:________考号:________

一、单选题(20题)1.堆排序是一种()排序。

A.插入B.选择C.交换D.归并

2.

3.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是()。A.1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c

4.函数调用strcat(strcpy(str1,str2),str3)的功能是()。

A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

B.将字符串str1连接到字符串str2之后再复制到字符串str3之后

C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后

D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中

5.设R是一个2元关系,有3个元组,S是一个3元关系,有3个元组。如T=R×S,则T的元组的个数为()。A.6B.8C.9D.12

6.层次型、网状型和关系型数据库划分原则是()。

A.记录长度B.文件的大小C.联系的复杂程度D.数据之间的联系方式

7.有以下程序:#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf(“%d”,t[2-i][i]);}程序的运行结果是()。

A.357B.753C.369D.751

8.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序执行后的输出结果是()。A.35B.37C.39D.3975

9.有下列程序:程序执行后的输出结果是()。

A.hAppychristmAs

B.happychristmas

C.HAppyCHrIstmAs

D.HAPPYCHRISTMAS

10.查找效率最高的二叉排序树是()。

A.所有结点的左子树都为空的二叉排序树

B.所有结点的右子树都为空的二叉排序树

C.平衡二叉排序树

D.没有左子树的二叉排序树

11.若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是_______。

A.p+1B.a+1C.a++D.++p

12.

13.C语言中标准库函数fputs(str,fp)的功能是()。

A.从str指向的文件中读一个字符串存入fp指向的内存

B.把str所指的字符串输出到fp所指的文件中

C.从fp指向的文件中读一个字符串存入str指向的内存

D.把fp指向的内存中的一个字符串输出到str指向的文件

14.若已知一个栈的进栈序列是1,2,3…n,其输出序列是P1,P2,P3,…PN,若P1=n,则Pi(1<i<p)为()。

A.IB.n-iC.n-i+1D.不确定

15.若有定义:“inta,b;”,通过语句“scan[("%d;%d".,&a,&b);”,能把整数3赋给变量a,5赋给变量b的输入数据是()。

A.35B.3,5C.3;5D.35

16.已知A=10,B=20,下类表达式正确的是()。

A.C=(A++)*(--B)=200

B.A-=30

C.C=(A++)+(B--)=30

D.C=(++A)*(--B)=210

17.数据库设计包括两个方面的设计内容,它们是()。

A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计

18.下列叙述中,不符合良好程序设计风格的是()。

A.程序的效率第一,清晰第二B.程序的可读性好C.程序中有必要的注释D.输人数据前要有提示信息

19.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}当运行时输入:a<回车>后,以下叙述正确的是()。

A.变量c1被赋予字符a,c2被赋予回车符

B.程序将等待用户输入第二个字符

C.变量c1被赋予字符a,c2中仍是原有字符2

D.变量c1被赋予字符a,c2中将无确定值

20.在面向对象方法中,不属于“对象”基本特点的是A.一致性B.分类性C.多态性D.标识唯一性

二、2.填空题(20题)21.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为______。

22.以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。

#include<stdio.h>

structlist{intdata;structlist*next;};

structlist*creatlist()

{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));

p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");

scanf("%d",&a);

while(a!=-1)

{p=(structlist*)malloc(sizeof(structlist));

【】=a;q->next=p;【】=p;scanf("%d",&a);}

p->next=′\0;return(ph);}

main()

{structlist*head;head=creatlist();}

23.阅读下面语句,则程序的执行结果是【】。

#include"stdio.h"

main()

{inta=-1,b=1,k;

if((++a<0)&&!(b--<=0))

printf("%d,%d\",a,b);

elseprintf("%d,%d\n",b,a);}

24.以下程序的功能是将字符串s中的数字字符放入d数组中,最后输出d中的字符串。

例如,输入字符串:abc123edf456gh,执行程序后输出:123456。请填空。

#include<stdio.h>

#include<ctype.h>

main()

{chars[80],d[80];inti,j;

gets(s);

for(i=j=0;s[i]!='\0';i++)

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

d[j]='\0';

puts(d);

}

25.下面程序中函数creat用于建立一个带头结点的单向链表,新产生的结点总是插在链表的末尾,单向链表的头指针作为函数值返回。将程序补充完整。

#include<stdiao.h>

structlist

{chardata;structlist*next;};

structlist*creat()

{

structlist*h,*p,*q;charch;

h=【】malloc(sizeof(structlist));

p=q=h;ch=getchar();

while(ch!='?')

{

p=【】malloc(sizeof(structlist));

p->data=ch;q->next=p;q=p;ch=getchar();

}

p->next='\0';

【】;

}

26.关系数据库管理系统能实现的专门关系运算包括选择、连接和【】。

27.以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。

main()

{floata,b,c;

scanf("%f%f%f",&a,&b,&c);

if(【】)printf("YES\n");/*abc能构成三角形*/

elseprintf("NO\n");/*abc不能构成三角形*/

}

28.若已定义inta[10],i;以下fun函数的功能是,在第一个循环中给前10个数组元素依次赋1,2,3,4,5,6,7,8,9,10;在第二个循环中使a数组前10个元素中的值对称拆叠,变成1,2,3,4,5,5,4,3,2,1。请填空。

fun(inta[])

{inti;

for(i=1;i<=10;i++)【】=i;

for(i=0;i<5;i++)【】=a[i];

}

29.已知字符A的ACSII码值为65,以下语句的输出结果是______。

charch='B';

printf("%c%d\n",ch,ch);

30.以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指内存空间中,形成一个新字符串s。请填空。

voidsstrcpy(char*s,char*t)

{while(*s++=【】);}

main()

{charstrl[100],str2[]="abcdefgh";

sstrcpy(str1,str2);

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

}

31.耦合和内聚是评价模块独立性的两个主要标准,其中______反映了模块内各成分之间的联系。

32.下面程序有两个printf语句,如果第一个printf语句输出的是194,则第二个printf语句的输出结果是【】。

main()

{inta[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

printf("%x\n",p);

printf("%x\n,p+9);

}

33.下列程序的输出结果是______。

#defineLEN5

inta[LEN],k;

main()

{fun1();

fun2();

}

fun1()

{for(k=0;k<LEN;k++)

a[k]=k;

}

fun2()

{intk;

for(k=0;k<LEN;k++)

printf("%d",*(a+k));

}

34.以下程序的功能是从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上。请填空。

#include<stdio.h>

main()

{FILE*fp;charch;

fp=fopen(【】);

ch=fgetc(fp);

while(!feof(fp)){putchar(ch);ch=fgetc(fp);}

putchar('\n');fclose(fp);

}

35.若先后输入county、side,以下程序的运行结果为【】。

main()

{chars1[40],s2[20];inti=0,j=0;

scanf("%s",s1);

scanf("%s",s2);

while(s1[i]!='\0')i++;

while(s2[j]!='\0')s1[i++]=s2[j++];

s1[i]='\0';

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

}

36.若变量x、y已定义为int类型且X的值为33,y的值为3,请将输出语句printf((),x/y);补充完整,使其输出的计算结果形式为:x/y=11。

37.下面程序执行后输出的结果是【】。

intm=13;

intfun(intx,inty)

{intm=3;

return(x*y-m);

}

main()

{inta=7,b=5;

printf("%d\n",fun(a,b)/m);

}

38.以下程序的功能是输入任意整数给n后,输出n行从大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:

ABCDE

FCHI

JKL

MN

O

请填空完成该程序。

#include<stdio.h>

main()

inti.j,n;charch='A';

scanf("%d",&n);

if(n<11)

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

for(j=1;j<=n-i+1;j++)

{printf("%2c",ch);

【】;

}

【】;

}

elseprintf("nistoolarge!\n");

prinff("\n");

}

39.软件产品从提出、实现、使用维护到停止使用退役的过程称为()。

40.下面程序的输出结果是【】。

main()

{inti=3,j=2;

char*a="DCBA";

printf("%c%c\n",a[i],a[j])

}

三、1.选择题(20题)41.以下不能定义为用户标识符的是()。

A.scanfB.VoidC.3comD.int

42.第

13

设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次

43.下列语句执行后的结果是______。y=5;p=;x=*p++;

A.x=5,y=5B.x=5,y=6C.x=6,y=5D.x=6,y=6

44.下面程序输出的结果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}

A.111-31B.11-321C.12-321D.11121

45.已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是

A.kk>=′A′&&kk<=′Z′

B.!(kk>=′A′||kk<=′Z′)

C.(kk+32)>=′a′&&(kk+32)<=′Z′

D.isalpha(kk)&&(kk<91)

46.以下程序的输出结果是#include<stdio.h>main(){unionun{inti;longk;charc;};structbyte{inta;longb;unionunc;}r;printf("%d\n",sizeof(r));}

A.10B.13C.7D.8

47.C语言中main函数参数的非法表示形式是()

A.main(char*argv[],intargc)

B.main(inta,char**b)

C.main(inty,char*x[])

D.main(intargv,char*argc[])

48.有以下程序main(){inta=7,b=8,*p,*q,*r;p-&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",*p,*q,a,b);程序运行后的输出结果是

A.8,7,8,7B.7,8,7,8C.8,7,7,8D.7,8,8,7

49.按照“后进先出”原则组织数据的数据结构是()。

A.队列B.栈C.双向链表D.二叉树

50.以下叙述正确的是A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚、具有其他语言的一切优点

51.以下所列的各函数首部中,正确的是______。

A.voidplay(Var:Integer,varb:Integer)

B.voidplay(inta,b)

C.voidplay(inta,intb)

D.Subplay(aasinteger,basinteger)

52.下列叙述中正确的是()。

A.一个算法的空间复杂度大,则其时间复杂度必定大

B.一个算法的空间复杂度大,则其时间复杂度必定小

C.一个算法的时间复杂度大,则其空间复杂度必定小

D.上述3种说法都不对

53.下面程序运行的结果是______。main(){intx,y,z;x=0;y=z=-1;x+=-z---y;printf("x=%d\n",x);}

A.x=4B.x=0C.x=2D.x=3

54.阅读下列程序,则执行后的结果为#include"stdio.h"main(){intc[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}

A.3e,6B.62,5C.56,5D.3E,6

55.软件开发离不开系统环境资源的支持,其中必要的测试数据属于A.硬件资源B.通信资源C.支持软件D.辅助资源

56.执行以下程序段后,w的值为()。intw='A',x=14,y=15;w=((x||y)&&(w<'a'));

A.-1B.NULLC.1D.0

57.下列描述错误的是()。

A.继承分为多重继承和单继承

B.对象之间的通信靠传递消息来实现

C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征

D.类是具有共同属性、共同方法的对象的集合

58.下列程序的运行结果是#include"stdio.h"main(){intx=-9,y=5,z=8;if(x<y)if(y<0)z=0;elsez+=1;printf("%d\n",z);}

A.6B.7C.8D.9

59.下述程序段的输出结果是()intx=10;inty=x++;8printf("%d,'%d,(x++,y),y++);

A.11,10B.11,11C.10,10D.10,11

60.有下列函数定义:intfun(doublea,doubleb){returna*b;}若下列选项中所用变量都已正确定义并赋值,错误的函数调用是()。

A.if(fun(x,y)){……}

B.z=fun(fun(x,y),fun(x,y));

C.z=fun(fun(x,y)x,y);

D.fun(x,y);

四、选择题(20题)61.数据流图中带有箭头的线段表示的是()。

A.控制流B.事件驱动C.模块调用D.数据流

62.下列变量声明合法的是()。A.shorta=1.4e-1;

B.doubleb=1+3e2.8;

C.longdo=0xfdaL;

D.float2aaa=1e-3;

63.

64.按照“先进后出”原则组织数据的结构是()。

A.队列B.栈C.双向链表D.二叉树

65.

66.有以下程序

67.

68.下列SQL语句中,用于修改表结构的命令式是A.A.Alter

B.Create

C.Update

D.Insert

69.作为信息处理热点技术之一的“多媒体技术”中的媒体,强调的是()。

A.存储媒体B.表现媒体C.传输媒体D.感觉媒体

70.

71.在软件开发中,需求分析阶段产生的主要文档是()。

A.软件需求规格说明书B.数据库说明书C.集成测试计划D.概要设计说明书

72.数据流图中方框表示的是()。

A.数据流B.存储文件C.控制流D.源,潭

73.

74.(75)下列不属于结构化分析的常用工具的是()

A.数据流图

B.数据字典

C.判定树

D.PAD图

75.为了避免在嵌套的条件语句ifelse中产生二义性,C语言规定,else子句总是与()配对。

A.缩排位置相同ifB.其前面最近的ifC.其后面最近的ifD.同一行上的if

76.

77.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。

A.a,point,*&a

B.&*a,&a,*point

C.*&point,*point,&a

D.&a,&*point,point

78.有以下程序:

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

A.aegiB.dfhkC.abedD.abedefghijk

79.下列语句中,正确地执行当i等于5时执行一些语句的条件语句是()。

A.if(i==5)B.ifi=5thenC.ifi=5D.ifi==5then

80.一名工作人员可以使用多台计算机,而一台计算机可被多名工作人员使用,则实体工作人员与实体计算机之间的联系是()。

A.—对一B.—对多C.多对多D.多对一

五、程序改错题(1题)81.下列给定程序中,函数proc()的功能是:从m个学生的成绩中统计出低于平均分的学生人数,人数由函数值返回,平均分存放在形参aver所指的存储单元中。例如,输入8名学生的成绩:6070809065758595则

温馨提示

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

评论

0/150

提交评论