计算机二级C语言题库

上传人:xgs****56 文档编号:10524290 上传时间:2020-04-12 格式:DOC 页数:213 大小:404.50KB
返回 下载 相关 举报
计算机二级C语言题库_第1页
第1页 / 共213页
计算机二级C语言题库_第2页
第2页 / 共213页
计算机二级C语言题库_第3页
第3页 / 共213页
点击查看更多>>
资源描述
第 1 页 共 213 页 全国计算机等级考试二级 C 语言 题库 全 一 选择题 在下列各题的 A B C D 四个选项中 只有一个选项是正确的 请将正 确的选项涂写在答题卡相应位置上 答在试卷上不得分 1 为了避免流程图在描述程序逻辑时的灵活性 提出了用方框图来代替传统 的程序流程图 通常也把这种图称为 A PAD 图 B N S 图 C 结构图 D 数据流图 2 结构化程序设计主要强调的是 A 程序的规模 B 程序的效率 C 程序设计语言的先进性 D 程序易读性 3 为了使模块尽可能独立 要求 A 模块的内聚程度要尽量高 且各模块间的耦合程度要尽量强 B 模块的内聚程度要尽量高 且各模块间的耦合程度要尽量弱 C 模块的内聚程度要尽量低 且各模块间的耦合程度要尽量弱 D 模块的内聚程度要尽量低 且各模块间的耦合程度要尽量强 4 需求分析阶段的任务是确定 A 软件开发方法 B 软件开发工具 C 软件开发费用 D 软件系统 功能 5 算法的有穷性是指 A 算法程序的运行时间是有限的 B 算法程序所处理的数据量是有限的 C 算法程序的长度是有限的 D 算法只能被有限的用户使用 6 对长度为 n 的线性表排序 在最坏情况下 比较次数不是 n n 1 2 的排序方 法是 A 快速排序 B 冒泡排序 C 直接插入排序 D 堆排序 7 如果进栈序列为 e1 e2 e3 e4 则可能的出栈序列是 A e3 e1 e4 e2 B e2 e4 e3 e1 C e3 e4 e1 e2 D 任意顺序 第 2 页 共 213 页 8 将 E R 图转换到关系模式时 实体与联系都可以表示成 A 属性 B 关系 C 键 D 域 9 有三个关系 R S 和 T 如下 R B C D a 0 k1 b 1 n1 S B C D f 3 h2 a 0 k1 n 2 x1 T B C D a 0 k1 由关系 R 和 S 通过运算得到关系 T 则所使用的运算为 A 并 B 自然连接 C 笛卡尔积 D 交 10 下列有关数据库的描述 正确的是 A 数据处理是将信息转化为数据的过程 B 数据的物理独立性是指当数据的逻辑结构改变时 数据的存储结构不变 C 关系中的每一列称为元组 一个元组就是一个字段 D 如果一个关系中的属性或属性组并非该关系的关键字 但它是另一个关系 的关键字 则称其为本关系的外关键字 11 以下叙述中正确的是 A 用 C 程序实现的算法必须要有输入和输出操作 B 用 C 程序实现的算法可以没有输出但必须要有输入 第 3 页 共 213 页 C 用 C 程序实现的算法可以没有输入但必须要有输出 D 用 C 程序实现的算法可以既没有输入也没有输出 12 下列可用于 C 语言用户标识符的一组是 A void define WORD B a3 3 123 Car C For abc IF Case D 2a DO sizeof 13 以下选项中可作为 C 语言合法常量的是 A 80 B 080 C 8e1 0 D 80 0e 14 若有语句 char line 5 以下叙述中正确的是 A 定义 line 是一个数组 每个数组元素是一个基类型为 char 为指针变量 B 定义 line 是一个指针变量 该变量可以指向一个长度为 5 的字符型数组 C 定义 line 是一个指针数组 语句中的 号称为间址运算符 D 定义 line 是一个指向字符型函数的指针 15 以下定义语句中正确的是 A int a b 0 B char A 65 1 b b C float a 1 b D double a 0 0 b 1 1 16 有以下程序段 char ch int k ch a k 12 printf c d ch ch k printf k d n k 已知字符 a 的 ASCII 码值为 97 则执行上述程序段后输出结果是 A 因变量类型与格式描述符的类型不匹配输出无定值 B 输出项与格式描述符个数不符 输出为零值或不定值 C a 97 12k 12 D a 97 k 12 17 有以下程序 main int i s 1 for i 1 i 2 c a if c a c b printf d d d n a b c 其输出结果是 A 程序段有语法错 B 3 5 3 C 3 5 5 D 3 5 7 20 有以下程序 include main int x 1 y 0 a 0 b 0 switch x case 1 switch y case 0 a break case 1 b break case 2 a b break case 3 a b printf a d b d n a b 第 5 页 共 213 页 程序的运行结果是 A a 1 b 0 B a 2 b 2 C a 1 b 1 D a 2 b 1 21 下列程序的输出结果是 include stdio h main int i a 0 b 0 for i 1 i 10 i if i 2 0 a continue b printf a d b d a b A a 4 b 4 B a 4 b 5 C a 5 b 4 D a 5 b 5 22 已知 int t 0 while t 1 则以下叙述正确的是 A 循环控制表达式的值为 0 B 循环控制表达式的值为 1 C 循环控制表达式不合法 D 以上说法都不对 23 下面程序的输出结果是 main int a 10 1 2 3 4 5 6 7 8 9 10 p a printf d n p 2 A 3 B 4 C 1 D 2 第 6 页 共 213 页 24 以下错误的定义语句是 A int x 3 0 1 1 2 3 B int x 4 3 1 2 3 1 2 3 1 2 3 1 2 3 C int x 4 1 2 3 1 2 3 1 2 3 1 2 3 D int x 3 1 2 3 4 25 有以下程序 void ss char s char t while s if s t s t a A s main char str1 100 abcddfefdbd c d ss str1 c printf s n str1 程序运行后的输出结果是 A ABCDDEFEDBD B abcDDfefDbD C abcAAfefAbA D Abcddfefdbd 26 有如下程序 main char ch 2 5 6937 8254 p 2 int i j s 0 for i 0 i 2 i p i ch i for i 0 i 0 j 2 s 10 s p i j 0 printf d n s 该程序的输出结果是 A 69825 B 63825 C 6385 D 693825 27 有定义语句 char s 10 若要从终端给 s 输入 5 个字符 错误的输入语句 是 A gets B scanf s s 1 C gets s D scanf s s 1 第 7 页 共 213 页 28 以下叙述中错误的是 A 在程序中凡是以 开始的语句行都是预处理命令行 B 预处理命令 行的最后不能以分号表示结束 C define MAX 是合法的宏定义命 令行 D C 程序对预处理命令行的处理是在程序执行的过程中进行的 29 设有以下说明语句 typedef struct int n char ch 8 PER 则下面叙述中正确的是 A PER 是结构体变量名 B PER 是结构体类型名 C typedef struct 是 结构体类型 D struct 是结构体类型名 30 以下叙述中错误的是 A gets 函数用于从终端读入字符串 B getchar 函数用于从磁盘文件读 入字符 C fputs 函数用于把字符串输出到文件 D fwrite 函数用于以二进制形式 输出数据到文件 31 以下能正确定义一维数组的选项是 A int a 5 0 1 2 3 4 5 B char a 0 1 2 3 4 5 0 C char a A B C D int a 5 0123 32 有以下程序 include main char p a b c q 10 a b c printf d d n strlen p strlen q 以下叙述中正确的是 A 在给 p 和 q 数组置初值时 系统会自动添加字符串结束符 故输出的长度 都为 3 B 由于 p 数组中没有字符串结束符 长度不能确定 但 q 数组中字符串长度 第 8 页 共 213 页 为 3 C 由于 q 数组中没有字符串结束符 长度不能确定 但 p 数组中字符串长度 为 3 D 由于 p 和 q 数组中都没有字符串结束符 故长度都不能确定 33 有以下程序 include include void fun char s int n char t int i j for i 0 i n 1 i for j i 1 jstrlen s j t s i s i s j s j t main char ss bcc bbcc xy aaaacc aabcc fun ss 5 printf s s n ss 0 ss 4 程序的运行结果是 A xy aaaacc B aaaacc xy C bcc aabcc D aabcc bcc 34 有以下程序 include int f int x int y if x 0 x 1 return 3 y x x f x 2 return y main int z 第 9 页 共 213 页 z f 3 printf d n z 程序的运行结果是 A 0 B 9 C 6 D 8 35 下面程序段的运行结果是 char str ABC p str printf d n p 3 A 67 B 0 C 字符 C 的地址 D 字符 C 36 若有以下定义 struct link int data struct link next a b c p q 且变量 a 和 b 之间已有如下图所示的链表结构 指针 p 指向变量 a q 指向变量 c 则能够把 c 插入到 a 和 b 之间并形成新的链表 的语句组是 A a next c c next b B p next q q next p next C p next q next p next D p next q q next 37 对于下述程序 在方式串分别采用 wt 和 wb 运行时 两次生成的文件 TEST 的长度分别是 include void main FILE fp fopen TEST fputc A fp fputc n fp fputc B fp fputc n fp fputc C fp fclose fp 第 10 页 共 213 页 A 7 字节 7 字节 B 7 字节 5 字节 C 5 字节 7 字节 D 5 字节 5 字节 38 变量 a 中的数据用二进制表示的形式是 01011101 变量 b 中的数据用二进 制表示的形式是 11110000 若要求将 a 的高 4 位取反 低 4 位不变 所要执行的 运算是 A a b B a b C a static int a 8 8 for i 0 i 3 i for j 0 j 3 j a i j 2 i j for i 0 i 8 i x a i j printf d x A 9 B 不确定值 C 0 D 18 40 下列程序执行后的输出结果是 void func int a int b b 0 a 6 main int a b 5 a 0 b 0 3 func printf d n b 0 A 6 B 7 C 8 D 9 二 填空题 请将每一个空的正确答案写在答题卡序号的横线上 答在试卷上不给分 1 测试的目的是暴露错误 评价程序的可靠性 而 1 的目的是发现错 误的位置并改正错误 第 11 页 共 213 页 2 某二叉树中度为 2 的结点有 18 个 则该二叉树中有 2 个叶子结 点 3 当循环队列非空且队尾指针等于队头指针时 说明循环队列已满 不能进行 入队运算 这种情况称为 3 4 在关系模型中 把数据看成一个二维表 每一个二维表称为一个 4 5 在计算机软件系统的体系结构中 数据库管理系统位于用户和 5 之 间 6 以下程序的输出结果是 6 main char c z printf c c 25 7 阅读下面语句 则程序的执行结果是 7 include stdio h main int a 1 b 1 k if a 0 break printf d n i 9 以下程序的定义语句中 x 1 的初值是 9 程序运行后输出的内容是 10 第 12 页 共 213 页 include main int x 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 p 4 i for i 0 i 4 i p i printf d p i 0 printf n 10 以下程序的输出结果是 11 include void swap int a int b int t t a a b b t main int i 3 j 5 p swap p q printf d d N p q 11 以下程序的输出结果是 12 main char s ABCD p for p s 1 p 2i 0 是指 p i j 中的字符只要不是字符串结束 标志 0 就继续循环 语句 j 2 是使下标 j 每次增加 2 也即一个隔一个地从 p i 所指向的字符串中取出字符 经过上述解析后 不难看出 该程序首先 从 p 0 所指向的字符串 6937 中一个隔一个地取出字符 分别是 6 和 3 然 后从 p 1 所指向的字符串 8254 中一个隔一个地取出字符 分别是 8 和 5 同时经过转换和相加运算后 结果 s 中的值应该是 6385 27 D 解析 在格式输入中 要求给出的是变量的地址 而 D 答案中给出的 第 17 页 共 213 页 s 1 是一个值的表达式 28 D 解析 C 语言中的预处理命令以符号 开头 这些命令是在程序编译 之前进行处理的 选项 D 的描述错误 29 B 解析 本题中 typedef 声明新的类型名 PER 来代替已有的类型名 PER 代表上面指定的一个结构体类型 此时 也可以用 PER 来定义变量 30 B 解析 getchar 函数的作用是从终端读入一个字符 31 B 解析 选项 A 中 定义的初值个数大于数组的长度 选项 C 中 数组 名后少了中括号 选项 D 中 整型数组不能赋予字符串 32 A 解析 在给 p 和 q 数组赋初值时 系统会自动添加字符串结束符 从 题目中可以看出数组 p 和 q 都有 3 个字符 所以长度均为 3 33 A 解析 函数 fun char s int n 的功能是对字符串数组的元素按照 字符串的长度从小到大排序 在主函数中执行 fun ss 5 语句后 ss xy bcc bbcc aabcc aaaacc ss 0 ss 4 的输出结果为 xy aaaacc 34 C 解析 函数 int f int x 是一个递归函数调用 当 x 的值等于 0 或 1 时 函 数值等于 3 其他情况下 y x2 f x 2 所以在主函数中执行语句 z f 3 时 y 3 3 f 3 2 9 f 1 9 3 6 35 B 解析 考查指向字符串的指针变量 在该题中 指针变量 p 指向的 应该是该字符串中的首地址 p 3 指向的是字符串结束标志 0 的地址 因而 p 3 的值为 0 36 D 解析 本题考查链表的数据结构 必须利用指针变量才能实现 即一 个结点中应包含一个指针变量 用它存放下一结点的地址 37 B 解析 以 wt 方式写入的是字符文件 转义字符 n 被看作两个字符 来处理 而 wb 方式写入的是二进制文件 转义字符 n 是一个字符 38 A 解析 本题考查的是位运算的知识 对于任何二进制数 和 1 进行异 或运算会让其取反 而和 0 进行异或运算不会产生任何变化 39 C 解析 本题主要考查的是用二维数组首地址和下标来引用二维数 第 18 页 共 213 页 组元素的方法 通过分析可知 程序中的双重循环定义了一个如下的二维数组 0 1 2 2 3 4 4 5 6 由于数组的下标是从 0 开始的 所以二维数组元素 a i j 表示的是二维数组 a 的 第 i 1 行 第 j 1 列对应位置的元素 40 A 解析 函数的参数不仅可以是整型 实型 字符型等数据 还可以 是指针型 它的作用是将一个变量的地址传递到另一个函数中 当数组名作参 数时 如果形参数组中的各元素的值发生变化 实参数组元素的值也将随之发生变 化 二 选择题 1 1 调试 解析 软件测试的目标是在精心控制的环境下执行程序 以 发现程序中的错误 给出程序可靠性的鉴定 调试也称排错 它是一个与测试既有 联系又有区别的概念 具体来说 测试的目的是暴露错误 评价程序的可靠性 而 调试的目的是发现错误的位置 并改正错误 2 2 19 解析 在任意一棵二叉树中 度为 0 的结点 即叶子结点 总是 比度为 2 的结点多一个 3 3 上溢 解析 入队运算是指在循环队列的队尾加入一个新元素 这个运算有两个基本操作 首先将队尾指针进一 即 rear rear 1 并当 rear m 1 时 置 rear 1 然后将新元素插入队尾指针指向的位置 当循环队列非空 s 1 且队 尾指针等于队头指针时 说明循环队列已满 不能进行入队运算 这种情况称为 上 溢 4 4 关系 解析 在关系模型中 把数据看成一个二维表 每一个二维 表称为一个关系 表中的每一列称为一个属性 相当于记录中的一个数据项 对属 性的命名称为属性名 表中的一行称为一个元组 相当于记录值 5 5 操作系统或 OS 解析 数据库管理系统是数据库的机构 它是一 第 19 页 共 213 页 种系统软件 负责数据库中的数据组织 数据操纵 数据维护 控制及保护和数 据服务 位于用户和操作系统之间 6 6 a 解析 z 的 ASCII 码值为 122 经过 c 25 运算后 得 97 以字符形 式输出是 a 7 7 1 0 解析 与运算两边的语句必须同时为真时 结果才为真 当 执行完 if a 0 B int y 5 0 1 3 5 7 9 C char c1 1 2 3 4 5 D char c2 x10 xa x8 21 下列程序执行后的输出结果是 main int a 3 3 p i p for i 1 i2 1 27 有定义语句 char s 10 若要从终端给 s 输入 5 个字符 错误的输入语句 是 A gets B scanf s s 1 C gets s D scanf s s 1 28 有以下程序 include define N 5 define M N 1 define f x x M main int i1 i2 i1 f 2 i2 f 1 1 printf d d n i1 i2 程序的运行结果是 A 12 12 B 11 7 C 11 11 D 12 7 29 若有以下说明和定义 union dt 第 25 页 共 213 页 int a char b double c data 以下叙述中错误的是 A data 的每个成员起始地址都相同 B 变量 data 所占内存字节数与成 员 c 所占字节数相等 C 程序段 data a 5 printf f n data c 输出结果为 5 000000 D data 可以 作为函数的实参 30 有以下程序 include main FILE fp int k n a 6 1 2 3 4 5 6 fp fopen d2 dat w fprintf fp d d d n a 0 a 1 a 2 fprintf fp d d d n a 3 a 4 a 5 fclose fp fp fopen d2 dat r fscanf fp d d printf d d n k n fclose fp 程序运行后的输出结果是 A 1 2 B 1 4 C 123 4 D 123 456 31 若已定义 int a 0 1 2 3 4 5 6 7 8 9 p a i 其中 则对 a 数组元素不正确的引用是 A a p a B i n1 j n2 while i j t s i s i s j s j t i j 第 26 页 共 213 页 main int a 10 1 2 3 4 5 6 7 8 9 0 k fun a 0 3 fun a 4 9 fun a 0 9 for k 0 k l0 k printf d a k printf n 程序的运行结果是 A 0987654321 B 4321098765 C 5678901234 D 0987651234 33 阅读下列程序 当运行函数时 输入 asd af aa z67 则输出为 include include include int fun char str int i j 0 for i 0 str i 0 i if str i str j str i str j 0 main char str 81 int n printf Input a string gets str puts str fun str printf s n str 第 27 页 共 213 页 A asdafaaz67 B asd af aa z67 C asd D z67 34 有以下程序 int fun int n if n 1 return 1 else return n fun n 1 main int x scanf d x fun x printf d n x 执行程序时 给变量 x 输入 10 程序的输出结果是 A 55 B 54 C 65 D 45 35 下面程序段中 输出 的个数是 char s ta 018bc for s 0 s printf A 9 B 5 C 6 D 7 36 C 语言结构体类型变量在程序运行期间 A TC 环境在内存中仅仅开辟一个存放结构体变量地址的单元 B 所有 的成员一直驻留在内存中 C 只有最开始的成员驻留在内存中 D 部分成员驻留在内存中 37 已知函数的调用形式为 fread buf size count fp 参数 buf 的含义是 A 一个整型变量 代表要读入的数据项总数 B 一个文件指针 指向要读的 文件 C 一个指针 指向要读入数据的 存放地址 D 一个存储区 存放要读的数据项 38 设有以下语句 char x 3 y 6 z z x y 2 第 28 页 共 213 页 则 z 的二进制值是 A 00010100 B 00011011 C 00011100 D 00011000 39 在 C 语言中 只有在使用时才占用内存单元的变量 其存储类型是 A auto 和 register B extern 和 register C auto 和 static D static 和 register 40 设有定义语句 int f int 则以下叙述正确的是 A f 是基类型为 int 的指针变量 B f 是指向函数的指针变量 该函数具有 一个 int 类型的形参 C f 是指向 int 类型一维数组的指针变量 D f 是函数名 该函数的返回值 是基类型为 int 类型的地址 二 填空题 请将每一个空的正确答案写在答题卡序号的横线上 答在试卷上不给分 1 测试用例包括输入值集和 1 值集 2 在树形结构中 树根结点没有 2 3 数据结构分为逻辑结构与存储结构 线性链表属于 3 4 一个项目具有一个项目主管 一个项目主管可管理多个项目 则实体 项目主 管 与实体 项目 的联系属于 4 的联系 5 数据库设计分为以下 6 个设计阶段 需求分析阶段 5 逻辑设 计阶段 物理设计阶段 实施阶段 运行和维护阶段 6 阅读下面程序段 则执行后输出的结果是 6 include stdio h main char fun char int char a A int b 13 a fun a b putchar a char fun char a int b char k 第 29 页 共 213 页 k a b return k 7 函数 fun 的返回值是 7 fun char a char b int num 0 n 0 while a num 0 mm while b n a num b n num n return num 8 以下程序的功能是 删去一维数组中所有相同的数 使之只剩一个 数组中 的数已按由小到大的顺序排列 函数返回删除后数组中数据的个数 例如 若一维数组中的数据是 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后 数组中的内容应该是 2 3 4 5 6 7 8 9 10 请填空 include define N 80 int fun int a int n int i j 1 for i 1 i n i if a j 1 8 a i a j a i 9 main int a N 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 i n 19 printf The original data n for i 0 i n i printf 3d a i 第 30 页 共 213 页 n fun a n printf nThe data after deleted n for i 0 i n i printf 3d a i printf n n 9 以下程序的运行结果是 10 include main int x 1 y 0 a 0 b 0 switch x case 1 switch y case 0 a break case 1 b break case 2 a b break case 3 a b printf a d b d n a b 10 以下程序的输出结果是 11 fun int x int y int z z x x y y main int a 31 fun 6 3 a printf d a 11 函数 my cmp 的功能是比较字符串 s 和 t 的大小 当 s 等于 t 时返回 0 否则返回 s 和 t 的第一个不同字符的 ASCII 码差值 即 s t 时返回正值 s t 第 31 页 共 213 页 时返回负值 请填空 My cmp char s char t while s t if s 0 return0 s t return 12 12 以下程序的输出结果是 13 void reverse int a int n int i t for i 0 i n 2 i t a i a i a n 1 i a n 1 i t main int b 10 1 2 3 4 5 6 7 8 9 10 int i s 0 reverse b 8 for i 6 i 10 i s b i printf d n s 13 以下说明语句中 14 是结构体类型名 typedef struct int n char ch 8 PER 14 以下程序的作用是 从名为 filea dat 的文本文件中逐个读入字符并显示在 屏幕上 请填空 include main FILE fp char ch 第 32 页 共 213 页 fp fopen 15 ch fgetc fp while feof fp putchar ch ch fgetc fp putchar n fclose fp 一 选择题 1 C 解析 程序流程图是人们对解决问题的方法 思路或算法的一种图 形方式的描述 其中 图框表示各种操作的类型 图框中的文字和符号表示操作的 内容 流程线表示操作的先后次序 带箭头的线段在数据流程图中表示数据流 带 箭头的线段在程序流程图中表示控制流 题中给出的选项中 在图元之间用带有 箭头的线段表示图元关系 在模块之间用带有箭头的线段表示调用关系 2 C 解析 软件设计遵循软件工程的基本目标和原则 建立了适用于在软 件设计中应该遵循的基本原理和与软件设计有关的概念 它们具有抽象 模块化 信息隐蔽和数据独立性 自底向上是集成测试中增量测试的一种 3 C 解析 模块之间的耦合程度反映了模块的独立性 也反映了系统分解 后的复杂程度 按照耦合程度从强到弱分别是 内容耦合 公共耦合 外部耦合 控制耦合 标记耦合 数据耦合和非直接耦合 没有异构耦合这种方式 4 D 解析 软件需求规格说明书 SRS Software Requirement Specification 是 需求分析阶段的最后成果 是软件开发中的重要文档之一 它具有以下几个方面 的作用 便于用户 开发人员进行理解和交流 反映出用户问题的结构 可 以作为软件开发工作的基础和依据 作为确认测试和验收的依据 5 C 解析 算法的复杂度主要包括算法的时间复杂度和空间复杂度 所 谓算法的时间复杂度是指执行算法所需要的计算工作量 即算法执行过程中所需 要的基本运算的次数 算法的空间复杂度一般是指执行这个算法所需要的内存空 间 6 B 解析 堆排序的比较次数为 nlog2n 直接插入排序的比较次数为 n n 1 2 快速排序的比较次数为 nlog2n 当数据表 A 中每个元素 第 33 页 共 213 页 7 B 解析 栈操作原则上 后进先出 栈底至栈顶依次存放元素 A B C D 则表明这 4 个元素中 D 是最后进栈 B C 处于中间 A 最早进栈 所 以出栈时一定是先出 D 再出 C 最后出 A 8 A 解析 数据库设计包括数据库概念设计和数据库逻辑设计两个方面 的内容 9 A 解析 关系表中 每一行称为一个元组 对应表中的一条记录 每一列 称为一个属性 对应表中的一个字段 在二维表中凡能唯一标识元组的最小属性集 称为该表的键或码 10 C 解析 选课 SC 表是 学生 S 表和 课程 C 表的映射表 主 键是两个表主键的组合 11 D 解析 在 C 语言所有的运算符中 逗号运算符的优先级最低 C 语 言中区分大小写 所以 APH 和 aph 是两个不同的变量 赋值表达式 a b 表示将 b 的值付给 a 而 b 本身的值保持不变 通过键盘可以向计算机输入允许的任何类 型的数据 选项 D 中当从键盘输入数据时 对于整型变量可以输入整型数值和字 符 对于实型变量可以输入实型数值和整型数值等 12 B 解析 C 语言规定用户标识符由字母 数字和下划线组成 且第一 个字符必须是字母或下划线 可见选项 C D 是错误的 此外 C 语言不允许用户将 关键字作为标识符 而选项 A 中的 void 正是 C 语言的关键字 13 B 解析 C 语言的语法规定 字母 e E 之前必须有数字 且 e E 后面的 指数必须是整数 而选项 B 中 e E 后面的指数是小数 所以不合法 14 A 解析 在 C 语言中 运算符两侧的运算数必须是整型 15 A 解析 赋值运算符左侧的操作数必须是一个变量 而不能是表达式 或者常量 选项 C 和 D 错误 运算符两侧都应当是整型数据 选项 B 错误 16 D 解析 输出格式控制符 c 表示将变量以字符的形式输出 输出格 式控制符 d 表示将变量以带符号的十进制整型数输出 所以第一个输出语句输 出的结果为 a 97 第二个输出语句输出的结果为 k 12 第 34 页 共 213 页 17 B 解析 C 语言的字符以其 ASCII 码的形式存在 所以要确定某个字 符是大写字母 只要确定它的 ASCII 码在 A 和 Z 之间就可以了 选项 A 和 C 符合 要求 函数 isalpha 用来确定一个字符是否为字母 大写字母的 ASCII 码值的范 围为 65 到 90 所以如果一个字母的 ASCII 码小于 91 那么就能确定它是大写字 母 18 B 解析 满足表达式 c 2当该指针做算术运算时 就是该指针根据其类型向后移动相应的存储 空间 24 A 解析 数组 c 4 表示一个 4 行 4 列数组 c 2 2 表示第 3 行第 3 列 上的元素 62 c 1 1 表示第 2 行第 2 列上的元素 6 通过十六进制输出为 3e 6 25 C 解析 选项 A char a a china 应改为 a china 选项 B 应该是 第 35 页 共 213 页 char str 6 D 项表述方法有错误 26 D 解析 C 语言中数组下标是从 0 开始的 所以二维数组 a 2 3 的第 一维下标取值为 0 1 第二维的下标取值为 0 1 2 因而选项 A B C 都是 错误的 选项 D 表示数组元素 a 0 0 27 D 解析 在格式输入中 要求给出的是变易的地址 而 D 答案中给出 的 s 1 是一个值的表达式 28 B 解析 根据宏替 换的替换规则 我们可知 f 2 2 N 1 2 5 1 11 f 1 1 1 1 N 1 1 1 5 1 7 29 D 解析 选项 A 共用体的每个成员的起始地址都相同 选项 B 共用 体变量所占的内存长度等于最长的成员的长度 选项 C 因为每个成员的起始地址 相同 所以整型数 5 以浮点型输出时为 5 000000 选项 D C 语言规定 不能把共用 体变量作为函数的参数 30 D 解析 将有 6 个元素的整型数组分两行输出到一个文件中 因为输 出的都是数字并且每行都没有分隔符 所以当再对其进行读取操作时 每一行都会 被认为是一个完整的数 而换行符则作为它们的分隔符 31 D 解析 通常 引用一个数组元素可以用下标法 如 a p a 形式 或指针 法 如 再执行 fun a 4 9 数组 a 12 4 3 2 1 0 9 8 7 6 5 再执行 fun a 0 9 后 数组 a 12 5 6 7 8 9 0 1 2 3 4 33 A 解析 本题题意要求删除所有空格 即除了空格以外的其他所有字 符都要留下 由于 C 语言中没有直接删除字符的操作 所以我们对于删除字符的 操作都是采用 留下 字符的算法 以前的题目亦是如此 用 str i 从串头到串尾逐 一走动 每走到一个字符都判断其是否为空格 若不是空格 注意在 if 的单引号之 间有一个空格 则将其保存 str j 中 注意 j 的下标变化 初值及最后加串结束符 0 第 36 页 共 213 页 34 A 解析 本程序考察的是函数的递归调用 在调用一个函数的过程中 又出现直接或间接地调用该函数本身 称为函数的递归调用 执行结果为 1 2 3 4 5 6 7 8 9 10 55 35 C 解析 本题中 格式符 0 表示的是八进制无符号形式输出整型数 不 带前导 0 字符常量在内存中占一个字节 存放的是 ACSII 码代码值 C 语言规 定 所有字符常量都作为整型量来处理 在计算机内部 其对应的整数值就是 ACSII 字符集中该字符的序号 即fwrite 是输出数据的地址 以上指的是起始地址 38 B 解析 本题考查两个位运算符 按位异或运算符 是双目运算符 其功能是参与运算的两数各对应的二进位相 异或 当两对应的二进位相异或时 结果为 1 左移运算符 是双目运算符 其功能把 左边的运算数的各二进位全部左移 若干位 由 右边的数指定移动的位数 高位丢弃 低位补 0 并且 t 时 返回正值 当 s t 时 返回负值 12 13 22 解析 在 main 函数中 调用 reverse 函数将 b 数组中的前 8 个成员进行互置 执行完毕后 b 数组中的成员为 8 7 6 5 4 3 2 1 9 10 然后再执行 for 循环结构 将 b 6 b 7 b 9 的值相加 结果为 22 13 14 PER 解析 本题中 typedef 声明新的类型名 PER 来代替已有的 类型名 PER 代表上面指定的一个结构体类型 此时 也可以用 PER 来定义变量 14 15 filea dat r 解析 fopen 函数的调用方式通常为 fopen 文件 名 使用文件方式 本题中要求程序可以打开 filea dat 文件 并且是要读取文件中 的内容 所以空白处应当填入 filea dat r 一 选择题 在下列各题的 A B C D 四个选项中 只有一个选项是正确的 请将正 确的选项涂写在答题卡相应位置上 答在试卷上不得分 1 软件是指 A 程序 B 程序和文档 C 算法加数据结构 D 程序 数据与相关文档的完整集合 2 检查软件产品是否符合需求定义的过程称为 A 确认测试 B 集成测试 C 验证测试 D 验收测试 3 以下不属于对象的基本特点的是 A 分类性 B 多态性 C 继承性 D 封装性 4 在设计程序时 应采纳的原则之一是 A 不限制 goto 语句的使用 B 减少或取消注解行 C 程序越短越好 第 39 页 共 213 页 D 程序结构应有助于读者理解 5 下列叙述中正确的是 A 程序执行的效率与数据的存储结构密切相关 B 程序执行的效率只取 决于程序的控制结构 C 程序执行的效率只取决于所处理的数据量 D 以上三种说法都不对 6 数据结构中 与所使用的计算机无关的是数据的 A 存储结构 B 物理结构 C 逻辑结构 D 物 理和存储结构 7 线性表的顺序存储结构和线性表的链式存储结构分别是 A 顺序存取的存储结构 顺序存取的存储结构 B 随机存取的存储结构 顺序存取的存储结构 C 随机存取的存储结构 随机存取的存储结构 D 任意存取的存储结构 任意存取的存储结构 8 树是结点的集合 它的根结点数目是 A 有且只有 1 B 1 或多于 1 C 0 或 1 D 至少 2 9 下列有关数据库的描述 正确的是 A 数据库是一个 DBF 文件 B 数据库是一个关系 C 数据库是一个 结构化的数据集合 D 数据库是一组文件 10 数据库 数据库系统和数据库管理系统之间的关系是 A 数据库包括数据库系统和数据库管理系统 B 数据库系统包括数据库 和数据库管理系统 C 数据库管理系统包括数据库和 数据库系统 D 三者没有明显的包含关系 11 以下 4 个选项中 不能看作一条语句的是 A B a 5 b 2 5 c 3 6 C if a 5 D if b 5 x 2 y 6 12 下面四个选项中 均是不合法的用户标识符的选项是 A A P 0 do B float la0 A C b a goto int D 123 temp int 13 以下选项中不属于字符常量的是 A C B C C xCC D 072 第 40 页 共 213 页 14 设变量已正确定义并赋值 以下正确的表达式是 A x y 5 x z B int 15 8 5 C x y z 5 y D x 25 5 0 15 若变量已正确定义并赋值 以下符合 C 语言语法的表达式是 A a b 1 B a b c 2 C int 18 5 3 D a a 7 c b 16 以下程序的运行结果是 int k 0 void fun int m m k k m printf m d k d m k main int i 4 fun i printf i d k d n i k A m 4 k 5 i 5 k 5 B m 4 k 4 i 5 k 5 C m 4 k 4 i 4 k 5 D m 4 k 5 i 4 k 5 17 已有定义 char c 程序前面已在命令行中包含 ctype h 文件 不能用于判 断 c 中的字符是否为大写字母的表达式是 A isupper c B A c Z C A c if a b a b c a if c a c b printf d d d n a b c 第 41 页 共 213 页 其输出结果是 A 程序段有语法错 B 3 5 3 C 3 5 5 D 3 5 7 20 若有定义 float x 1 5 int a 1 b 3 c 2 则正确的 switch 语句是 A switch x case 1 0 printf n case 2 0 printf n B switch int x case 1 printf n case 2 printf n C switch a b case 1 printf n case 2 1 printf n D switch a b case1 printf n casec printf n 21 有以下程序 include main0 int y 9 for y 0 y if y 3 0 printf d y 程序的运行结果是 A 741 B 963 C 852 D 875421 22 以下描述中正确的是 A 由于 do while 循环中循环体语句只能是一条可执行语句 所以循环体内不 能使用复合语句 第 42 页 共 213 页 B do while 循环由 do 开始 用 while 结束 在 while 表达式 后面不能写分号 C 在 do while 循环体中 是先执行一次循环 再进行判断 D do while 循 环中 根据情况可以省略 while 23 有以下程序 include main int a 1 2 3 4 y p p y p printf y d n y 程序的运行结果是 A y 0 B y 1 C y 2 D y 3 24 以下数组定义中错误的是 A int x 3 0 B int x 2 3 l 2 3 4 5 6 C int x 3 l 2 3 4 5 6 D int x 2 3 l 2 3 4 5 6 25 下面说明不正确的是 A char a 10 china B char a 10 p a p china C char a a china D char a 10 p p a china 26 若有定义 int a 2 3 以下选项中对 a 数组元素正确引用的是 A a 2 1 B a 2 3 C a 0 3 D a 1 2 1 27 若要求从键盘读入含有空格字符的字符串 应使用函数 A getc B gets C getchar D scanf 28 阅读下列程序段 则程序的输出结果为 include stdio h define M X Y X Y define N X Y X Y main int a 5 b 6 c 8 k k N M a b c printf d n k A 3 B 5 C 6 D 8 第 43 页 共 213 页 29 在 16 位 IBM PC 机上使用 C 语言 若有如下定义 struct data int i char ch double f b 则结构变量 b 占用内存的字节数是 A 1 B 2 C 7 D 11 30 有以下程序 include main FILE fp int i a 6 l 2 3 4 5 6 fp fopen d3 dat w b fwrite a sizeof int 6 fp fseek fp sizeof int 3 SEEK SET 该语句使读文件的位置指针从文件头向后移 动 3 个 int 型数据 fread a sizeof int 3 fp fclose fp for i 0 i 6 i printf d a i 程序运行后的输出结果是 A 4 5 6 4 5 6 B 1 2 3 4 5 6 C 4 5 6 1 2 3 D 6 5 4 3 2 1 31 有以下程序 include main int s 12 1 2 3 4 4 3 2 1 1 1 2 3 c 5 0 i for i 0 i 12 i c s i for i 1 i 5 i printf d c i printf n 程序的运行结果是 A 1 2 3 4 B 2 3 4 4 C 4 3 3 2 D 1 1 2 3 第 44 页 共 213 页 32 有以下程序 include void fun int a int n fun 函数的功能是将 a 所指数组元素从大到小排序 int t i j for i 0 i n 1 j for j i 1 j n j if a i a j t a i a i a j a j t main int c 10 1 2 3 4 5 6 7 8 9 0 i fun c 4 6 for i 0 i 10 i printf d c i printf n 程序的运行结果是 A 1 2 3 4 5 6 7 8 9 0 B 0 9 8 7 6 5 1 2 3 4 C 0 9 8 7 6 5 4 3 2 1 D 1 2 3 4 9 8 7 6 5 0 33 下面程序的输出结果是 include include main char p1 abc p2 ABC str 50 xyz strcpy str 2 strcat p1 p2 printf s n str A xyzabcABC B zabcABC C xyabcABC D yzabcABC 34 以下函数返回 a 所指数组中最小的值所在的下标值 fun int a int n int i j 0 p p j for i j i n i 第 45 页 共 213 页 if a i a p return p 在横线处应填入的是 A i p B a p a i C p j D p i 35 下列程序的运行结果为 include void abc char str int a b for a b 0 str a 0 a if str a c str b str a str b 0 void main char str abcdef abc str printf str s str A str abdef B str abcdef C str a D str ab 36 有以下程序 include include typedef struct char name 9 char sex float score 2 STU void f STU a STU b Zhao m 85 0 90 0 int i strcpy a name b name a sex b sex for i 0 i 2 i a score i b score i main STU c Qian f 95 0 92 0 f c 第 46 页 共 213 页 printf s c 2 0f 2 0f n c name c sex c score 0 c score 1 程序的运行结果是 A Qian f 95 92 B Qian m 85 90 C Zhao f 95 92 D Zhao m 85 90 37 有以下程序 include main FILE fp int a 10 1 2 3 i n fp fopen d1 dat w for i 0 i 3 i fprintf fp d a i fprintf fp n fclose fp fp fopen d1 dat r fscanf fp d fclose fp printf d n n 程序的运行结果是 A 12300 B 123 C 1 D 321 38 已知 int a 1 b 3 则 a b 的值为 A 3 B 1 C 2 D 4 39 阅读下列程序 则运行结果为 include stdio h fun static int x 5 x return x main int i x 第 47 页 共 213 页 for i 0 i 3 i x fun printf d n x A 5 B 6 C 7 D 8 40 有以下程序 include void fun char t char s while t 0 t while t s 0 main char ss 10 acc aa 10 bbxxyy fun ss aa printf s s
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!