




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第一章第一章 C 语言语言概述概述 一 选择题一 选择题 1 C 语言规定 必须用 作为主函数名 A Function B include C main D stdio 2 一个 C 程序可以包含任意多个不同名的函数 但有且仅有一个 一个 C 程序总是从 开始执行 A 过程 B 主函数 C 函数 D include 3 是 C 程序的基本构成单位 A 函数 B 函数和过程 C 超文本过程 D 子程序 4 下列说法正确的是 A 一个函数的函数体必须要有变量定义和执行部分 二者缺一不可 B 一个函数的函数体必须要有执行部分 可以没有变量定义 C 一个函数的函数体可以没有变量定义和执行部分 函数可以是空函数 D 以上都不对 5 下列说法正确的是 A main 函数必须放在 C 程序的开头 B main 函数必须放在 C 程序的最后 C main 函数可以放在 C 程序的中间部分 但在执行 C 程序时是从程序开头 执行的 D main 函数可以放在 C 程序的中间部分 但在执行 C 程序时是从 main 函数 开始的 6 下列说法正确的是 A 在执行 C 程序时不是从 mian 函数开始的 B C 程序书写格式严格限制 一行内必须写一个语句 C C 程序书写格式自由 一个语句可以分写在多行上 D C 程序书写格式严格限制 一行内必须写一个语句 并要有行号 7 在 C 语言中 每个语句和数据定义是用 结束 A 句号 B 逗号 C 分号 D 括号 8 下列字符串是标识符的是 A HJ B 9 student C long D LINE 1 9 以下说法正确的是 A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中 要调用的函数必须在 main 函数中定义 C C 语言程序总是从 main 函数开始执行 2 D C 语言程序中的 main 函数必须放在程序的开始部分 10 不是 C 语言提供的合法关键字 A switch B print C case D default 二 填空题二 填空题 1 一个 C 程序至少包含一个 即 2 一个函数由两部分组成 它们是 和 3 函数体的范围是 4 函数体一般包括 和 5 C 语言是通过 来进行输入输出的 第二章第二章 顺序结构程序设计顺序结构程序设计 一 选择题一 选择题 1 C 语言中调用 printf 进行输出时需要注意 在格式控制串中 格式说明与输出项的 个数必须相同 如果格式说明的个数小于输出项的个数 多余的输出项将 如果格式说明的个数多于输出项的个数 则对于多余的格式将输出不定值 或 0 A 不予输出 B 输出空格 C 照样输出 D 输出不定值或 0 2 在 scanf 函数的格式控制中 格式说明的类型与输入的类型应该一一对应匹配 如果类型不匹配 系统 A 不予接收 B 并不给出出错信息 但不可能得出正确信息数据 C 能接受正确输入 D 给出出错信息 不予接收输入 3 下列说法正确的是 A 输入项可以是一个实型常量 如 scanf f 4 8 B 只有格式控制 没有输入项也能进行正确输入 如 scanf a d b d C 当输入一个实型数据时 格式控制部分应规定小数点后的位数 如 scanf 5 3f float x printf input a x 输入语句 输出语句 输入形式 input a x 3 2 1 输出形式 a x 5 10 A scanf d f printf na x 4 2f a x B scanf d f printf na x 4 2f a x C scanf d f printf na x 6 1f a x D scanf d 3 1f printf na x 4 2f a x 5 以下程序的输出结果是 main int i 010 j 10 k 0 x10 printf d d d n i j k A 8 10 16 B 8 10 10 C 10 10 10 D 10 10 16 6 以下程序的输出结果是 main int i 011 j 11 k 0 x11 printf d d d n i j k A 9 11 17 B 9 11 11 C 11 11 11 D 11 11 16 7 以下程序的输出结果是 include main printf d n NULL A 不确定的值 因变量无定义 B 0 C 1 D 1 8 以下程序的输出结果是 main char c1 6 c2 0 4 printf c c d d n c1 c2 c1 c2 c1 c2 A 因输出格式不合法 输出出错信息 B 6 0 6 102 C 6 0 7 6 D 6 0 5 7 9 设有如下定义 int x 10 y 3 z 则语句 printf d n z x y x y 的输出结果是 A 3 B 0 C 4 D 1 10 设有如下定义 int x 10 y 5 z 则语句 printf d n z x y x y 的输出结果是 A 1 B 0 C 4 D 3 二二 填空题填空题 1 C 语言中的语句可分为 5 类 即 2 由一次函数调用加一个分号构成一个 语句 3 putchar 函数的作用是 4 printf 是 C 语言提供的标准输出函数 它的作用是 5 printf 函数的 格式控制 包括两部分 他们是 和 三 编程题三 编程题 1 从键盘上输入一个大写字母 要求改用小写字母输出 2 编写程序 求方程 ax2 bx c 0 的解 x 3 请编写一个程序 能显示出以下两行文字 I am a student I love China 5 第三章第三章 选择结构程序设计选择结构程序设计 一 选择题一 选择题 1 下列运算符中优先级最高的是 A B C x 1 y 2 c 0 c x y printf n d d d n x y c A 110 B 211 C 011 D 001 6 以下程序的运行结果是 main int c x y x 0 y 0 c 0 6 c x printf n d d d n x y c A 100 B 211 C 011 D 001 7 判断字符型变量 ch 为大写字母的表达式是 A A ch A x x 1 printf f x else printf f x else printf f x C if x 0 D if x 0 x x 1 printf f x x x 1 printf f x else printf f x else printf f x 10 分析以下程序 main int x 5 a 0 b 0 if x a b printf n else printf n 以上程序 A 有语法错 不能通过编译 B 通过编译 但 不能连接 C 输出 D 输出 二 填空题二 填空题 1 在 C 语言中 对于 if 语句 else 子句与 if 子句的配对约定是 2 阅读下面程序 写出它的功能 include main int label char c printf nPlease enter 1 number c getchar while c n if c label 1 c getchar 7 if label 1 printf nfloat else printf nint 3 以下两条 if 语句可合并成一条 if 语句为 if ab printf y d n y else printf x d n x 三 编程题三 编程题 1 编写一个程序 要求有键盘输入三个数 计算以这三个数为边长的三角形的 面积 2 输入圆的的半径 r 和一个整型数 k 当 k 1 时 计算圆的面积 但 k 2 时 计算圆的周长 当 k 3 时 既要求求圆的周长也要求出圆的面积 编程实现以上功 能 3 编写程序 判断某一年是否是闰年 4 有一函数 其函数关系如下 试编 程求对应于每一自变量的函数值 x2 x 0 y 0 5x 10 0 x 10 x x10 x 5 编一程序 对于给定的一个百分制成绩 输出相应的五分制成绩 设 90 分 以上为 A 80 89 分为 B 70 79 分为 C 60 69 分为 D 60 分以下为 E 第四章第四章 循环结构程序设计循环结构程序设计 一 选择题一 选择题 1 while 循环语句中 while 后一对圆括号中表达式的值决定了循环体是否进行 因此 进入 while 循环后 一定有能使此表达式的值变为 的操作 否则 循环将会无限制地进行下去 A 0 B 1 C 成立 D 2 2 在 do while 循环中 循环由 do 开始 用 while 结束 必须注意的是 在 while 表达式后面的 不能丢 它表示 do while 语句的结束 A 0 B 1 C D 3 for 语句中的表达式可以部分或全部省略 但两个 不可省略 但当三个 表达式均省略后 因缺少条件判断 循环会无限制地执行下去 形成死循环 A 0 B 1 C D 8 4 程序段如下 int k 20 while k 0 k k 1 则以下说法中正确的是 A while 循环执行 20 次 B 循环是无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次 5 程序段如下 int k 1 while k 0 k k 1 printf d n k 说法正确的是 A while 循环执行 2 次 B 循环是无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次 6 以下 for 循环是 for a 0 b 0 b 123 a A 无限循环 B 循环次数不定 C 执行 4 次 D 执行 5 次 7 在下列程序中 while 循环的循环次数是 main int i 0 while i 10 if i 1 continue if i 5 break i A 1 B 10 C 6 D 死循环 不能确定次数 8 程序段如下 int k 0 while k 2 printf d n k 则执行结果是 A 1 B 2 C 0 D 无结果 2 3 1 3 4 2 9 程序段如下 int k 0 while k 2 printf last d n k 则执行结果是 last A 2 B 3 C 4 D 无结果 10 执行下面的程序后 a 的值为 main 9 int a b for a 1 b 1 a 20 break if b 3 1 b 3 continue b 5 A 7 B 8 C 9 D 10 二 填空题二 填空题 1 while 语句的特点是 1 do while 语句的特点是 2 2 将 for 表达式 1 表达式 2 表达式 3 语句改写为 while 语句是 3 break 语句的功能是 4 break 语句只能用于 1 语句和 2 语句中 5 continue 语句的作用是 即跳过循环体中下面尚未执行的语句 接着进 行下一次是否执行循环的判定 三 编程题三 编程题 1 编写程序 求两个整数的最大公约数 2 把输入的整数 最多不超过 5 位 按输入顺序的反方向输出 例如 输入数 是 12345 要求输出结果是 54321 编程实现此功能 3 中国古代数学家张丘建提出的 百鸡问题 一只大公鸡值五个钱 一只母 鸡值三个钱 三个小鸡值一个钱 现在有 100 个钱 要买 100 只鸡 是否可以 若 可以 给出一个解 要求三种鸡都有 请写出求解该问题的程序 4 求 100 200 间的全部素数 5 整元换零钱问题 把 整元换零钱问题 把 1 元兑换成元兑换成 1 分 分 2 分 分 5 分的硬币 共有多少种不同分的硬币 共有多少种不同 换法 请编写求解此问题的程序 换法 请编写求解此问题的程序 6 有一分数序列 2 1 3 2 5 3 8 5 13 8 21 13 编写程序求这个数列的 前 20 项之和 7 编写程序 利用公式 e 1 1 1 1 2 1 3 1 n 求出 e 的近似值 其中 n 的 值由用户输入 用于控制精确度 8 一个数如果恰好等于它的因子之和 除自身外 一个数如果恰好等于它的因子之和 除自身外 则称该数为完全数 例如 则称该数为完全数 例如 6 1 2 3 6 就是完全数 请编写一程序 求出就是完全数 请编写一程序 求出 100 以内的整数中的所有完全数 其以内的整数中的所有完全数 其 中中 100 由用户输入 由用户输入 9 编一程序 将 编一程序 将 2000 年到年到 3000 年中的所有闰年年份输出并统计出闰年的总年年中的所有闰年年份输出并统计出闰年的总年 数 要求每数 要求每 10 个闰年放在一行输出 个闰年放在一行输出 10 10 请编写一程序 打印出九九乘法口诀表 例 1 1 1 第五章第五章 数组数组 一 选择题一 选择题 1 在 C 语言中 引用数组元素时 其数组下标的数据类型允许是 A 整型常量 B 整型常量或整型表达式 C 整型表达式 D 任何类型的表达式 2 以下对一维整型数组 a 的正确说明是 A int a 10 B int n 10 a n C int n scanf d int a n D define SIZE 10 int a SIZE 3 以下能对一维数组 a 进行正确初始化的语句是 A int a 10 0 0 0 0 0 B int a 10 C int a 0 D int a 10 10 1 4 不是给数组的第一个元素赋值的语句是 A int a 2 1 B int a 2 1 2 C int a 2 scanf d a D a 1 1 5 下面程序的运行结果是 main int a 6 i for i 1 i3 5 printf 2d a i A 4 0 4 0 4 B 4 0 4 0 3 C 4 0 4 4 3 D 4 0 4 4 0 6 下列定义正确的是 A static int a 1 2 3 4 5 B int b 2 5 C int a 10 D int 4e 4 7 若有说明 int a 4 0 0 则下列叙述不正确的是 A 数组 a 的每个元素都可以得到初值 0 B 二维数组 a 的第一维的大小为 1 C 因为对二维数组 a 的第二维大小的值除以初值个数的商为 1 故数组 a 11 的行数为 1 D 只有元素 a 0 0 和 a 0 1 可得到初值 0 其余元素均得不到初值 8 设有 char str 10 下列语句正确的是 A scanf s B printf c str C printf s str 0 D printf s str 9 下列说法正确的是 A 在 C 语言中 可以使用动态内存分 配技术定义元素个数可变的数组 B 在 C 语言中 数组元素的个数可以不确定 允许随机变动 C 在 C 语言中 数组元素的数据类型可以不一致 D 在 C 语言中 定义了一个数组后 就确定了它所容纳的具有相同数据类 型元素的个数 10 假设 array 是一个有 10 个元素的整型数组 则下列写法中正确的是 A array 0 10 B array 0 C array 10 0 D array 1 0 二 填空题二 填空题 1 数组名定名规则和变量名相同 遵循 定名规则 2 对于一维数组的定义 类型说明符 数组名 常量表达式 其中常量表达式 可以包括 和 不能包含 3 在 C 语言中 引用数组只能通过 数组元素来实现 而不能通 过整体引用 来实现 4 在定义数组时对数组元素赋以初值 需要在数组的类型说明符前加关键字 5 如果要使一个内部数组在定义时每个元素初始化值为 0 但不进行逐个赋值 将其说明成 存储类型即可 三 编程题三 编程题 1 用起泡法对 10 个数排序 2 编一程序 从键盘输入 10 个整数并保存到数组 求出该 10 个整数的最大值 最小值及平均值 3 将一个 n m 二维数组的行和列元素互换 存到另一个 m n 的二维数组中 并输出其结果 例如 static int a 2 3 1 2 3 4 5 6 4 编一程序 从键盘输入 10 个整数并保存到数组 要求找出最小的数和它的 下标 然后把它和数组中最前面的元素对换位置 5 编写程序 从键盘输入 n 个由小到大的顺序排好的数列和一个数 insert value 把 insert value 插入到由这 n 个数组成的数列中 而且仍然保持由小到 大的顺序 若 insert value 比原有所有的数都大时放在最后 比原有的数都小时放在 最前面 12 6 编程完成下述功能 从键盘输入一个 n n 最大为 20 20 矩阵的各元素的 值 求出该矩阵两条对角线上各元素值之和并打印出结果 第六章第六章 函数函数 一 选择题一 选择题 1 以下函数定义正确的是 A double fun int x int y B double fun int x int y C double fun int x int y D double fun int x y 2 C 语言规定 简单变量作实参 它与对应形参之间的数据传递方式是 A 地址传递 B 单向值传递 C 双向值传递 D 由用户指定传递方式 3 以下关于 语言程序中函数的说法正确的是 函数的定义可 以嵌套 但函数的调用不可以嵌套 函数的定义不可以嵌套 但函数的调用可以嵌套 函数的定义和调用均不可以嵌套 函数的定义和点用都可以嵌套 4 以下正确的函数形式是 A double fun int x int y B fun int x y z x y return z int z return z C fun x y D double fun int x int y int x y double z double z z x y return z z x y return z 5 以下说法不正确的是 C 语言规定 A 实参可以是常量 变量或表达式 B 形参可以是常量 变量或表达式 C 实参可以是任意类型 D 形参应与其对应的实参类型一致 6 C 语言允许函数值类型缺省定义 此时该函数值隐含的类型是 A float 型 B int 型 C long 型 D double 型 7 以下错误的描述是 函数调用可以 A 出现在执行语句中 B 出现在一个表达式中 C 做为一个函数的实参 D 做为一个函数的形参 8 若用数组名作为函数调用的实参 传递给形参的是 13 A 数组的首地址 B 数组第一个元素的值 C 数组中全部元素的值 D 数组元素的个数 9 以下正确的说法是 如果在一个函数中的复合语句中定义了一个变量 则该变量 A 只在该复合语句中有效 B 在该函数中有效 C 在本程序范围内有效 D 为非法变量 10 以下不正确的说法为 A 在不同函数中可以使用相同名字的变量 B 形式参数是局部变量 C 在函数内定义的变量只在本函数范围内有效 D 在函数内的复合语句中定义的变量在本函数范围内有效 二 填空题二 填空题 1 C 语言规定 可执行程序的开始执行点是 2 在 C 语言中 一个函数一般由两个部分组成 它们是 和 3 函数 swap int x int y 可完成对 x 和 y 值的交换 在运行调用函数中的如下语句 后 a 0 和 a 1 的值分别为 原因 4 函数 swap arr n 可完成对 arr 数组从第 1 个元素到第 n 个元素两两交换 在运 行调用函数中的如下语句后 a 0 和 a 1 的值分别为 原因 5 设在主函数中有以下定义和函数调用语句 且 fun 函数为 void 类型 请写出 fun 函数的首部 要求形参名为 b main double s 10 22 int n fun s 6 返回语句的功能是从 返回 三 编程题三 编程题 1 有一个数组 内放 10 个学生的英语成绩 写一个函数 求出平均分 并且打 印出高于平均分的英语成绩 2 编写一个函数计算任一输入的整数的各位数字之和 主函数包括输入输出和调 用该函数 3 已有函数调用语句 c add a b 请编写 add 函数 计算两个实数 a 和 b 的和 并返回和值 14 double add double x double y 4 已有变量定义语句 double a 5 0 int n 5 和函数调用语句 mypow a n 用 以求 a 的 n 次方 请编写 double mypow double x int y 函数 double mypow double x int y n 5 已有变量定义和函数调用语句 int a b b sum a 函数 sum 用以求 k k 1 和数作为函数值返回 若 a 的值为 10 经函数 sum 的计算后 b 的值是 55 请编写 sum 函数 sum int n 6 已有变量定义和函数调用语句 int a 1 b 5 c c fun a b fun 函数的作用 是计算两个数之差的绝对值 并将差值返回调用函数 请编写 fun 函数 fun int x int y 7 已有变量定义和函数调用语句 int x 57 isprime x 函数 isprime 用来判断 一个整型数 a 是否为素数 若是素数 函数返回 1 否则返回 0 请编写 isprime 函 数 isprime int a 8 利用递归函数调用方式 将所输入的 5 个字符 以相反顺序打印出来 9 函数的递归调用计算阶乘 10 输入 10 个学生的成绩 分别用函数实现 1 求平均成绩 2 按分数高低进行排序并输出 第七章第七章 编译预处理编译预处理 一 选择题一 选择题 1 C 语言中 宏定义有效范围从定义处开始 到源文件结束处结束 但可以用 来提前解除宏定义的作用 A ifdef B endif C undefine D undef 2 以下不正确的叙述是 A 预处理命令都必须以 号开始 B 在程序中凡是以 号开始的语句行都是预处理命令行 C C 语言在执行过程中对预处理命令行进行处理 D define ABCD 是正确的宏定义 A 3 以下正确的叙述是 在程序的一行中可以出现多个有 效的预处理命令行 15 B 使用带参宏时 参数的类型应与宏定义时的一致 C 宏替换不占用运行时间 只占编译时间 D 宏定义不能出现在函数内部 A 4 以下不正确的叙述是 宏替换不占用运行时间 B 宏名无类型 C 宏替换只是字符替换 D 宏名必须用大写字母表示 A 5 以下正确的叙述是 C 语言的预处理功能是指完成宏 替换和包含文件的调用 B 预处理命令只能位于 C 源程序文件的首部 C 凡是 C 源程序中行首以 标识的控制行都是预处理命令 D C 语言的编译预处理就是对源程序进行初步的语法检查 A 6 在文件包含预处理语句 include 的使用形式中 当之后的文 件名用 双引号 括起时 寻找被包含文件的方式是 直接按 系统设定的标准方式搜索目录 B 先在源程序所在目录搜索 再按系统设定的标准方式搜索 C 仅仅搜索源程序所在目录 D 仅仅搜索当前目录 A 7 在文件包含预处理语句 include 的使用形式中 当之后的文 件名用 尖引号 括起时 寻找被包含文件的方式是 直接按 系统设定的标准方式搜索目录 B 先在源程序所在目录搜索 再按系统设定的标准方式搜索 C 仅仅搜索源程序所在目录 D 仅仅搜索当前目录 A 8 C 语言的编译系统对宏命令的处理 在程序运行时进 行的 B 在程序连接时进行的 C 和 C 程序中的其它语句同时进行编译的 D 在对源程序中其它语句正式编译之前进行的 9 以下程序的输出结果是 define MIN x y x y x y main int i j k i 10 j 15 k 10 MIN i j printf d k A 15 B 100 C 10 D 150 10 以下程序的输出结果是 include define ADD y 3 54 y define PR a printf d int a 16 define PR1 a PR a putchar n main int i 4 PR1 ADD 5 i A 20 B 23 C 10 D 0 二 填空题二 填空题 1 C 提供的预处理功能主要有三种 分别是 和 2 设有以下宏定义 define WIDTH 80 define LENGTH WIDTH 40 则执行赋值语句 v LENGTH 20 v 为 int 型变量 后 v 的值是 3 设有以下宏定义 define WIDTH 80 define LENGTH WIDTH 40 则执行赋值语句 k LENGTH 20 k 为 int 型变量 后 k 的值是 四 四 编程题编程题 1 编写一个宏定义 MYALPHA c 用以判定 c 是否是字母字符 若是 得 1 否 则得 0 2 编写一个宏定义 AREA a b c 用于求一个边长为 a b 和 c 的三角形 的面积 其公式为 s a b c 2 area s s a s b s c 3 编写一个程序求三个数中最大者 要编写一个程序求三个数中最大者 要 求用带参宏实现 求用带参宏实现 第八章第八章 指针指针 一 选择题一 选择题 1 变量的指针 其含义是指该变量的 A 值 B 地址 C 名 D 一个标志 2 设有说明 int ptr M 其中 ptr 是 A M 个指向整型变量的指针 B 指向 M 个整型变量的函数指针 C 一个指向具有 M 个整型元素的一维数组的指针 D 具有 M 个指针元素的一维指针数组 每个元素都只能指向整型量 3 选择出 i 的正确结果 int i char s a 045 045 b for i 0 s i A 5 B 8 C 11 D 12 4 如下程序的执行结果是 include 17 main int i char s a n for i 0 s i 0 i printf c s i A a B a C a D a 5 如下程序的执行结果是 include main static int a 1 2 3 4 5 6 int p p a p 3 2 printf d d n p p 3 A 1 3 B 1 6 C 3 6 D 1 4 6 如下程序的执行结果是 include main static int a 4 1 3 5 7 9 11 13 15 17 19 21 23 int p 4 i 1 j 2 p a printf d n p i j A 9 B 11 C 13 D 17 7 若有以下定义 则对 a 数组元素的正确引用是 int a 5 p a A A p 5 B a 1 C 则 printf d p 4 的结果为 6 以下 函数用来求出两整数之和 并通过形参将结果传回 请填空 18 void func int x int y z x y 三 编程题三 编程题 1 编写一个程序计算一个字符串的长度 2 编写一个程序 用 12 个月份的英文名称初始化一个字符指针数组 当键盘输 入整数为 1 到 12 时 显示相应的月份名 键入其它整数时显示错误信息 3 编 一程序 将字符串 computer 赋给一个字符数组 然后从第一个字母开始间隔地 输出该串 请用指针完成 4 编一程序 将字符串中的第 m 个字符开始的全部字符复制成另一个字符串 要 求在主函数中输入字符串及 m 的值并输出复制结果 在被调函数中完成复制 5 设有一数列 包含 10 个数 已按升序排好 现要求编一程序 它能够把从指定 位置开始的 n 个数按逆序重新排列并输出新的完整数列 进行逆序处理时要求 使用指针方法 试编程 例如 原数列为 2 4 6 8 10 12 14 16 18 20 若要求把从第 4 个数开始的 5 个数按 逆序重新排列 则得到新数列为 2 4 6 16 14 12 10 8 18 20 6 通过指针数组 p 和一维数组 a 构成一个 3 2 的二维数组 并为 a 数组赋初值 2 4 6 8 要求先按行的顺序输出此 二维数组 然后再按列的顺序 输出它 试编程 7 编写一个函数 输入 n 为偶数时 调用函数求 1 2 1 4 1 n 当输入 n 为奇数 时 调用函数 1 1 1 3 1 n 利用指针函数 8 编写一程序 从键盘输入 10 个数存入数组 data 10 中 同时设置一个指针变量 p 指向数 data 然后通过指针变量 p 对数组按照从小到大的顺序排序 最后输 出其排序结果 9 编一程序 从一个 3 行 4 列的二维数组中找出最大数所在的 行和列 并将最大 值及所在行列值打印出来 要求将查找和打印的功能编一个函数 二维数组 的 输入在主函数中进行 并将二维数组通过指针参数传递的方式由主函数传递 到 子函数中 10 编一程序 首先将一个包含 10 个数的数组按照升序排列 然后 将从一指定位 置 m 开始的 n 个数按照逆序重新排列 并将新生成的相互组输出 要求使用 指 19 针控制方法实现上述功能 针控制方法实现上述功能 第九章第九章 结构体与结构体与 共用体共用体 一 选择题一 选择题 1 在说明一个结构体变量时系统分配给它的存储空间是 A 该结构体中第一个成员所需存储空间 B 该结构体中最后一个成员所需存储空间 C 该结构体中占用最大存储空间的成员所需存储空间 D 该结构体中所有成员所需存储空间的总和 2 若有以下说明和语句 struct worker int no char name work p 则以下引用方式不正确的是 A work no B p no C p no D work no3 有如下定义 struct date int year month day struct worklist char name 20 char sex struct date birthday person 对结构体变量 person 的出生年份进行赋值时 下面正确的赋值语句是 A year 1958 B birthday year 1958 C person birthday year 1958 D person year 1958 4 以下对结构体类型变量的定义中不正确的是 A define STUDENT struct student B struct student STUDENT int num int num float age float age std1 std1 C struct D struct int num int num float age float age student std1 struct student std1 5 设有以下说明语句 struct stu int a float b stutype 则下面的叙述不正确的是 20 A struct 是结构体类型的关键字 B struct stu 是用户定义的结构体类型 C stutype 是用户定义的结构体类型名 D a 和 b 都是结构体成员名 6 C 语言结构体类型变量在程序执行期间 A 所有成员一直驻留在内存中 B 只有一个成员主留在内存中 C 部分成员驻留在内存中 D 没有成员驻留在内存中 7 以下程序的运行结果是 include main struct date int year month day today printf d n sizeof struct date A 6 B 8 C 10 D 128 有如下定义 struct person char name 9 int age struct person class 10 Johu 17 Paul 19 Mary 18 Adam 16 根据上述定义 能输出字母 M 的语句是 A prinft c n class 3 mane B pfintf c n class 3 name 1 C prinft c n class 2 name 1 D printf c n class 2 name 0 9 设有如下定义 struct ss char name 10 int age char sex std 3 p std 下面各输入语句中错误的是 A scanf d B scanf s C scanf c D scanf c float y char z example A struct 结构体类型的关键字 B example 是结构体类型名 C x y z 都是结构体成员名 D struct ex 是结构体类型 二 填空题二 填空题 1 有如下定义 struct int x int y s 2 1 2 3 4 p s 则 表达式 p x 的结果是 表达式 p x 的结果是 2 若有定义 struct num int a int b float f n 1 3 5 0 struct num pn 则表达式 pn b n a pn b 的值是 表达式 pn a pn f 的值 是 3 若要使指针 p 指向一个 double 类型的动态存储单元 请填空 p malloc sizeof double 4 设有以下结构类型说明和变量定义 则变量 a 在内存所占字节数是 Struct stud char num 6 int s 4 double ave a p 三 编程题三 编程题 1 试利用结构体类型编制一程序 实现输入一个学生的数学期中和期末成绩 然 后计算并输出其平均成绩 2 试利用指向结构体的指针编制一程序 实现输入三个学生的学号 数学期中和 期末成绩 然后计算其平均成绩并输出成绩表 3 请编程建立一个带有头结点的单向链表 链表结点中的数据通过键盘输入 当 输入数据为 1 时 表示输入结束 链表头结点的 data 域不放数据 表空的条 件是 ph next NULL 22 第十章第十章 文件文件 一 选择题一 选择题 1 当已存在一个 abc txt 文件时 执行函数 fopen abc txt r 的功能是 A 打开 abc txt 文件 清除原有的内容 B 打开 abc txt 文件 只能写入新的内容打开 abc txt 文件 只能读取原有 内容打开 abc txt 文件 可以读取和写入新的内容 2 若用 fopen 函数 打开一个新的二进制文件 该文件可以读也可以写 则文件打开模式 是 A ab B wb C rb D ab 3 使用 fseek 函数可以实现的操作是 改变文件的位置指针的当前位置 B 文件的顺序读写文件的随机读写以上都不对 4 fread buf 64 2 fp 的功能是 从 fp 文件流中读出整数 64 并存放在 buf 中 B 从 fp 文件流中读出整数 64 和 2 并存放在 buf 中 从 fp 文件流中读 出 64 个字节的字符 并存放在 buf 中 从 fp 文件流中读出 2 个 64 个字节的字符 并存放在 buf 中 5 以下程序的功能是 main FILE fp char str HELLO fp fopen PRN w fpus str fp fclose fp A 在屏幕上显示 HELLO B 把 HELLO 存入 PRN 文件中在打印机上打印出 HELLO 以 上都不对 6 若 fp 是指向某文件的指针 且已读到此文件末尾 则 库函数 feof fp 的返回值是 A EOF B 0 C 非零值 D NULL 7 以下叙述中不正确的是 A C 语言中的文本文件以 ASCII 码形式存储数据 B C 语言中对二进制位的访问速度比文本文件快 C C 语言中 随机读写方式不使用于文本文件 D C 语言中 顺序读写方式不使用于二进制文件 8 以下程序企图把从终端输入的字符输出到名为 abc txt 的文件中 直到从终端读 入字符 号时结束输入和输出操作 但程序有错 include main FILE fout char ch 23 fout fopen abc txt w ch fgetc stdin while ch fputc ch fout ch fgetc stdin fclose fout 出错的原因是 A 函数 fopen 调用形式有误 B 输入文件没有关闭 C 函数 fgetc 调用形式有误 D 文件指针 stdin 没有定义 9 若 fp 为文件指针 且文件已正确打开 i 为 long 型变量 以下程序段的输出 结果是 fseek fp 0 SEEK END i ftell fp printf i ld n i A 1 B fp 所指文件的长度 以字节为单位 C 0 D 2 二 填空题二 填空题 1 C 语言中根据数据的组织形式 把文件分为 和 两种 2 使用 fopen abc r 打开文件时 若 abc 文件不存在 则 3 使用 fopen abc w 打开文件时 若 abc 文件已存在 则 4 C 语言中文件的格式化输入输出函数对是 文件的数据块输入输出函 数对是 文件的字符串输入输出函数对是 5 C 语言中文件指针设置函数是 文件指针位置检测函数是 三 编程题三 编程题 1 编写一个程序 由键盘输入一个文件名 然后把从键盘输入的字符依次存放到 该文件中 用 作为结束输入的标志 2 编写一个程序 建立一个 abc 文本文件 向其中写入 this is a test 字符串 然后显示该文件的内容 3 编写一程序 查找指定的文本文件中某个单词出现的行号及该行的内容 4 编写一程序 fcat c 把命令行中指定的多个文本文件连接成一个文件 例如 fcat file1 file2 file3 它把文本文件 file1 file2 和 file3 连接成一个文件 连接后的文件名为 file1 24 第第 1 章章 C 语言概述语言概述 一 选择题 1 5 C B A C D 6 10 C C A C B 二 填空题 1 主函数 main 函数 2 函数的说明部分 函数体 3 最外层的一对大括弧内的部分 4 变量定义部分 执行部分 5 输入和输出函数 三 程序题三 程序题 1 把 You are welcome to China 这个句子以每个单词一行的形式显示在屏幕上 include main printf You n printf are n printf welcome n printf to China n 2 用三个 printf 语句把 I love Beijing Tiananmen 显示在一行上 include main printf I love printf Beijing printf Tiananmen n 第第 2 章章 数据类型与基本运算数据类型与基本运算 一 选择题 1 5 A B D B A 6 10 A B B A D 二 填空题 25 1 控制语句 空语句 复合语句 函数调用语句 表达式语句 2 函数调用 3 向终端输出一个字符 4 在终端设备上 或系统隐含的输出设备上 按照指定的格式进行输出 5 格式说明 普通字符 第第 3 章章 顺序结构程序设计顺序结构程序设计 编程题 1 include main char c1 c2 c1 getchar printf c d n c1 c1 c2 c1 A a printf c d n c2 c2 2 include include main float a b c disc x1 x2 realpart imagpart scanf f f f printf the equation if fabs a 1e 6 printf is not quadratic else disc b b 4 a c if fabs disc 1e 6 x1 b sqrt disc 2 a x2 b sqrt disc 2 a printf has distincr real roots 8 4f n x1 x2 else realpart b 2 a imagpart sqrt disc 2 a 26 printf has complex roots n printf 8 4f 8 4fi n realpart imagpart printf 8 4f 8 4fi n realpart imagpart 3 mian printf I am a student n printf I love China n 第第 4 章章 选择结构程序设计选择结构程序设计 一 选择题 1 5 B A D B B 6 10 A C D B D 二 填空题 1 else 与它前面最近的一个 if 配对 2 由键盘输入一个数 打印出它的类型标识符 3 if a b x 1 printf y d n y else y 2 printf x d n x 三 编程题 1 include include main float a b c s s1 printf Please enter 3 reals n scanf f f f if a b c s1 s s a s b s c s sqrt s1 printf nArea of the triangle is f n s else printf It is not triangle n 2 include 27 define pi 3 14159 main int k float r c a printf input r k n scanf f d switch k case 1 a pi r r printf area f n a break case 2 c 2 pi r printf circle f n c break cese 3 a pi r r c 2 pi r printf area f circle f n a c break 3 main int year leap scanf d if year 4 0 if year 100 0 if year 400 0 leap 1 else leap 0 else leap 1 else leap 0 if leap printf d is year else printf d is not year printf a leap year n 4 include main float x y scanf f if x 0 else if score 80 printf B else if score 70 printf C else if score 60 printf D else printf E 第第 5 章章 循环结构程序设计循环结构程序设计 一 选择题 1 5 A C C C B 6 10 D D A C B 二 填空题 1 1 先判断条件是否成立 为真 若成立 为真 再执行循环语句 2 先执行循环语句 再判断条件是否成立 为真 若成立则继续执行循环 若不成立 则结束循环 do while 至少执行一次循环语句 2 表达式 1 while 表达式 2 表达式 3 3 终止包含它的最内层循环的执行 或从 switch case 语句中跳出 执行后面的语 句 4 1 switch case 语句 2 循环 5 结束本次循环执行 三 编程题 1 mian int n 0 m 0 temp r printf Please Input m and n value n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鱼我所鱼也课件
- 魅力昆虫课件
- 济南市2024-2025学年七年级上学期语文月考模拟试卷
- 济南市2025-2026学年八年级上学期语文期中模拟试卷
- 高速铁路运行管理课件
- 高速收费站安全知识培训课件
- 工程造价咨询及财务审计项目服务方案
- 电脑课件保存至U盘无法打开问题
- 2025年公路水运工程施工企业安全生产管理人员考试题库
- 设备检测技术服务合同
- 企业保密区域管理制度
- 中国医疗信息化行业市场现状分析及发展趋势与投资前景研究报告2025-2028版
- 批量创伤伤员急救程序
- 研发中心建设项目可行性研究方案报告
- 2024年天津市静海县教育局公开招聘试题含答案分析
- 《酒吧服务与管理(第3版)》教案教案(模块十二)
- 健康养生+情绪价值+中华文化茶饮品牌走出消费“双循环”之路
- 2025年民族宗教政策法规学习月知识竞赛试题库(含答案)
- T/ZHCA 007-2019染发化妆品眼刺激性试验体外测试方法牛角膜浑浊和渗透性试验
- 电梯砝码租凭合同协议书
- 基于人工智能的性传播疾病预防个性化方案研究-洞察阐释
评论
0/150
提交评论