还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
全国计算机等级考试二级公共基础知识课后习题及答案1第一章 数据结构与算法一.选择题
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. 栈是先进后出的线性表
8.在深度为5的满二叉树中叶子结点的个数为 A. 32 B. 31 C. 16 D.
159.对长度为N的线性表进行顺序查找在最坏情况下所需要的比较次数为 A. N+1 B. N C .N+1/2 D. N/
210.设树T的度为4其中度为1234的结点个数分别为4211 .则T的叶子结点数为A. 8 B. 7 C . 6 D. 5二.填空题
1. 对长度为n的有序线性表中进行二分查找需要的比较次数为
2. 设一棵完全二叉树共有700个结点则在该二叉树中有 个叶子结点
3. 设一棵二叉树的中序遍历结果为DBEAFC前序遍历结果为ABDECF则后序遍历结果为
4. 在最坏情况下冒泡排序的时间复杂度为
5. 在一个容量为15的循环队列中若头指针front=6尾指针rear=9则该循环队列中共有 个元素第一章参考答案一.选择题1.C
2. D
3. A
4. B
5. C
6. D
7. B
8. B
9. B
10. A二. 填空题 1 log2n 2 350 3 DEBFCA 4 NN-1/2 5 3 第二章 程序设计基础 一. 选择题
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. 操作是对象的动态属性二.填空题1.结构化程序设计的三种基本逻辑结构为顺序、选择和( )2.源程序文档化要求程序应加注释注释一般分为序言性注释和( )3.在面向对象方法中,信息隐蔽是通过对象的( )性来实现的4.类是一个支持集成的抽象数据类型,而对象是类的( )5.在面向对象方法中,类之间共享属性和操作的机制称为( )第二章参考答案一.选择题1.B
2. A
3. D
4. B
5. A 二.填空题 1 重复(或循环) 2 功能性 3 封装 4 实例 5 继承 转贴第三章 软件工程基础一. 选择题
1.在软件生命令周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )A.概要设计 B.详细设计 C.可行性研究 D.需求分析
2.下面不属于软件工程的3个要素的是( )A.工具 B.过程 C.方法 D环境
3.检查软件产品是否符合需求定义的过程称为( )A.确认测试 B.集成测试 C.验证测试 D.验收测试
4.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成下列图符名标识的图符不属于数据流图合法图符的是 A.控制流 B.加工 C.数据存储 D.源和潭
5.下面不属于软件设计原则的是A.抽象 B.模块化 C.自底向上 D.信息隐蔽
6.程序流程图(PFD)中的箭头代表的是( )A.数据流 B.控制流 C.调用关系 D.组成关系
7.下列工具中为需求分析的常用工具的是 A. PAD B. PFD C. N-S D. DFD
8.在结构化方法中软件功能分解属于下列软件开发中的阶段是 A.详细设计 B.需求分析 C.总体设计 D.编程调试
9.软件调试的目的是 A. 发现错误 B.改正错误 C.改善软件的性能 D.挖掘软件的潜能
10.软件需求分析阶段的工作可以分为四个方面:需求获取,需求分析,编写需求规格说明书,以及( )A.阶段性报告 B.需求评审 C.总结 D.都不正确二.填空题
1.软件是程序、数据和( )的集合.
2.Jackson方法是一种面向( )的结构化方法
3.软件工程研究的内容主要包括( )技术和软件工程管理
4.数据流图的类型有( )和事务型
5.软件开发环境是全面支持软件开发全过程的( )集合第三章参考答案一.选择题1.D
2. D
3. A
4. A
5. C
6. B
7. D
8. C
9. B
10. B二.填空题 1 文档 2 数据流 3 软件开发 4 变换型 5 软件工具 转贴第四章 数据库设计基础一.选择题
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.按条件f对关系R进行选择其关系代数表达式是 A. R|×|R B. R|×|R C. σfR D. πf(R)7.关系数据管理系统能实现的专门关系运包括 A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序 D.显示、打印、制表8.在关系数据库中,用来表示实体之间联系的是( )A.树结构 B.网结构 C.线性表 D.二维表9.数据库设计包括两个方面的设计内容,它们是( )A.概念设计和逻辑设计 B.模式设计和内模式设计 C.内模式设计和物理设计 D.结构特性设计和行为特性设计10 将E-R图转换到关系模式时,实体与联系都可以表示成( )A.属性 B.关系 C.键 D.域二. 填空题
1.一个项目具有一个项目主管,一个项目主管可管理多个项目则实体”项目主管”与实体”项目”的联系属于
3.数据库系统中实现各种数据管理功能的核心软件称为
4.关系模型的完整性规则是对关系的某种约束条件包括实体完整性、 和自定义完整性.
5.在关系模型中,把数据看成一个二维表,每一个二维表称为一个( )转贴于第四章参考答案一.选择题1.A
2. A
3. B
4. B
5. A
6. C
7. B
8. D
9. A
10. B三. 填空题 1 一对多或1:N 2 逻辑独立性 3 数据库管理系统 4 参照完整性 5 关系 转贴于
一、选择题(1)下列关于栈的叙述正确的是A栈是非线性结构 B栈是一种树状结构 C栈具有先进先出的特征 D栈具有后进先出的特征(2)结构化程序设计所规定的三种基本控制结构是A输入、处理、输出 B树形、网形、环形C顺序、选择、循环 D主程序、子程序、函数(3)结构化程序设计的一种基本方法是A筛选法 B递归法 C归纳法 D逐步求精法(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是A选择 B投影 C连接 D并
二、填空题1.对于输入为N个数进行快速排序算法的平均时间复杂度是( )2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是( )3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试( ) 4.关系型数据库管理系统中存储与管理数据的基本形式是( ) C语言程序设计
一、选择题
(1)以下程序的输入结果是main{ inti=010j=10k=x10; printf%d%d%dijk;}A81016B81010C101010D101016
(2)指针s所指字符串的长度 char*s=NameAddress;A说法不合法B19C18D15
(3)C语言中最简单的数据类型包括A整型、实型、逻辑型B整型、实型、字符型C整型、字符型、逻辑型D整型、实型、逻辑型、字符型
(4)为表示关系x大于等于y大于等于z应使用C语言表达式A(x=YY=zBx=YANDy=zCx=Y=zDx=YY=z
(5)下列对C语言字符数组的描述中错误的是A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D不可以用关系运算符对字符数组中的字符串进行比较
(6)以下说法中正确的是AC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main()函数中定义CC语言程序总是从main函数开始执行DC语言程序中的main函数必须放在程序的开始部分
(7)以下程序段的输出结果是intx=3;do{ printf%3dx-=2;}while!--x;A1B30C1-2D死循环
(8)设有如下定义char*aa
[2]={abcdABCD};则以下说法中正确的是Aaa数组元素的值分别是abcd和ABCDBaa是指针变量,它指向含有两个数组元素的字符型一维数组Caa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址Daa数组的两个元素中各自存放了字符a和A的地址
(9)设有以下定义inta
[4]
[3]={123456789101112};int*prt
[3]=a*p=a
[0];则下列能够正确表示数组元素a
[1]
[2]的表达式是A*((*prt+1
[2]B**p+5C*prt+1+2D**a+1+2
(10)以下程序的输出结果是futint**sintp
[2]
[3]{**s=p
[1]
[1];}main{ inta
[2]
[3]={1357911}*P; p=int*mallocsizeofint; futpa; print%*p;}A1B7C9D11
二、填空题
(1)表示条件10
(2)下列程序的输出结果是()#includemain{ charb[]=ABCDEFG; char*chp=b
[7]; while--chpb
[0] putchar*chp; putchar;}
(3)下列程序的输出结果是( ) intastintxintYint*cpint*dp{ *cp=x+y; *dp=x-y;}main{ intabcd; a=4;b=3; astabcd; print%d%dncd;}
(4)阅读程序 main{ charstr1[]=howdoyoudostr2
[10]; char*p1=str1*p2=str2; scanf%sp2; printf%sp2; printf%sp1;}运行上面的程序,输入字符串HOWDOYOUDO则程序的输出结果是()
(5)以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志请填空#includemain{ FILE*fp; charchfname
[10]; printfInputthenameoffile; getsfname; getsfname; iffp=
[5]==NULL { printfCannotopen;exit0;} printfEnterdata; whilech=getchar!=# fputc
[6]fp; fclosefp;}
三、上机操作题
1.改错题下列给定程序中,函数fun的功能是逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串例如若a中的字符串为aBCDeFgHb中的字符串为ABcd则c中的字符串应为aBcdeFgH.请改正程序中的错误,使它能得到正确结果,注意不要改动main函数,不得增行或删行,也不得更改程序的结构试题程序#include#includevoidfunchar*pchar*qchar*c{ intk=1; while*p!=*q { if*p!*qc[k]=*q; elsec[k]=*p; if*pp++; if*qq++; k++; }}main{ chara
[10]=aBCDeFfHb
[10]=ABcdc
[80]={0}; funabc; printfThestringa:;putsa; ptintfThestringb:;putsb; printfTheresult:;putsc;
2.编程题请编写函数fun它的功能是求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数注意部分源程序给出如下请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句试题程序#includeconio.h#includestdio.hvoidfunint*aint*n{}main{ intaa
[1000]nk; clrscr; funaan; fork=0;k ifk+1%10==0printf; elseprintf%5daa[k];}二级(C语言程序设计)样题参考答案
一、选择题
(1)D2C3D4B
二、填空题1
[1]ONlog2N2
[2]功能模型3
[3]软件外部功能4
[4]二维表C语言程序设计
一、选择题(1A2D3B4A5C6C7C8D9D10C
二、填空题
(1)
[1](x10x100//x0或10或x0//x10x100或0x//10并且括号有无都可以)
(2)
[2]GFEDCB
(3)
[3]71
(4)
[4]HOWhowdoyoudo说明HOW和how之间有无空格均可)
(5)
[5]fopenfnamew说明w内以w开头的字符串均可)
[6]ch
(1)已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG正确答案: B
(2)树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少2正确答案: A
(3)如果进栈序列为e1e2e3e4,则可能的出栈序列是A)e3e1e4e2B)e2e4e3e1C)e3e4e1e2D)任意顺序正确答案: B
(4)在设计程序时,应采纳的原则之一是正确答案: DA)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解
(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分正确答案: D
一、选择题
(1)下列数据结构中,按先进后出原则组织数据的是A)线性链表 B)栈C)循环链表 D)顺序表正确答案: B
(2)具有3个结点的二叉树有A)2种形态 B)4种形态C)7种形态 D)5种形态正确答案: D
(3)设有下列二叉树对此二叉树前序遍历的结果为A)ZBTYCPXA B)ATBZXCYPC)ZBTACYXP D)ATBZXCPY正确答案: B
(4)结构化程序设计主要强调的是正确答案: DA)程序的规模 B)程序的效率C)程序设计语言的先进性 D)程序易读性
(5)程序的3种基本控制结构是A)过程、子过程和分程序 B)顺序、选择和重复C)递归、堆栈和队列 D)调用、返回和转移正确答案: B
(6)下列叙述中,不属于测试的特征的是A)测试的挑剔性 B)完全测试的不可能性C)测试的可靠性 D)测试的经济性正确答案: C
(7)需求分析中开发人员要从用户那里了解A)软件做什么 B)用户使用界面C)输入的信息 D)软件的规模正确答案: A
(8)下列关系模型中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是A)选择 B)连接C)投影 D)并正确答案: B
(9)下列叙述中,正确的是A)用E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系B)用E-R图只能表示实体集之间一对一的联系C)用E-R图只能表示实体集之间一对多的联系D)用E-R图表示的概念数据模型只能转换为关系数据模型正确答案: C
(10)年龄在18~25之间这种约束是属于数据库当中的A)原子性措施 B)一致性措施C)完整性措施 D)安全性措施正确答案: C
(11)以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: C
(12)算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是A)有零个输入或多个输入B)高效性C)有穷性D)确定性正确答案: B
(13)已知inta=6;则执行a+=a-=a*a;语句后,a的值为A)36B)0C)-24D)-60正确答案: D
(14)下面各选项中,均是C语言标识符的选项组是A)forchinatoB)long_123short56_doC)voidunion_342D)text.txt_023_3ew正确答案: B
(15)下列表达式中,结果为5的是A)6*5%6B)5*-2+15C)5+75%10D)6+-2/3正确答案: B
(16)下列常量中,为不合法的实型常量表示的是A).0032B)
0.0C)
0.3242E8D).E3正确答案: D
(17)关于C语言的主函数描述正确的是A)C程序可以有多个main函数B)C程序必有一个而且只能有一个main函数C)C程序可以没有main函数D)C程序的执行不一定在main函数开始执行正确答案: B
(18)已知inta=1b=-1;则语句printf(%d\n(a--++b));的输出结果是A)-1B)0C)1D)语句错误正确答案: B
(19)已知intab;doublec;则以下语句中错误的函数调用是A)scanf(%d%x%lfabc);B)scanf(%d%d%leabc);C)scanf(%o%x%oab);D)scanf(%d%o%eabc);正确答案: D
(20)已知xyz均为整型变量,且值均为1,则执行语句++x||++y++z;后,表达式x+y的值为正确答案: CA)1B)2C)3D)4
(30)阅读下面程序,则程序执行后的结果为#includestdio.hmain(){inta=4b=6c=7;doubledfun(intintint);d=fun(abc);printf(%lf\nd);}doublefun(intaintbintc){doubles;s=a%b*c;returns;}A)27B)
27.000000C)28D)
28.000000正确答案: D
(31)下列不合法的指针变量的定义是A)int*_k;B)char*_245;C)int*p;D)double*5_is正确答案: D
(32)下列关于指针变量赋空值的说法错误的是A)当赋空值的时候,变量指向地址为0的存储单元B)赋值语句可以表达为变量名=′\0′;C)赋值语句可以表达为变量名=0;D)一个指针变量可以被赋空值正确答案: A
(33)阅读下面程序,则执行后输出的结果为#includestdio.hvoidfun(int*aint*b){intm;m=(*a+*b)*(*a+*b);m+=(*a-*b)*(*a-*b);printf(%d\nm);}main(){inta=5b=6*x=a*y=b; fun(xy);}A)120B)121C)122D)123正确答案: C
(34)阅读下面程序,则输出结果是#includestdio.hvoidfun(int*aint*b){intc=20d=25;*a=c/3;*b=d/5;}main(){inta=3b=5;fun(ab);printf(%d%d\nab);}A)65B)56C)2025D)35正确答案: A
(35)以下对一维数组c进行正确的定义初始化的语句是A)intc[10]=0;B)intc[10]={0}*10;C)intc[1]={0000000};D)intc[10]={0};正确答案: D
(36)以下二维数组c的定义形式是A)intc[3][]B)floatc[34]C)doublec[3][4]D)floatc
(3)
(4)正确答案: C
(37)阅读下列程序,则执行后输出的结果是#includestdio.hintk=1;main(){fun(k);printf(%d\nk);}fun(intk){k++; k=k*6;}正确答案: AA)1B)2C)6D)12
(38)已知#defineM2;的宏定义,执行语句k=M*5;后,k的值是A)10B)5C)2D)以上答案都不对正确答案: D
(39)已知intc[3][4];则对数组元素引用正确的是A)c[1][4]B)c[
1.5][0]C)c[1+0][0]D)以上表达都错误正确答案: C
(40)现有如下程序段#includestdio.hvoidfun(int*aint*bint*c){*c=*a+*b;}main(){inta[2]={1223}c;fun(aa+1c);printf(%d\nc);}则程序的输出结果为A)23B)12C)0D)35正确答案: D
(41)若有以下语句,则正确的描述是chara[]=toyou;charb[]={′t′′o′′y′′o′′u′};A)a数组和b数组的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)a数组等价于b数组正确答案: C
(42)已知chara[15]b[15]={Ilovechina};则在程序中能将字符串Ilovechina赋给数组a的正确语句是A)a=Ilovechina;B)strcpy(ba);C)a=b;D)strcpy(ab);正确答案: D
(44)阅读下面程序,则执行后的结果为#includestdio.hmain(){ char*str=abcdefghijklmnopq; while(*str++!=′e′); printf(%c\n*str);}A)fB)aC)eD)q正确答案: A
(45)现有如下程序段#includestdio.hintfun(intkint*m){if(k%3)*m=k*k;else*m=k/3;}main(){int(*p)(intint*)m; p=fun; (*p)(78m); printf(%d\nm);}则程序段的输出结果为A)24B)25C)26D)27正确答案: C
(46)阅读下列程序,则执行后的输出结果为#includestdio.hfun(intx){if(x/20)fun(x/2);printf(%dx%2);}main(){fun
(20);putchar(′\n′);}A)11100B)10100C)10101D)10110正确答案: B
(47)阅读如下程序段,则执行后程序的输出结果是#includestdio.hmain(){structa{intx;inty;}num[2]={{205}{67}};printf(%d\nnum[0].x/num[0].y*num[1].y);}A)0B)28C)20D)5正确答案: B
(48)阅读程序段,则执行后的输出结果为#includestdio.htypedefunion{longx[2];inty[4];charz[8];}atx;typedefstructaa{longx[2];inty[4];charz[8];}stx;main(){printf(union=%dstructaa=%d\nsizeof(atx)sizeof(stx));}A)union=8structaa=8B)union=8structaa=24C)union=24structaa=8D)union=24structaa=24正确答案: B
(49)阅读下列程序段#includestdio.htypedefstructaa{inta; structaa*next;}M;voidset(M*kintiint*b){intjd=0; for(j=1;ji;j++){ k[j-1].next=k[j];k[j-1].a=b[d++];}k[j].a=b[d];}main(){Mk[5]*p;intd[5]={2334455667};set(k5d);p=k+1;printf(%d\ntable);}则下面的表达式在table处,能使程序执行后,打印输出数据45的是A)p-next-aB)++p-aC)(*p).a++D)p++-a正确答案: A
(50)阅读下面程序,程序实现的功能是(a
123.txt在当前盘符下已经存在)#includestdio.hvoidmain(){FILE*fp;inta[10]*p=a;fp=fopen(a
123.txtw);while(strlen(gets(p))0){fputs(afp);fputs(\nfp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a
123.txt中B)从键盘输入若干行字符,取前2行写入文本文件a
123.txt中C)从键盘输入若干行字符,第一行写入文本文件a
123.txt中D)从键盘输入若干行字符,依次写入文本文件a
123.txt中正确答案: D
二、填空题
(1)排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【1】和选择排序等正确答案:
1.交换排序
(2)当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算这种情况称为【2】正确答案:
1.上溢
(3)【3】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开正确答案:
1.封装
(4)为了便于对照检查,测试用例应由输入数据和预期的【4】两部分组成正确答案:
1.输出结果
(5)【5】是从二维表列的方向进行的运算正确答案:
1.关系运算
(6)定义inta=5b=20;若执行语句printf(%d\n++a*--b/5%13);后,输出的结果为【6】正确答案:
1.9
(7)执行程序时的输入为123456789,则程序的运行结果为【7】#includestdio.hmain(){ intab; scanf(%2d%*2d%1dab); printf(%d\na-b);}正确答案:
1.7
(8)阅读下面程序,则在执行时候的输出为【8】 #includestdio.hmain(){intx=1y=2z=0;if(x=2)z=xx=yy=z;printf(%d%d\nxy);}正确答案:
1.22
(9)语句printf(%d\n′H′-′0′+64);的执行结果为【9】正确答案:
1.88
(10)阅读下面程序,则程序的执行结果为【10】#includestdio.hmain(){inta=10; fun(a); printf(%d\na);}fun(intx){x=50;}正确答案:
1.10
(11)以下程序的输出结果是【11】intfun(intxintyint*pint*q){*p=x*y; *q=x/y;}main(){intabcd;a=4;b=3;fun(abcd);printf(%d%d\ncd);}正确答案:
1.121
(12)下面程序是求出数组arr的两条对角线上元素之和,请填空#includestdio.hmain(){intarr[3][3]={234832798}a=0b=0ij;for(i=0;i3;i++) for(j=0;j3;j++)if(【12】)a=a+arr[i][j];for(i=0;i3;i++)for(【13】;j=0;j--)if(【14】)b=b+arr[i][j];printf(%d%d\nab);}正确答案:
1.i==j
2.j=
23.i+j==2
(13)下面程序的功能是对字符串从小到大进行排序并输出,请填空#includestring.h#includestdio.hsort(char*a[]intn){intij;char*p;for(j=1;j=n-1;j++)for(i=0;【15】;i++)if(【16】0){p=a[i];a[i]=a[i+1];a[i+1]=p;}}main(){inti;char*book[]={itismeitisyouhowareyoufinegoodnightgoodbye};sort(【17】);for(i=0;i6;i++)printf(%s\nbook[i]);}正确答案:
1.in-j
2.strcmpa[i]a[i+1])
3.book6
(14)下面的函数是完成1~n的累加,完成函数a(intk){if(k=0)printf(error\n);if(k==1)【18】;else【19】;}正确答案:
1.return
12.returnak-1+k
(15)阅读下列程序,则程序实现的功能是【20】#includestdio.hstructnode{chardata; structnode*next;}*head;fun(structnode*q){if(head==NULL){q-next=NULL;head=q;}else{q-next=head;head=q;}}main(){charch;structnode*p;head=NULL;while((ch=getchar())!=′\n′){p=(structnode*)malloc(sizeof(structnode));p-data=ch;fun(p);}p=head;while(p!=NULL){printf(%cp-data);p=p-next;}}正确答案:
1.从键盘输入一行字符串,调用函数建立反序的链表,然后输出整个链表
(1)最简单的交换排序方法是A)快速排序 B)选择排序C)堆排序 D)冒泡排序正确答案: D
(2)栈通常采用的两种存储结构是A)线性存储结构和链表存储结构B)散列方式和索引方式C)链表存储结构和数组D)线性存储结构和非线性存储结构正确答案: A
(3)线性表的顺序存储结构和线性表的链式存储结构分别是A)顺序存取的存储结构、顺序存取的存储结构B)随机存取的存储结构、顺序存取的存储结构C)随机存取的存储结构、随机存取的存储结构D)任意存取的存储结构、任意存取的存储结构正确答案: B
(4)完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是A)黑箱测试法 B)白箱测试法C)错误推测法 D)安装测试法正确答案: A
(5)在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示A)模块之间的调用关系 B)程序的组成成分C)控制程序的执行顺序 D)数据的流向正确答案: A
(6)下列选项中,不属于模块间耦合的是A)数据耦合 B)同构耦合C)异构耦合 D)公用耦合正确答案: C
(7)一个关系中属性个数为1时,称此关系为A)对应关系 B)单一关系C)一元关系 D)二元关系正确答案: C
(8)为用户与数据库系统提供接口的语言是A)高级语言 B)数据描述语言(DDL)C)数据操纵语言(DML) D)汇编语言正确答案: C
(9)相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和A)可重用性差 B)安全性差C)非持久性 D)冗余性正确答案: D
(10)需求分析阶段的任务是确定A)软件开发方法 B)软件开发工具C)软件开发费用 D)软件系统功能正确答案: D。