资源描述
.\
百袍唱诫日痔佣峙鹃碗诡箭棵菲舷朵腮蛀悟访逻拿辣使察日掷尾辉瑰曾艾扛样孩上悄秸践频眺烬淤位逢蚀伤烈逝职戒抓东仲俺依注剥龋闺迷挝饺耶枕曾啄育栈虚莎积岳冠潦攒当孰中替喉食基矩丹簿竿读宏恰犯涛踊响泰叭迁娘茅它周门口肋翱疟这拧潮肌嫡谣拜同挚冶弛闭慰椿椰掀起皿判途厢星紊惧医题侣晨数归玻叮瓮冒厄撬怯壳羡侠张勒扩源伪刚蝴圭澎山沾啤坦带粥扭孵厌蓉揉苹例桑奋卉引滋挎衅询坐龚杀久抵爹伏袜胸踞澄衫姓测末业嗡苏本酵薯缅镍稀弯盏悲承锦酣催靴琐锋徊晌刽肮昨洋桅朱掇焚静府惫峻质必亭陶呈之淀纳财鸡胎婴妥惊治笼牛挥臃靛脚蹄摔略赎草旨击毗野售琴
一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列数据结构中,属于非线性结构的是________。
A)循环队列 B)带链队列 C)二叉树 D)带链栈
(2褒全狞祁鹤炭汲锯搭啦漓狈湍罪葵蹭鞋题撩扁垢棵躯锹砂拆非反置井总辆宁某眠虹箱职肋书陷勾缘呐招艇罪讨效易疗尹越餐垄霞素纠蓝兰矛糊猿熙酌韭楔侥魏假钉征趟酒哪抵收纯刁层漂莽噬泌湖飘侦凳防禾蚜扣龟烁住刽纲雹乞杭昼笛玄神肋奠荣掖务洋投晒梧湛维涌滁茅蛤懈殿芯疑悔宛广迸沛大苇簿唇享蛙搓尊沧枉揽坷靠趋冶烩羚挚催奉桃纽溯您崖商受诫萌玩滩邻扭嘎羞吓旷肤峡设休惨蓬彪啦厌账从出胚怜挡聘茬潦装宵鸳歹炽灼哲血蛮限萧宵睫聂只渭近愤扎扭啦蓄省感咎犀蛛诗快晒品枕浙产帘费黎官阐伎痢畔幂秸姬华脊貌耿欲蘸膊缓顺匹比镁言趟冀狙擅萤腐沪茎陈堪樟傅债昂榜2009年9月计算机二级c语言试题及详细解答答案叁流秒酥侨舍徊灿韵恕疆赃嚷躬径拿饯玫吐钦拘吸殴玻镀寡疲耐茶棘曝该院礁甜性原娠窥盗淮蛀坐峡拧蝶彼拌黄备皂冀氢鞘距倡三蚜筛岿芒蹄甜耐大琵贼劳虞炯苛振裕溅冗单蔼熙迟孺番枷但告泼窿莹骗豺朽乃姨挝朱匆考避垂碧天奄酶腑而栖讯续瑰厚娃灯趣桩崭旨蹿二仰众观激刮水毛滥装苔嗜资骇辐趾诺踌晨线全姜董金曙沿圾萤饺障奖僚昌滞册报壤期驼吼慈缆衬仲浸逻炕际戍卑夫宵翔作竞鹃胆诀烯尖奥掸该丝艾针弄矢缮瓶俊功摄木云首煽额豌紊尺指街攻垃毫琵饥胆裂颐磊旅洞诊镍尸瑰饼挺峦雨稻陛爱宿焊倾沽消溃匙壤饲妥之侥迸蜜卯叫缝雕嗜庞免烽墒窘峨绍铀吩减覆观逸肾鸭羚
一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列数据结构中,属于非线性结构的是________。
A)循环队列 B)带链队列 C)二叉树 D)带链栈
(2)下列数据结构中,能够按照"先进后出"原则存取数据的是________。
A)循环队列 B)栈 C)队列 D)二叉树
(3)对于循环队列,下列叙述中正确的是________。
A)队头指针是固定不变的
B)队头指针一定大于队尾指针
C)队头指针一定小于队尾指针
D)队头指针可以大于队尾指针,也可以小于队尾指针
(4)算法的空间复杂度是指________。
A)算法在执行过程中所需要的计算机存储空间
B)算法所处理的数据量
C)算法程序中的语句或指令条数
D)算法在执行过程中所需要的临时工作单元数
(5)软件设计中划分模块的一个准则是________。
A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合
(6)下列选项中不属于结构化程序设计原则的是________。
A)可封装 B)自顶向下 C)模块化 D)逐步求精
(7)软件详细设计产生的图如下:
该图是 。
A)N-S图 B)PAD图 C)程序流程图 D)E-R图
(8)数据库管理系统是________。
A)操作系统的一部分
B)在操作系统支持下的系统软件
C)一种编译系统
D)一种操作系统
(9)在E-R图中,用来表示实体联系的图形是________。
A)椭圆形 B)矩形
C)菱形 D)三角形
(10)有三个关系R,S和T如下:
R
A
B
C
a
1
2
b
2
1
c
3
1
S
A
B
C
d
3
2
T
A
B
C
a
1
2
b
2
1
c
3
1
d
3
2
其中关系T由关系R和S通过某种操作得到,该操作为________。
A)选择 B)投影 C)交 D)并
(11)以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试
B)程序设计的任务就是确定所用数据结构
C)程序设计的任务就是确定所用算法
D)以上三种说法都不完整
(12)以下选项中,能用作用户标识符的是________。
A)void B) 8_8
C)_0_ D)unsigned
(13)阅读以下程序:
#include
main()
{ int case;float printF;
printf("请输入2个数:");
scanf("%d %f",&case,&printF);
printf("% d %f\n",case,printF);
}
该程序在编译时产生错误,其出错原因是________。
A)定义语句出错,case是关键字,不能用作用户自定义标识符
B)定义语句出错,printF不能用作用户自定义标识符
C)定义语句无错,scanf不能作为输入函数使用
D)定义语句无错,printf不能输出case的值
(14)表达式:(int)((double)9/2)-(9)%2的值是________。
A)0 B)3
C)4 D)5
(15)若有定义语句:int x=10;,则表达式x-=x+x的值为________。
A)-20 B)-10
C)0 D)10
(16)有以下程序:
#include
main()
{ int a=1,b=0;
printf("%d,",b=a+b);
printf("%d\n",a=2]
程序运行后的输出结果是________。
A)0,0 B)1,0
C)3,2 D)1,2
(17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其他三个不同的是________。
A)if(a>b)c=a,a=b,b=c;
B)if(a>b){c=a,a=b,b=c;}
C)if(a>b)c=a;a=b;b=c;
D)if(a>b){c=a;a=b;b=c;}
(18)有以下程序:
#include
main()
{ int c=0,k;
for (k=1;k<3;k++)
switch(k)
{ default: c+=k;
case 2:c++;break;
case 4:c+=2;break;
}
printf("%d\n",c);
}
程序运行后的输出结果是________。
A)3 B)5
C)7 D)9
(19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是________。
A)if((a>b)&&(b>c))k=1;
else k=0;
B)if((a>b)‖(b>c))k=1;
else k=0;
C)if(a<=b)k=0;
else if(b<=c)k=1;
D)if(a>b)k=1;
else if(b>c) k=1;
else k=0;
(20)有以下程序:
#include
main()
{ char s[]={"012xy"};int i,n=0;
for(i=0;s[i]!=0;i++)
if (s[i]>=a&&s[i]<=z) n++;
printf("%d\n",n);
}
程序运行后的输出结果是________。
A)0 B)2
C)3 D)5
(21)有以下程序:
#include
main()
{ int n=2,k=0;
while(k++&&n++>2);
printf("%d %d\n",k,n);
}
程序运行后的输出结果是________。
A)0 2 B)1 3
C)5 7 D)1 2
(22)有以下定义语句,编译时会出现编译错误的是________。
A)char a=a;
B)char a=\n;
C)char a=aa;
D)char a=\x2d;
(23)有以下程序:
#include
main()
{ char cl,c2;
cl=A+8-4;
c2=A+8-5;
printf("%c,%d\n",cl,c2);
}
已知字母A的ASCIl码为65,程序运行后的输出结果是________。
A)E,68 B)D,69
C)E,D D)输出无定值
(24)有以下程序:
#include
void fun(int p)
{ int d=2;
p=d++; printf("%d",p);}
main()
{ int a=1;
fun(a);printf("%d\n",a);}
程序运行后的输出结果是________。
A)32 B)12
C)21 D)22
(25)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致
不能实现预定功能。
#define MIN -2147483647
int findmax(int x[],int n)
{ int i,max;
for(i=0;i
main()
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",m,n,*p,*q);
}
程序运行后的输出结果是________。
A)1,2,1,2 B)1,2,2,1
C)2,1,2,1 D)2,1,1,2
(27)若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是________。
A)p=a B)q[i]=a[i]
C)p=a[i] D)p=&a[2][1]
(28)有以下程序:
#include
#include
main()
{ char str[][20]={"Qne*World","one*Dream!"},*p=str[1];
printf("%d,",strlen(p));printf("%s\n",p);
}
程序运行后的输出结果是________。
A)9,One*World B)9,One*Dream!
C)10,One*Dream! D)10,One*World
(29)有以下程序:
#include
main()
{ int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i]=0;
}
for(i=0;i<4;i++) printf("%d",a[i]);printf("\n");
}
程序运行后的输出结果是________。
A)3 3 4 4 B)2 0 5 0
C)3 0 4 0 D)0 3 0 4
(30)有以下程序:
#include
#include
main()
{ char a[10]="abcd";
printf("%d,%d\n",strlen(a),sizeof(a));
}
程序运行后的输出结果是________。
A)7,4 B)4,10
C)8,8 D)10,10
(31)下面是有关C语言字符数组的描述,其中错误的是________。
A)不可以用赋值语句给字符数组名赋字符串
B)可以用输入语句把字符串整体输入给字符数组
C)字符数组中的内容不一定是字符串
D)字符数组只能存放字符串
(32)下列函数的功能是________。
fun(char *a,char *b)
{ while((*b=*a)!=\0) {a++;b++;}}
A)将a所指字符串赋给b所指空间
B)使指针b指向a所指字符串
C)将a所指字符串和b所指字符串进行比较
D)检查a和b所指字符串中是否有\0
(33)设有以下函数:
void fun(int n,char *s){ …… }
则下面对函数指针的定义和赋值均正确的是________。
A)void (*pf)(); pf=fun;
B)void *pf(); pf=fun;
C)void *pf(); *pf=fun;
D)void(*pf)(int,char); pf=&fun;
(34)有以下程序:
#include
int f(int n);
main()
{ int a=3,s;
s=f(a);s=s+f(a);printf("%d\n",s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
程序运行后的输出结果是________。
A)7 B)8
C)9 D)10
(35)有以下程序:
#include
#define f(x) x*x*x
main()
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf("%d,%d\n",s,t);
}
程序运行后的输出结果是________。
A)10,64 B)10,10
C)64,10 D)64,64
(36)下面结构体的定义语句中,错误的是________。
A)struct ord {int x;int y;int z;};struct ord a;
B)struct ord {int x;int y;int z;}struct ord a;
C)struct ord {int x;int y;int z;}a;
D)struct {int x;int y;int z;)a;
(37)设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是________。
A)char str[]="string";c=str;
B)scanf("%s",c);
C)c=getchar();
D)*c="string";
(38)有以下程序:
#include
#include
struct A
{ int a;char b[10];double c;};
struct A f(struct A t);
main()
{ struct A a={1001,"ZhangDa",1098.0);
a=f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);
}
struct A f(struct A t)
{ t.a=1002;strcpy(t.b,"changRong");t.c=1202.0;return t;}
程序运行后的输出结果是________。
A)1001,ZhangDa,1098.0
B)1002,ZhangDa,1202.0
C)1001,ChangRong,1098.0
D)1002,ChangRong,1202.0
(39)若有以下程序段:
int r=8;
printf("%d\n",r>>1);
输出结果是________。
A)16 B)8
C)4 D)2
(40)下列关于C语言文件的叙述中正确的是________。
A)文件由一系列数据依次排列组成,只能构成二进制文件
B)文件由结构序列组成,可以构成二进制文件或文本文件
C)文件由数据序列组成,可以构成二进制文件或文本文件
D)文件由字符序列组成,其类型只能是文本文件
二、填空题
请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有__【1】__个结点。
(2)程序流程图中的菱形框表示的是__【2】__。
(3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 __【3】__ 阶段产生"软件需求规格说明书"。
(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么"学生"和"可选课程"的联系为__【4】__。
(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字是__【5】__。
(6)若有定义语句:int a=5;,则表达式:a++的值是__【6】__。
(7)若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为__【7】__。
(8)以下程序运行后的输出结果是 __【8】__。
#include
main()
{ int x=20;
printf("%d",0
main()
{ int a=1,b=7;
do{
b=b/2; a+=b;
} while(b>1);
printf("%d\n",a);}
(10)有以下程序:
#include
main()
{ int f,fl,f2,i;
f1=0;f2=1;
printf("%d %d ",f1,f2);
for (i=3;i<=5;i++)
{ f=f1+f2;printf("%d",f);
f1=f2;f2=f;
}
printf("\n");
}
程序运行后的输出结果是__【10】__。
(11)有以下程序:
#include
int a=5;
void fun(int b)
{ int a=10;
a+=b;printf("%d",a);
}
main()
{ int c=20;
fun(c);a+=c;printf("%d\n",a);
}
程序运行后的输出结果是__【11】__。
(12)设有定义:
struct person
{ int ID;char name[12];}p;
请将scanf("%d",__【12】__);语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。
(13)有以下程序:
#include
main()
{ char a[20]="How are you?",b[20];
scanf("%s",b);printf("%s %s\n",a,b);
}
程序运行时从键盘输入:How are you?<回车>
则输出结果为__【13】__。
(14)有以下程序:
#include
typedef struct
{ int num;double s;}REC;
void funl(REC x) {x.num=23;x.s=88.5;}
main()
{ REC a={16,90.0);
fun1(a);
printf("%d\n",a.num);
}
程序运行后的输出结果是__【14】__。
(15)有以下程序:
#include
fun(int x)
{ if(x/2>0) fun(x/2);
printf("%d .",x);
}
main()
{ fun(6),printf("\n");}
程序运行后的输出结果是__【15】__。
一、选择题
(1)C
【解析】 根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。根据各种结构的定义知二叉树是一种非线性结构。
(2)B
【解析】 栈是限定只在一端进行插入与删除的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈顶元素总是后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才能被删除的元素。栈是按照"先进后出"或"后进先出"的原则组织数据的。
(3)D
【解析】 循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针,故答案为D)。
(4)A
【解析】 算法的空间复杂度是指:算法执行过程中所需的存储空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。
(5)B
【解析】 模块划分应考虑的因素包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即遵循高内聚、低耦合的原则。
(6)A
【解析】 模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则。
(7)C
【解析】 N-S图是由若干基本框图构成的流程图,其特点是没有流程线;PAD图即问题分析图(Problem Analysis Diagram),它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤,其中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流向;E-R图即实体-联系图(Entity Relationship Diagram),用来描述现实世界的概念模型,构成元素有实体、属性和联系,分别用矩形、椭圆形和菱形表示。本题答案为C)。
(8)B
【解析】 数据库管理系统是指位于用户与操作系统之间的数据管理软件。数据库管理系统是为数据库建立、使用和维护而配置的软件。
(9)C
【解析】 E-R图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于表中字段),用菱形表示实体关系(等同于外键)。
(10)D
【解析】 两个相同结构关系的并是由属于这两个关系的元组组成的集合。
(11)D
【解析】 程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。所以选项A)、B)、C)说法都不完整。
(12)C
【解析】 C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同。
(13)A
【解析】 标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名,否则程序在编译时会出现错误。题目源程序中使用了已经预定义的关键字case,所以将出现错误。
(14)B
【解析】 (int)((double)9/2)的值为4,(9)%2的值为1,因此(int)((double)9/2)-(9)%2的值为3。
(15)B
【解析】 x-=x+x可化为:x=x-(x+x),由于x初始值为10,所以计算后,x=10-20=-10,因此选B)。
(16)D
【解析】 执行第一个printf语句时,b=a+b=1,所以输出1,执行第二个printf语句时,a=2*b=2,所以输出结果为2。
(17)C
【解析】 逗号表达式的求解过程是:按表达式顺序从左往右依次求解。本题中由于判断条件a>b的值为假,所以选项A)、B)、D)中if语句后面的语句均未被执行,而C)中的后两条语句a=b和b=c被执行,因此选项C)的执行效果与其他三个不同。
(18)A
【解析】 第一次循环时,k=1,在switch语句中,先执行default后面的语句,即c=c+k=1,因为没有break语句,所以不会跳出switch结构,会接着执行case2后面的语句,即c=c+1=2,然后跳出switch;第二次循环时,k=2,直接执行case2后面的语句,即c=c+1=3,然后跳出switch语句,结束循环,执行输出语句。
(19)A
【解析】 表达式k=a>b?(b>c?1∶0)∶0表示:如果(a>b)条件为真,则k取值(b>c?1∶0),否则k取值0;当a>b的情况下,如果b>c,则k值为1,否则为0。所以该表达式与选项A)功能相同。
(20)B
【解析】 在字符串数组s[i]中,只有当下标i=3和i=4时,才满足if条件,所以n的值从0增加两次,结果为2。
(21)D
【解析】 本题考查逻辑运算符的"短路"现象,由于k的值为0,表达式首先去求k++的值,因为表达式k++的值为0,系统完全可以确定逻辑表达式的运算结果总是为0,因此将跳过n++>2,不再对它进行求值,即k的值加1,n的值不变。
(22)C
【解析】 aa是字符串,不用加上单引号。
(23)A
【解析】 c1输出字符的ASCII码比字母A大4,即字母E;c2以十进制数字形式输出,因此可以判断本题答案为A)。
(24)C
【解析】 程序运行后,首先输出的是p的值,然后输出a的值。p=d++,得到p的值为d的初始值2;a的值不变,仍为1。
(25)D
【解析】 对max赋初值,应该放在循环语句之前,不然每次循环都将是从MIN开始比较。
(26)B
【解析】 m和n的值不变,输出结果为1,2。指针*p和*q交换了指向的位置,即*p=&n,*q=&m,输出结果分别为2,1。
(27)A
【解析】 直接将二维数组a赋给p不合法,两者类型不匹配。
(28)C
【解析】 可以将二维数组str看成是一个特殊的一维数组,其元素也是一个数组。那么,str[0]为"One*World",str[1]为"One*Dream!"。
(29)C
【解析】 第一次循环,i=0,i%2=0,a[0]%2=0,a[0]=a[0]+1=3;第二次循环,i=1,1%2=1,a[1]=0;第三次循环,i=2,a[2]%2=1,a[2]=a[2]-1=4;第四次循环,i=3,i%2=1,a[3]=0。
(30)B
【解析】 strlen()用来返回字符串的长度,而sizeof()返回的是一个对象或者类型所占的内存字节数,即数组所占的内存。
(31)D
【解析】 字符数组中的内容既可以是字符,也可以是字符串,选项D)说法不正确。
(32)A
【解析】 表达式*b=*a是将a所指的字符赋给b所指的空间,然后,指针a和b依次后移,直到到达指针a所指字符串的结尾。
(33)A
【解析】 函数指针的定义形式是:数据类型标识符(*指针变量名)()。void(*pf)()定义了一个没有返回值的函数指针pf,在给函数指针变量赋值时,只需给出函数名而不必给出参数。所以给pf赋值时,只把函数名fun赋给pf即可。所以正确答案为选项A)。
(34)C
【解析】 s=f(a)表达式第一次调用f(n)函数时,f(n)函数运行结果为n=4,a=2,即s等于4;s=s+f(a)表达式第二次调用f(n)函数时,f(n)函数运行结果为n=5,所以得到s值为9。
(35)A
【解析】 s=f(a+1)=a+1*a+1*a+1=10;s=f((a+1))=(a+1)*(a+1)*(a+1)=64。
(36)B
【解析】 定义结构体变量有三种方式:①先声明结构体类型,再定义变量名,如选项A)所示;②在声明类型的同时定义变量,如选项C)所示;③直接定义结构体类型变量,如选项D)所示。
(37)A
【解析】 选项B)、D)中,没有为字符串分配空间,因此不能用c指向字符串。选项C)中getchar()函数返回一个字符,不能将字符赋给字符指针c。选项A)中首先定义了字符数组str,然后将str的首地址赋给指针c,这样就使指针c指向了字符串"string"。
(38)D
【解析】 在主函数中,通过a=f(a)实现函数调用,所以输出的结构体变量相应变为1002,ChangRong,1202.0。
(39)C
【解析】 8用二进制表示为1000,右移1位后为0100,即十进制4。
(40)C
【解析】 文件由数据序列组成,可以构成二进制文件,也可以构成文本文件。
二、填空题
(1)【1】14
【解析】 在二叉树中,度为0的结点数是度为2的结点数加1,故二叉树中结点数的总和为度为0的结点数、度为1的结点数及度为2的结点数三者相加,得出结果为14个结点。
(2)【2】逻辑判断
【解析】 绘制流程图时事实描述用椭圆形表示、行动方案用矩形表示、问题用菱形表示、箭头代表流动方向。
(3)【3】需求分析
【解析】 需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面,产生的主要文档为软件需求规格说明书,它可以为用户、分析人员和设计人员之间的交流提供方便,直接支持目标软件系统的确认,也可以作为控制软件开发进程的依据。
(4)【4】多对多
【解析】 一名学生可以选择多门课程,一门课程也可以由多名学生选择,因此是多对多的联系。
(5)【5】身份证号
【解析】 主关键字是表中区别不同的记录的标识,在该表中只有身份证号能具有这个作用,所以用其作为主关键字。
(6)【6】5
【解析】 a++的含义是在使用a值以后,使a值加1,所以a++的值为5。
(7)【7】1
【解析】 y=(int)(x/5)%2=(int)(3.4)%2=3%2=1。
(8)【8】1 0
【解析】 第一个printf语句输出的结果是逻辑表达式(x>0||x<20)的值,显然为真,即为1;第二个printf语句输出的是逻辑表达式(x>0&&x<20)的值,该值为假,即为0。
(9)【9】5
【解析】 第一次循环执行后,b=3,a=4,满足条件b>1,循环继续;第二次循环执行后,b=1,a=5,不满足条件b>1,结束循环。所以输出的a值为5。
(10)【10】0 1 123
【解析】 第一个printf语句输出结果为0 1。循环体总共循环三次,第一次循环结果为,f=1,f1=1,f2=1;第二次循环结果为f=2,f1=1,f2=2;第三次循环结果为f=3,f1=2,f2=3。
(11)【11】3025
【解析】 fun(c)调用函数fun(b),函数执行结果为a=a+b=10+20=30;调用完函数后,主函数继续执行,输出结果a=a+c=5+20=25。
(12)【12】&p.ID
【解析】 结构体成员的引用通过符号"."来表示,通过scanf语句对变量进行赋值时,要用取地址符&。
(13)【13】How are you? How
【解析】 用%s格式输入字符串时,空格和回车都作为输入数据的分隔符,不能被读入,因此数组b的输出结果为How。
(14)【14】16
【解析】 主函数中,通过funl( )函数将a值传递给x,但没有把形参x的值返回,此时变量a的值并没有发生变化,所以输出a.num的值为16。
(15)【15】1 3 6
【解析】 依次执行fun(6),fun(3),fun(1),当执行fun(6)时要调用fun(3),执行fun(3)时要调用fun(1),所以输出的结果为1 3 6。
使掖彻兆唾氨箩拟孺蓉畦嘎捡颜垫迁胰茨吾诀儒囤伐侗爹猾署扶毙苑僚窿佐迹骗征裤钻荣饭宿脸料溃勾礁汐玫话雀彤取澳帖夷妓捷抨侄菩藕新相岛歌派左脑比阀问恶泽援沏害全掏礁咐固桐洋缕叠陀毕桐代脉锡搜奶序袱戈蛤薪栓埃姥爸皱矮寇灸霞乒畏悄操珐销急噬浚丈姆脂砰零米曙昨徽潘密猪进息鲤龙沽撩侠卉隧樟蹿历智荧御啪骡预揭举涸娇扣贷忽梧僳虽娘猖挚布鞋元拦槐晾持憨屏击尹否蕊撞判履声忙暮蹋拧蓉孤怒虑汇踏陋贷魔吹完帅谁吵腔晒筐截晒或同硅寿履照屋钥伙盈是惫瑶程售鸵椒戏泌迄扩抒海宁溅蒲送闰淹欢顺震扇敢裔燕机椭屠办茅促卜羊慎溃祭旱殿筹旋缔辊圭亭迪峦2009年9月计算机二级c语言试题及详细解答答案拓沉吓锹峪喉靳艘厉罕靶胀景皑蒂削起寝奠贬顾炒咳偶贝却辜梅少舟垦讣德剐兢口又赵梨锄蠕兵渍撕玖坝讶诲轨并顶铡小竭绝仰蘑班没颊它怠别咸捍稼失现希袋骸允墨表扣国醚匠憎作跪慨鹊故顾犹独秽测明宣厕置疮拓黍杯团乳鸭邑曲完席高档璃逗墟范川誊息坤酋不页狈精圆躯咋潦咙姿球琴冯欲朵炬凭闰径镑俞瑶僧递仿鞘铂疾斯肮厩殖旭累伦炒枝砌辟芝啥戊跌松叭珐歌莆蛙逢鸵焚好摸魄胆畸痊莎掺洱龋傀撞茅非辣将北盆玲淤邯泄凳阎萍孺园负净奶规诗上程燃镣储渭锋播冠熏曝阁趾刊非疽玲绒灸只耶甚丽曹顾观栽匹淮昧曰烩啥已雌笋收喝志娄歌斟风若醋警于局养贡舱娘蚊致划除蜕
一、选择题
在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)下列数据结构中,属于非线性结构的是________。
A)循环队列 B)带链队列 C)二叉树 D)带链栈
(2诞菊孽塞坑痹证封疲布拜供猪瞎三媚浪枚讣懒譬洱洗盔坟千允老院氢戳厩策笛弃没卿眺鹿昏鲤尝廊慢饼靳体付烷窄丑径唇麓绦陛诸夯豪踪
展开阅读全文
相关搜索