1、二级 C语言笔试-369 及答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:50,分数:61.00)1.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。 A) 顺序内聚 B) 偶然内聚 C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B.C.D.2.算法具有五个特性,以下选项中不属于算法特性的是A) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:1.00)A.B.C.D.3.C语言规定,在一个源程序中,main 函数的位置A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后(分数:1.00)A.B.C.D.4
2、.为了使模块尽可能独立,要求( )。A) 内聚程度要尽量高,耦台程度要尽量强B) 内聚程度要尽量高,耦合程度要尽量弱C) 内聚程度要尽量低,耦合程度要尽量弱D) 内聚程度要尽量低,耦合程度要尽最强(分数:2.00)A.B.C.D.5.设树 T的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1,则 T中的叶子结点数为( )。A) 5 B) 6 C) 7 D) 8(分数:1.00)A.B.C.D.6.数据库是()的集合,它具有统一的结构格式并存放于统一的存储介质,可被各个应用程序所共享A) 视图 B) 消息 C) 数据 D) 关系(分数:1.00)A.B.C.D.7.分布式数据
3、库系统不具有的特点是A) 数据分布性和逻辑整体性B) 位置透明性和复制透明性C) 分布性D) 数据冗余(分数:2.00)A.B.C.D.8.以下程序的输出结果是_。main()int a=3;printf(“%d/n“,(a+=a-=a*A) );A) -6 B) 1 C) 2 D) -12(分数:1.00)A.B.C.D.9.以下 if语句书写正确的是 ( )A) if(x=0;) printf(“%f“,x);elseprintf(“%f“,-x);B) if(x0)x=x+1;printf(“%f“,x);else printf(“%f“,-x);C) if(x0);xx+1;print
4、f(“%f“,x); else printf(“%f“,-x);D) if(x0)x=x+1;printf(“%f“,x)else printf(“%f“,-x);(分数:1.00)A.B.C.D.10.已知函数定义如下,函数 abed的功能是( )。abcd(char *s1,char *s2)while(*s2+=*s1+); A) 串复制 B) 求串长 C) 串比较 D) 串反向(分数:1.00)A.B.C.D.11.以下叙述中正确的是 _。A) 调用 printf函数时,必须要有输出项B) 使用 putchar函数时,必须在之前包含头文件 stdio.hC) 在 C语言中,整数可以以十
5、二进制、八进制或十六进制的形式输出D) 调用 getchar函数读入字符时,可以从键盘上输入字符所对应的 ASCII码(分数:1.00)A.B.C.D.12.在关系数据库模型中,通常可以把( )称为属性,其值称为属性值。A. 记录 B. 基本表 C. 模式 D. 字段(分数:1.00)A.B.C.D.13.下面关于完全二叉树的叙述中,错误的是_。A) 除了最后一层外,每层上的结点数均达到最大值B) 可能缺少若干个左右叶子结点C) 完全二叉树一般不是满二叉树D) 具有结点的完全二叉树的深度为log 2n+1(分数:1.00)A.B.C.D.14.下列有关数据库的描述,正确的是A) 数据库是一个
6、DBF文件 B) 数据库是一个关系C) 数据库是一个结构化的数据集合 D) 数据库是一组文件(分数:1.00)A.B.C.D.15.索引属于A) 模式 B) 内模式 C) 外模式 D) 概念模式(分数:1.00)A.B.C.D.16.设有如下说明:typedef struct STlong a;int b;char c2; NEW;则下面叙述中正确的是( )。A) 以上的说明形式非法 B) ST 是一个结构体类型C) NEW是一个结构体类型 D) NEW 是一个结构体变量(分数:1.00)A.B.C.D.17.以下程序运行后的输出结果是#includestdio.hmain()int a=5,
7、 b=1, t;t=(a2)|b); printf(“%d/n“, t);A) 21 B) 11 C) 6 D) 1(分数:2.00)A.B.C.D.18.以下程序运行后,输出结果是( )。main()int y=18,i=0,j,a8;doaiy2;i+;y=y/2;while(y=1);for(j=i-1;j=0;j-)printf(“%d“,aj);printf(“/n“);A) 1000 B) 10010 C) 00110 D) 10100(分数:1.00)A.B.C.D.19.若有以下定义:int t32;,能正确表示 t数组元素地址的表达式是_。A) i3; i+) j+=f(i)
8、;printf(“%d/n“,j);程序运行后的输出结果是( )。A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B.C.D.21.将 E-R图转换为关系模式时,实体和联系都可以表示为A) 属性 B) 键 C) 关系 D) 域(分数:2.00)A.B.C.D.22.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 ( )A) 可重用性差 B) 安全性差 C) 非持久性 D) 冗余性(分数:1.00)A.B.C.D.23.在 E-R图中,用来表示实体之间联系的图形是A) 矩形 B) 椭圆形 C) 菱形 D) 平行四边形(分数:1.00)A.B.C.D.24.在下列字符
9、序列中,不可用做 C语言标识符的是 ( )Astudent_numBclassC#88Dmonth_12(分数:1.00)A.B.C.D.25.设 x,y均为 int型变量,且 x=10,y=3,则 printf(“%d/n“x-,-y);语句的输出结果是 _。A) 10,3 B) 9,3 C) 9,2 D) 10,2(分数:1.00)A.B.C.D.26.有以下程序#include stdiohmain()chara,b,C,d;scanf(“%c%c“,若要从终端给 s输入 5个字符,错误的输入语句是( )。A) gets(s0); B) scanf(“%s“,s+1);C) gets(s
10、); D) scanf(“%s“,s1);(分数:2.00)A.B.C.D.28.设有变量说明 int(*ptrm);其中的标识符 ptr是( )。A) m个指向整型变量的指针B) 指向 m个整型变量的函数指针C) 一个指向具有 m个整型元素的一维数组的指针D) 具有 m个指针元素的一维指数组,每个元素都只能指向整型变量(分数:1.00)A.B.C.D.29.下面叙述正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上三种描述都不对(分数:1.00)A.B.C.D.30
11、.下面程序的运行结果是includestdio.hmain()int a=28,b;char s10,*p;p=s;dob=a%16;if(b10) *p=b+48;else*p=b+55;p+;a=a/5;while(a0);*p=/0;puts(s);A) 10 B) C2 C) C51 D) /0(分数:1.00)A.B.C.D.31.在结构化方法中,软件功能分解属于软件开发中的( )阶段。A) 详细设计 B) 需求分析 C) 总体设计 D) 编程调试(分数:1.00)A.B.C.D.32.以下不正确的定义语句是A) double x5=2.0,4.0,6.0,8.0,10.0;B) i
12、nt y5=0,1,3,5,7,9;C) char c1=1,2,3,4,5; D) char c2=/x10,/xa,/x8;(分数:1.00)A.B.C.D.33.在软件工程中,高质量的文档是_、一致性和无二义性的。A安全性 B完整性 C组合性 D统一性(分数:2.00)A.B.C.D.34.有以下程序int a=2;int f(int *a)return (*a)+;main( )int s=0;int a=5;s+=f(s+=f(printf(“%d/n”,s);执行后输出结果是()A)10 B)9 C)7 D)8(分数:1.00)A.B.C.D.35.下列关于栈的描述正确的是 _。A
13、) 在栈中只能插入元素而不能删除元素B) 在栈中只能删除元素而不能插人元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:2.00)A.B.C.D.36.设有定义:int a=2,b=3,c=4;,则以下选项中值为 0的表达式是( )。A) (!a=1)char*p;p=a;for(p=a;pa+8;p+=2) putchar(*p);A) language B) lnug C) 有语法错误 D) lang(分数:1.00)A.B.C.D.38.请读程序:#include stdio.h#include string.hma
14、in()char *s1=“AbCdEf“, *s2=“aB“;s1+; s2+;printf(“%d/n“,strcmp(s1,s2);上面程序的输出结果是( )。A) 正数 B) 负数 C) 零 D) 不确定的值(分数:1.00)A.B.C.D.39.对长度为 n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.40.下列程序的输出结果是( )。#includestdio.hf(int a)int b=0;static int c=4;a=c+;b+;return(a);main()int a=2,
15、i,c;for(i=0;i2;i+)C=f(a+);printf(“%d/n“,c);A) 4 B) 7 C) 6 D) 5(分数:1.00)A.B.C.D.41.有如下程序main()float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序输出结果是_。A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(分数:1.00)A.B.C.D.42.下列叙述中正确的是A) 软件测试的主要目的是发现程序中的错误B) 软件测试的主要目的是确定程序中错误的位
16、置C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D) 软件测试是证明软件没有错误(分数:1.00)A.B.C.D.43.若有以下说明和定义:union dtint a;char b;double c;data;以下叙述中错误的是( )。A)data的每个成员起始地址都相同B)变量 data所占内存字节数与成员 C所占字节数相等C)程序段:data a=5;printf(“%f/n“,data c);输出结果为 5.000000D)data可以作为函数的实参(分数:1.00)A.B.C.D.44.有以下程序:#includestdio.hmain()int y=9;for
17、(;y0;y-)f(y%3=0)printf(“%d“,-y);程序的运行结果是_。A) 741 B) 963 C) 852 D) 875421(分数:2.00)A.B.C.D.45.数据的_包括集合、线性结构、树型结构和图状结构四种基本类型。A) 算法描述 B) 基本运算 C) 逻辑结构 D) 存储结构(分数:1.00)A.B.C.D.46.在 C语言中_。A) 函数定义可以嵌套,但函数调用不能嵌套B) 函数定义不可以嵌套,但函数调用可以嵌套C) 函数定义和调用均不能嵌套D) 函数定义和调用均可以嵌套(分数:1.00)A.B.C.D.47.以下选项中合法的用户标识符是_。A) long B)
18、 2Test C) 3Dmax D) A.dat(分数:1.00)A.B.C.D.48.不合法的 main函数命令行参数表示形式是A) main(int a,char*c) B) main(int arc,char*arv)C) main(int argc,char *argv) D) main(int argv,char *argc)(分数:1.00)A.B.C.D.49.设 char型变量 x中的值为 10100111,则表达式(2+x)(3)的值是A) 10101001 B) 10101000 C) 11111101 D) 01010101(分数:1.00)A.B.C.D.50.在下列关
19、系运算中,不改变关系表中的属性个数但能减少元组个数的是_。A) 并 B) 交C) 投影 D) 笛卡儿乘积(分数:2.00)A.B.C.D.二、填空题(总题数:20,分数:33.00)51.下列程序的输出结果是_。main()int a=2,b=4,c=6;int*p1=*(p=printf(“%d/n“,c);(分数:2.00)填空项 1:_52.执行以下程序后,输出#号的个数是_。#include studio.hmain()int i,j;for(i=1;i5;i+)for(j=2;j=i;j+)putchar(#);(分数:1.00)填空项 1:_53.问题处理方案的正确而完整的描述称为
20、 1。(分数:2.00)填空项 1:_54.一棵二叉树第 6层(根结点为第一层) 的结点最多为_个。(分数:2.00)填空项 1:_55.fseek函数的正确调用形式是_。(分数:2.00)填空项 1:_56.以下程序运行后的输出结果是_。 #includestdio.h main() int n2, i, j; for(i=0; i2; i+) ni=0; for(i=0; i2; i+) for(j=0; j2; j+) nj=ni+1; printf(“%d/n“, n1);(分数:2.00)填空项 1:_57.以下函数的功能是求 x的 y次方,请填空。double fun(double
21、 x,int y)int i;double z;for(i=1,z=x;iy;i+)z=z*_;return z;(分数:1.00)填空项 1:_58.在一个容量为 15的循环队列中,若头指针 front6,尾指针 Year9,则该循环队列中共有 1 个元素。(分数:1.00)填空项 1:_59.以下程序运行时,若从键盘输入:10 20 30回车。输出结果是_。#include stdio.hmain()int i=0,j=0,k=0;acanf(“%d%*d%d“,printf(“%d%d%d/n“,I,j,k);(分数:2.00)填空项 1:_60.若想通过以下输入语句使 a=5.0,b=
22、4,c=3,则输入数据的形式应该是_。int b,C; float a:scanf(“%f, %d,c=%d”, main()char *p,*str=“abcdefgh“;p=ss(str); printf(%s/n“,p);(分数:3.00)填空项 1:_62.以下程序的运行结果是_。# include string.htypedef struct studentchar name10;long sno;float score;STU;main()STU a=“zhangsan“,2001,95,b=“Shangxian“,2002,90,c=“Anhua“,2003,95,d,*p-d=
23、a;ifstrcmp(a.nalne,b.name)0) d=b;if(strcmp(c.name,d.name)0) d=c;printf(“%ld%s/n“,d.sno,p name;(分数:3.00)填空项 1:_63.将代数式 (分数:1.00)填空项 1:_64.在树形结构中,树根结点没有 1。(分数:1.00)填空项 1:_65.若变量 a、b 已定义为 int类型并赋值 21和 55,要求用 printf函数以 a=21,b=55 的形式输出,请写出完整的输出语句 1。(分数:2.00)填空项 1:_66.数据库技术的主要特点为数据的集成性、数据的高 1 和低冗余性、数据独立性和
24、数据统一管理与控制。(分数:1.00)填空项 1:_67.Windows3.X中,所有的系统程序和应用程序都处于 1 的集中管理之下。(分数:1.00)填空项 1:_68.对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_69.以下程序的输出结果是_。 #includestdio.h void main() int f,f1,f2,i; f1=0;f2=1; printf(“%d%d“,f1,f2); for(i=3;i=5;i+) f=-f1+f2,printf(“%d“,f); f2=f1;f1=f; printf(“/n“); (分数:2
25、.00)填空项 1:_70.支持 Internet基本服务的协议是 1。(分数:1.00)填空项 1:_二级 C语言笔试-369 答案解析(总分:94.00,做题时间:90 分钟)一、选择题(总题数:50,分数:61.00)1.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。 A) 顺序内聚 B) 偶然内聚 C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B. C.D.解析:解析 内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列: 偶然内聚模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为
26、巧合强度模块。 逻辑内聚这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。 时间内聚这种模块顺序完成一类相关功能,比如初始化模块,它顺序地为变量置初值。 过程内聚如果一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为过程内聚。 通信内聚这种模块除了具有过程内聚的特点外,还有另外一种关系,即它的所有功能都通过使用公用数据而发生关系。 顺序内聚如果一个模块内各个处理元素和同一个功能密切相关,而且这些处理必须顺序执行,处理元素的输出数据作为下一个处理元素的输入数据,则称为顺序内聚。 功能内聚如果一个模块包括为完成某一具体任务所必需的所有成分,
27、或者说模块中所有成分结合起来是为了完成一个具体的任务,此模块则为功能内聚模块。2.算法具有五个特性,以下选项中不属于算法特性的是A) 有穷性 B) 简洁性 C) 可行性 D) 确定性(分数:1.00)A.B. C.D.解析:解析 一个算法应当具有以下 5个特性:有穷性;确定性;可行性;有零个或多个输入;由一个或多个输出简洁性不属于这 5个特性,所以本题应该选择 B。3.C语言规定,在一个源程序中,main 函数的位置A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后(分数:1.00)A.B.C. D.解析:解析 不论 main()函数在整个过程中的位置如何,
28、一个 C程序总是从 main()函数开始执行的。4.为了使模块尽可能独立,要求( )。A) 内聚程度要尽量高,耦台程度要尽量强B) 内聚程度要尽量高,耦合程度要尽量弱C) 内聚程度要尽量低,耦合程度要尽量弱D) 内聚程度要尽量低,耦合程度要尽最强(分数:2.00)A.B. C.D.解析:解析 模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模
29、块的独立性。5.设树 T的度为 4,其中度为 1,2,3,4 的结点个数分别为 4,2,1,1,则 T中的叶子结点数为( )。A) 5 B) 6 C) 7 D) 8(分数:1.00)A.B.C.D. 解析:根据给定的条件,在树中,各结点的分支总数为:41+22+13+41=15,树中的总结点数为:15(各结点的分支总数)+1(根结点)=16:非叶子结点总数为:4+2+1+1=8。因此,叶子结点数为 16(总结点数)-8(非叶子结点总数)=8。6.数据库是()的集合,它具有统一的结构格式并存放于统一的存储介质,可被各个应用程序所共享A) 视图 B) 消息 C) 数据 D) 关系(分数:1.00)
30、A.B.C. D.解析:解析 数据库是数据的集合,其中的数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构,以建立数据之间的内在联系与复杂的关系。7.分布式数据库系统不具有的特点是A) 数据分布性和逻辑整体性B) 位置透明性和复制透明性C) 分布性D) 数据冗余(分数:2.00)A.B.C.D. 解析:解析 分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。8.以下程序
31、的输出结果是_。main()int a=3;printf(“%d/n“,(a+=a-=a*A) );A) -6 B) 1 C) 2 D) -12(分数:1.00)A.B.C.D. 解析:解析 赋值运算符的结合方向是自右至左,所以表达式 a+=a-=a*a先运算最右边的 a*a得 9,再运算 a=a-9,即 a=3-9,所以此时 a的值由 3变成了-6,最后运算 a=a+(-6),即 a=(-6)+(-6)=-12。9.以下 if语句书写正确的是 ( )A) if(x=0;) printf(“%f“,x);elseprintf(“%f“,-x);B) if(x0)x=x+1;printf(“%f
32、“,x);else printf(“%f“,-x);C) if(x0);xx+1;printf(“%f“,x); else printf(“%f“,-x);D) if(x0)x=x+1;printf(“%f“,x)else printf(“%f“,-x);(分数:1.00)A.B. C.D.解析:10.已知函数定义如下,函数 abed的功能是( )。abcd(char *s1,char *s2)while(*s2+=*s1+); A) 串复制 B) 求串长 C) 串比较 D) 串反向(分数:1.00)A. B.C.D.解析:解析 函数 abcd()中只有一个没有循环体的 while循环,其循环
33、条件是*s2+=*s1+,即只要 s1所指内容不为 0循环就会继续,并且每次执行循环条件时将 s1所指内容赋给 s2所指地址,然后两者同时增 1,故该函数完成的是将 s1所指字符串复制到 s2所指地址中。应该选择 A。11.以下叙述中正确的是 _。A) 调用 printf函数时,必须要有输出项B) 使用 putchar函数时,必须在之前包含头文件 stdio.hC) 在 C语言中,整数可以以十二进制、八进制或十六进制的形式输出D) 调用 getchar函数读入字符时,可以从键盘上输入字符所对应的 ASCII码(分数:1.00)A.B. C.D.解析:解析 在使用标准输入输出库函数(除了 Pri
34、ntf和 scanf)前,必须要用预编译命令“#include”将头文件“stdio.h”包括到用户源文件中。12.在关系数据库模型中,通常可以把( )称为属性,其值称为属性值。A. 记录 B. 基本表 C. 模式 D. 字段(分数:1.00)A.B.C.D. 解析:解析 数据库表中字段转化为属性,把记录的类型转化为关系模式。13.下面关于完全二叉树的叙述中,错误的是_。A) 除了最后一层外,每层上的结点数均达到最大值B) 可能缺少若干个左右叶子结点C) 完全二叉树一般不是满二叉树D) 具有结点的完全二叉树的深度为log 2n+1(分数:1.00)A.B. C.D.解析:解析 满二叉树指除最后
35、一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。14.下列有关数据库的描述,正确的是A) 数据库是一个 DBF文件 B) 数据库是一个关系C) 数据库是一个结构化的数据集合 D) 数据库是一组文件(分数:1.00)A.B.C. D.解析:解析 数据库(Database,简称 DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。15.索引属于A) 模式 B) 内模式 C) 外模式 D
36、) 概念模式(分数:1.00)A.B. C.D.解析:解析 内模式(Internal Schema)又称物理模式(Physical Schema),它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash等存取方式与存取路径。16.设有如下说明:typedef struct STlong a;int b;char c2; NEW;则下面叙述中正确的是( )。A) 以上的说明形式非法 B) ST 是一个结构体类型C) NEW是一个结构体类型 D) NEW 是一个结构体变量(分数:1.00)A.B.C. D.解析:解析 将题目中的定义语句去掉前面的 typedef和后
37、面的 NEW(分号保留),就是一条完整的结构体定义语句,其中 struct是说明符,ST 是结构体名,大括号里面的是结构体成员的定义。此时要声明该结构体变量时需要使用 struct加结构体名一起来声明,struct ST 一起构成一个结构体类型,就好像字符类型 char。若只去掉前面的 typedef,就是一条结构体定义同时声明一个结构体变量 NEW的语句,因为NEW的前面部分是 struct ST的完整写法,可以看作是 struct ST。C 语言允许用 typedef说明一种新类型名,其语法格式为:typedef 类型 名标识符;以后就可以用该标识符来代替被说明的类型名了。因此,当前面存在
38、 typedef时,该语句就变成了给struct ST的完整写法定义一个新的名称 NEW。所以,此时的 NEW是一个结构体类型,它相当于 struct ST,即可以和 char一样单独用来声明该结构体变量,而 ST只是一个结构体名,不能单独用来声明变量。所以,4 个选项中 C符合题意。17.以下程序运行后的输出结果是#includestdio.hmain()int a=5, b=1, t;t=(a2)|b); printf(“%d/n“, t);A) 21 B) 11 C) 6 D) 1(分数:2.00)A. B.C.D.解析:解析 将 5变换为二进制数为 101,左移 2位后为 10100;
39、将 1转换为二进制数为 00001;将10100与 00001进行按位或运算后为 10101,再将其转换为十进制数为 21。18.以下程序运行后,输出结果是( )。main()int y=18,i=0,j,a8;doaiy2;i+;y=y/2;while(y=1);for(j=i-1;j=0;j-)printf(“%d“,aj);printf(“/n“);A) 1000 B) 10010 C) 00110 D) 10100(分数:1.00)A.B. C.D.解析:解析 do-while 循环的功能是对数组 a中的元素赋值,值为 0、1、0、0、1。for 循环的功能是将数组 a中元素按下标从大
40、到小的顺序输出,所以选项 B符合题意。19.若有以下定义:int t32;,能正确表示 t数组元素地址的表达式是_。A) i3; i+) j+=f(i);printf(“%d/n“,j);程序运行后的输出结果是( )。A) 4 B) 3 C) 2 D) 1(分数:1.00)A.B. C.D.解析:解析 在 main函数中,j 的值是 f(1)和 f(2)的值相加的结果。f(1)=1,f(2)=f(1)+1=2,j 的值为 1+2=3。21.将 E-R图转换为关系模式时,实体和联系都可以表示为A) 属性 B) 键 C) 关系 D) 域(分数:2.00)A.B.C. D.解析:解析 数据库逻辑设计
41、的主要工作是将 E-R图转换成指定 RDBMS中的关系模式。从 E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中的属性也可以转换成关系的属性。实体集也可以转换成关系。22.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 ( )A) 可重用性差 B) 安全性差 C) 非持久性 D) 冗余性(分数:1.00)A.B.C.D. 解析:23.在 E-R图中,用来表示实体之间联系的图形是A) 矩形 B) 椭圆形 C) 菱形 D) 平行四边形(分数:1.00)A.B.C. D.解析:解析 E-R 模型可用 E-R图来表示,它具有 3个要素:实体(型)用矩形框
42、表示,框内为实体名称。属性用椭圆型来表示,并用线与实体连接。属性较多时也可以将实体及其属性单独列表。实体间的联系用菱形框表示。用线将菱形框与实体相连,并在线上标注联系的类型。24.在下列字符序列中,不可用做 C语言标识符的是 ( )Astudent_numBclassC#88Dmonth_12(分数:1.00)A.B.C. D.解析:25.设 x,y均为 int型变量,且 x=10,y=3,则 printf(“%d/n“x-,-y);语句的输出结果是 _。A) 10,3 B) 9,3 C) 9,2 D) 10,2(分数:1.00)A.B.C.D. 解析:解析 C 语言的自减运算符有前置与后置两
43、种形式。当自减运算符前置时,变量先自减一后再参与表达式运算;而后置时,变量先参与表达式运算后再自身减一。26.有以下程序#include stdiohmain()chara,b,C,d;scanf(“%c%c“,若要从终端给 s输入 5个字符,错误的输入语句是( )。A) gets(s0); B) scanf(“%s“,s+1);C) gets(s); D) scanf(“%s“,s1);(分数:2.00)A.B.C.D. 解析:解析 本题主要考查的是输入函数 scanf和 gets。gets()函数的原型是 char*gets(char+s);。功能是通过键盘读入一个字符串,并放到指针参数
44、s所指的内存地址中。选项 A) 给 gets传入的实参是s0,也就是数组 s的第 1个元素的地址,这是合法的。选项 C) 传入的是数组名 s,它出现在表达式中表示的是数组的首地址,所以也是合法的。scanf(函数要求输入的参数均为地址形式。选项 B) 中表达式 s+1,表示的是数组首地址往后移动一位的地址,所以是合法的。选项 D) 直接引用数组中下标为 1的元素,这是不合法的。28.设有变量说明 int(*ptrm);其中的标识符 ptr是( )。A) m个指向整型变量的指针B) 指向 m个整型变量的函数指针C) 一个指向具有 m个整型元素的一维数组的指针D) 具有 m个指针元素的一维指数组,
45、每个元素都只能指向整型变量(分数:1.00)A.B.C. D.解析:解析 考查指针数组的概念。解题要点 指针数组是指数组中的元素是指针类型的数据,本题中的数组元素指针指向的是整型数据。考点链接 通过带下标的指针变量引用一维数组元素。29.下面叙述正确的是( )。A) 算法的执行效率与数据的存储结构无关B) 算法的空间复杂度是指算法程序中指令(或语句)的条数C) 算法的有穷性是指算法必须能在执行有限个步骤之后终止D) 以上三种描述都不对(分数:1.00)A.B.C. D.解析:解析 算法的执行效率与算法执行过程中所需基本运算的执行次数有关,选项 A错误;算法的空间复杂度是指执行这个算法所需要的内
46、存空间规模,选项 B错误;选项 C正确,故选项 D不正确。30.下面程序的运行结果是includestdio.hmain()int a=28,b;char s10,*p;p=s;dob=a%16;if(b10) *p=b+48;else*p=b+55;p+;a=a/5;while(a0);*p=/0;puts(s);A) 10 B) C2 C) C51 D) /0(分数:1.00)A.B.C. D.解析:解析 考查用字符指针处理字符串的方法。解题要点 语句“p=s;”是使指针 p指向字符数组 s。*p 则引用了 p所指位置的数组元素。考点链接 通过指针来引用一维数组元素。31.在结构化方法中,
47、软件功能分解属于软件开发中的( )阶段。A) 详细设计 B) 需求分析 C) 总体设计 D) 编程调试(分数:1.00)A.B.C. D.解析:解析 需求分析将创建所需的数据模型、功能模型和控制模型,但不会进行功能分解;有了需求分析的报告,开始进行总体设计,其间将软件的功能分解,确定模块之间的接口;有了每个模块功能的分解,则每个模块进入详细设计阶段;接下来是编写代码,调试程序等。32.以下不正确的定义语句是A) double x5=2.0,4.0,6.0,8.0,10.0;B) int y5=0,1,3,5,7,9;C) char c1=1,2,3,4,5; D) char c2=/x10,/xa,/x8;(分数:1.00)A.B. C.D.解析:解析 考查一维数组的定义和初始化。解题要点 选项 B定义的数组长度为 5,而初始化