




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试二级C语言 真题讲解 一 选择题 下列叙述中正确的是 A 循环队列是队列的一种顺序存储结构B 循环队列是队列的一种链式存储结构C 循环队列是非线性结构D 循环队列是一直逻辑结构 A为了充分利用存储空间 可以把顺序队列看成一个环状空间 即把顺序队列的头尾指针相连 这样的队列称之为循环队列 是对顺序队列的改进 故循环队列是队列的一种顺序存储结构 3 下列叙述中正确的是A 栈是一种先进先出的线性表B 队列是一种后进先出的线性表C 栈和队列都是非线性结构D 以上三种说法都不对 栈是一种后进先出的线性表队列是一种先进先出的线性表 二者均是线性结构 答案为选项D 一棵二叉树共有25个节点 其中5个是子节点 那么度为1的节点数为A 4B 6C 10D 16 二叉树的性质3 度为0的结点数 即叶子结点数 度为2的结点数 1 题中叶子结点数为5个 利用性质3可计算出度为2的结点数为4个 二叉树只有三种结点 度为0的 度为1的 度为2的 总数为25个 所以度为1的结点数即为25 5 4 16个 所以为D 在下列模式中 能够给出数据库物理存储结构与物理存取方法的是A 内模式B 外模式C 概念模式D 逻辑模式 内模式也称存储模式 它是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式对应于物理级 它是数据库中全体数据的内部表示或底层描述 是数据库最低一级的逻辑描述 选项A正确 在一个关系中 候选关键字可以有多个且在任何关系中至少有一个关键字 所以在满足数据完整性约束的条件下 一个关系应该有一个或多个候选关键字 选项D正确 在满足实体完整性约束的条件下一个关系中可以没有候选关键词一个关系中只能有一个候选关键词一个关系中必须有多个候选关键词一个关系中应该有一个或者多个候选关键词 R和S的差是由属于R但不属于S的元组组成的集合根据本题关系R和关系S运算前后的变化 可以看出此处进行的是关系运算的差运算 有三个关系R S和T如下 软件生命周期 提出 实现 使用 维护到停止使用 退役 软件生命周期三个阶段 软件定义 软件开发及软件运行维护软件生命周期的主要活动阶段是可行性研究与计划制定 需求分析 软件设计 软件实现 软件测试 运行和维护 软件生命周期不包括市场调研 软件生命周期中的活动不包括A 软件维护B 市场调研C 软件测试D 需求分析 需求分析是对待开发软件提出的需求进行分析并给出详细的定义 主要工作是编写软件需求规格说明书及用户手册 需求分析的任务是导出目标系统的逻辑模型 解决 做什么 的问题 制定软件集成测试计划是软件设计阶段需要完成的任务 下面不属于需求分析阶段任务的是A 确定软件系统的功能需求B 确定软件系统的系统的系能需求B 制定软件集成测试计划D 需求规格说明书审评 黑盒测试 功能测试或数据驱动测试测试着眼于程序外部结构 不考虑内部逻辑结构主要针对软件界面和软件功能进行测试 在黑盒测试方式中 设计测试用例的主要根据是A 程序外部功能B 程序内部逻辑C 程序数据结构D 程序流程图 软件设计包括概要设计和详细设计软件详细设计 程序流程图 PDF 和PAD 问题分析图 是过程设计的常用工具数据流图 DFD图 是软件定义阶段结构化分析方法常用的工具 在软件设计中不使用的工具是A 系统结构图B 程序流程图C PAD图D 数据流图 DFD图 简单程序设计的步骤 首先要确定算法和数据结构然后编码 调试最后整理相关文档 针对简单程序设计 以下叙述的实施步骤正确的是A 确定算法和数据结构 编码 调试 整理文档B 编码 确定算法和数据结构 调试 整理文档C 整理文档 确定算法和数据结构 编码 调试D 确定算法和数据结构 调试 编码 整理文档 实型数据在内存中存储的二进制位数是有限的例如float型数据在内存中有24位二进制尾数而一个十进制实数转化为二进制实数时 其有效数字位数有可能会超过尾数的存储长度 从而导致有效数字丢失而产生误差 关于C语言中数的表示 以下叙述正确的是A 只有整型数在允许范围内能精确无误的表示 实型数会有误差B 只要在在允许范围内整型和实型都能精确表示C 只有实型数在允许范围内能精确无误的表示 整型数会有误差D 只有八进制表示的数在不会有误差 一个正确的算法可以有零个或者多个输入 必须有一个或者多个输出 以下关于算法叙述错误的是A 算法可以用伪代码 流程图等多种形式来描述B 一个正确的算法必须有输入C 一个正确的算法必须有输出D 用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码 一个C程序有且只有一个主函数main 一个C程序可以包含多个不同名字的子函数C程序在书写时没有严格的缩进要求 以下叙述错误的是A 一个C程序可以包含多个不同名的函数B 一个C程序只能有一个主函数C C程序在书写时 有严格的缩进要求 否则不能编译通过D C程序的主函数必须用main作为函数名 在输入格式中定义好了 c c 其中没有任何符号 所以中间不能加任何字符 包含不能加逗号 回车和空格 因为这些也算是字符 设有以下语句Charch1 ch2 scanf c c 若要为变量ch1和ch2分别输入字符A和B 正确的输入形式应该是A A和B之间用逗号间隔B A和B之间不能有任何间隔符C A和B之间可以用回车间隔D A和B之间用空格间隔 转义字符 即反斜杠加数字或字母的形式 例如 n 是换行符 转义字符本身就是一个字符 C的 X后面是十六进制数数字不需要以0开头的 以0开头了 0所代表的意义是指八进制 例如01 是指八进制的1 八进制里是没有数字8和9的 所以09是错误的 同理 D项的019错了C以x开头代表了xff这个数是16进制 16进制里是有f的 数值上等于十进制里的15数字前什么都不加 例如A和B项 C语言默认为十进制 以下选项中非法的字符常量是A 102 B 65 C xff D 019 1 首先执行a a 5 即a a a 5 使得a的值为52 执行c a a 5 即将a的值5赋给变量c使得c的值也为5 3 执行下句逗号表达式中的a b 把b的值0赋给a 此时a的值为04 执行b b 4 使得b的值为4 最后输出 有以下程序 includeMain IntA 0 B 0 C 0 C A A 5 A B B 4 Printf d d d n A B C 程序运行后输出的结果是A0 4 5B4 4 5C4 4 4D0 0 0 x表示先将x值加1后再用 x 表示先使用x值 用后加1 所以本题中ABC选项都会输出x 1的值 只有D选项会输出x值 设变量均已正确定义并且赋值 以下与其他三组输出结构不同的一组语句是A x printf d n x B n x printf d n n C x printf d n x D n x printf d n n C语言中非0的值表示真 0表示假 以下选项中 能表示逻辑值 假 的是A1B0 000001C0D100 0 判断条件中if a 9 是先用后加 即a的值为9 所以条件不成立 但是a已经进行了自增1操作 a的值此时为10 执行else语句时 打印a 是先用后减 所以先输出10 然后a的值变为9 有以下程序 includeMain inta Scanf d 程序运行时键盘输入9 则输出的结构是A 10B11C9D8 case分支后面如果没有break 那么就会顺序执行下面的case 直到遇到break跳出 第一次循环后s的值为3 第二次s的值为 s s 3 s s 4 即为10 第三次没有匹配成功直接执行default语句 s s 4 所以s的值为14 有以下程序 includeMain ints 0 n For n 0 n 3 n switch s case0 Case1 s 1 Case2 s 2 break Case3 s 3 Case4 s 4 printf d n s 程序运行后的结果是A1 2 4B1 3 6C3 10 14D3 6 10 本题中k初始值为 1 执行一次循环体 执行完后k值为0 不满足k 0条件 推出循环 所以执行了一次 若k是int类型变量 且有以下for语句For k 1 k 0 k printf n 下面关于语句执行情况的叙述中正确的是A 循环体执行一次B 循环体执行两次C 循环体一次也不执行D 构成无限循环 第一次循环a的值为0 a 2也为0 条件不满足所以打印的是 c a 即变量c的值 A 第二次a的值为1 条件a 2的值为1 条件满足打印字符 b a 即字符 2 第三次a的值为2 条件不满足 打印 a c 即字符 C 同理打印后续字符为 4E6 有以下程序 includeMain charA B C B 1 C A For A 0 A 6 A if A 2 putchar B A Elseputchar C A 程序运行后输出的结果是A1B3D5FBABCDFECA2C4E6D123456 数组和指针的概念本题中 k指向数组m的首地址 k 2 现将指针后移两个元素 即为m 2 的首地址 然后取出m 2 的值6 所以选择A选项 选项B的值是一个地址无意义 选项C的值为4 选项D使得m 0 的值为4 设有如下定义语句Intm 2 4 6 8 k m 以下选项中 表达式的值为6的是A k 2 Bk 2C k 2D k 2 指针的概念和应用数组名本身就是地址 所以不需要用 符号 C选项不能对所有元素赋值而是反复再给一个数值赋值且是死循环 D fun函数的功能是 通过键盘输入给x所指的整型数组所有元素赋值 在下列划线处应该填写的是 include defineN5Viodfun intx N intm For m N 1 m 0 m scanf d n A x m B x m 1 Cx m Dx m 选项A中a p1 m 表示方式不正确 未能正确表示出含义 有以下程序 includeMain inta b k m p1 p2 k 1 m 8 p1 指针数组的概念D选项中str为二维字符数组 不能够直接把一个字符串赋值到二维数组的某一行中 以下选项中有语法错误的是Achar str guest B charstr 10 guest C char str 3 str 1 guest D charstr 3 10 str 1 guest 函数声明基本用法C选项中函数的第一形参没有指名是数组 代表的是一个整型数 声明不正确 avg函数的功能是求整型数组中的前若干个元素的平均值 设数组元素个数最多不超过10 则下列函数说明语句错误的是A intavg int a intn B intavg inta 10 intn C intavg inta intn D intavg inta intn 转义字符的用法strlen函数的作用是求得字符串长度 n与 1均是反义字符各表示一个字符所以打印值为8 有以下函数 include includemain printf d n strren ATS n012 1 程序运行后的输出结果是A3B8C4D9 scanf和gets输入字符串的区别scanf语句接收字符时遇到空格就作为一个字符串的结束 所以a数组中为this b数组中为is但是getchar函数见到回车才认为结束所以c数组为acat 所以打印结果如选项C 有以下函数 includemain chara 20 b 20 c 20 scanf s s a b get c printf s s n a b c 程序运行时从第一行开始输入thisisacat 则输出结果是Athisisacat BthisisaCthisisacat Dthisisacat 函数的嵌套调用当运行fun z 调用fun y 然后嵌套调用fun x 输出结果为先输出x 然后输出y 最后输出z 有以下函数 includeviodfun charc if c x fun c 1 printf c c main fun z 程序运行输出结果是AxyzBwxyzCzyxwDzyx for循环函数调用执行fun 3 是输出 然后输出 执行fun 4 时输出 然后输出 所以选项D 正确 有以下函数 includeviodfunc intn inti for i 0 i n i printf printf main func 3 printf func 4 printf n 程序运行输出结果是A B C D 静态局部变量 静态局部变量属于静态存储方式 它具有以下特点 1 静态局部变量在函数内定义 它的生存期为整个源程序 2 静态局部变量只能在定义该变量的函数内使用该变量 退出该函数后 尽管该变量还继续存在 但不能使用它 有以下函数 includeviodfun int s staicintj 0 do s j s j s j 1 wihle j 2 main intk a 10 1 2 3 4 5 for K 1 k 3 k fun a for K 1 k 5 k printf d a k printf n 程序运行输出结果是A12345B23445C34756D35745 3 允许对构造类静态局部量赋初值 若未赋以初值 则由系统自动赋以0值 4 根据静态局部变量的特点 它是一种生存期为整个源文件的量 虽然离开定义它的函数后不能使用 但如再次调用定义它的函数时 它又可继续使用 而且保存了前次被调用后留下的值 有以下函数 includeviodfun int s staicintj 0 do s j s j s j 1 wihle j 2 main intk a 10 1 2 3 4 5 for K 1 k 3 k fun a for K 1 k 5 k printf d a k printf n 程序运行输出结果是A12345B23445C34756D35745 根据这个特点 函数第一次调用时 会将数组a变为35345 当第二次调用时 函数内的j值为2 所以会将数组a的第三个元素更改为7 所以最终结果为35745 选项D 正确 有以下函数 includeviodfun int s staicintj 0 do s j s j s j 1 wihle j 2 main intk a 10 1 2 3 4 5 for K 1 k 3 k fun a for K 1 k 5 k printf d a k printf n 程序运行输出结果是A12345B23445C34756D35745 宏定义的使用根据该宏的定义 S k j k j k j 2 39 S k j k j k j 2 11 所以答案为39 11B 有以下函数 include defineS x x x 2main intk 5 j 2 printf d S k j printf d n S k j 程序运行输出结果是A98 18B39 11C39 18D98 11 结构体的用法 在引用结构体中的成员变量时 可以使用 来引用 当指针指向结构体时 可以使用 来指向结构体的成员 C选项引用错误 设有以下程序段StructMP3 charname 20 Charcolor Floatprice std ptr ptr 若要引用结构体变量std中的color成员 写法错误的是Astd colorBptr colorCstd colorD ptr color 结构体的用法 结构体数组存储了三个人的信息 x 2代表了指向第三个元素 所以输出name为Zhao 有以下函数 includestructstu intmun charname 10 intage viodfun structstu p printf s n p name mian structstux 3 01 zhang 20 02 wang 19 03 zhao 18 fun x 2 程序运行输出结果是AzhangBzhaoCwangD19 移位操作执行c a 2 1语句时 首先是a左移两位 其等效于将a乘以4 得到48 然后将48左移一位 相当于是乘以2 所以结果为c 96 选项D正确 有以下函数 includemian inta 12 c c a 2 1 printf d n c 程序运行输出结果是A3B50C2D96 文件的操作函数ftell 用于得到文件位置指针当前位置相对于文件首的偏移字节数 在随机方式存取文件时 由于文件位置频繁的前后移动 程序不容易确定文件的当前位置 调用函数ftell 就能非常容易地确定文件的当前位置 不能写入数据 其他三个选项都可以向文件中写入 以下函数不能用于向文件写入数据的是AftellBfwriteCfputcDfprintf fwrite是写入用的函数 向文件写入一个数据块 fputc把一个字符写入指定的文件中 fprintf传送格式化输出到一个文件中 可用于打印机输出 二 填空题 在顺序表中删除一个元素 最坏情况是删除第一个元素 后面的 n 1 个元素均要向前移动 所以此处填n 1 1 将长度为n的顺序存储在线性表中删除一个元素 最坏情况下需要移动表中的元素个数为 可知此循环队列共30个空间 另外队尾指针rear的值小于队头指针front的值 所以利用公式可知此循环队列的元素个数为29 当rearfront时 元素个数 rear front 设循环队列的存储空间为Q 1 3 初始状态为front rear 30 现经过一系列入队与退队运算后 front 16 rear 15 则循环队列中有 个元素 数据操纵语言DML DataManipulationLanguage 用户通过它可以实现对数据库的基本操作 例如 对表中数据的查询 插入 删除和修改 在DML中 应用程序可以对数据库作插 删 改 排 检等五种操作 数据库管理系统提供的数据语言中 负责数据的增 删 改和查询的是 实体与联系都可以表示成关系 在将E R图转换到关系模式时 实体和联系都可以表示成 面向对象方法是一种基于对象模型的程序设计方法 包括面向对象分析 面向对象设计 面向对象编程 是目前应用范围最广的设计方法 其中对象模型包括六个要素 封装 抽象 模块化 层次结构 类 并发性 面向对象方法的主要特征是封装 继承和多态性 所以此空应填面向对象方法 常见的软件工程方法有结构化方法和面向对象方法 类 继承以及多态性等概念属于 scanf 函数是格式化输入函数 它从标准输入设备 键盘 读取输入的信息 其调用格式为 scanf scanf a d b d a b 中a d b d之间有逗号 在输入数据时也要加逗号 如果去掉逗号 输入时就不用逗号 而用空格 tab键或回车键将各个数据隔开 a 1 b 2 设变量a和b已定义为int类型 若要通过scanf a d b d 语句分别给a和b输入1和2 则正确的数据输入内容是 a a 9 其中a 9等价于a a 9 结果为1 所以a a 9等价于a a 1 答案为2 以下程序的输出结果是 includemian inta 37 a a 9 printf d n a a b若a b都为假 则a b为假 其他都为真如果a为真时 则对b不进行真假所以对于c a b 因为a 时为真 b 不进行判断 b的值保持不变 b 2 设a b c都是整型变量 如果a的值为1 b的值为2 则执行c a b 语句后 变量b的值是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年海上风能资源评估技术及深远海风电项目布局策略报告
- 2025年电商绿色物流与物流人才培养报告
- 解析卷-人教版(五四制)6年级数学下册期末试题附参考答案详解(精练)
- 2025至2030年中国办公系统自动化行业发展趋势预测及投资战略咨询报告
- 2025至2030年中国房地产厨卫行业运行态势及未来发展趋势预测报告
- 押题宝典高校教师资格证之《高等教育法规》考试题库带答案详解(a卷)
- 2025年度肉类产品线上线下销售渠道合作协议范本
- 2025版高效节能清包工施工合同文本
- 2025年度环保设备集中采购框架协议范本
- 2025年能源设备采购合同书范本
- Q-CSG1211016-2025 光伏发电站接入电网技术规范
- 《劳动争议处理实务教程》课件(1)章节
- JG/T 162-2009住宅远传抄表系统
- 人工智能与无人机课件
- 5步打造孩子内驱力
- 物业管理项目可行性分析报告(模板参考范文)
- 贷款中介代办协议书
- 认知铁路中间站和区段站铁道概论37课件
- 骨牵引护理课件
- 智能垃圾分类与回收机器人企业制定与实施新质生产力战略研究报告
- 九年级培优班家长会课件
评论
0/150
提交评论