c语言函数首部voin fun,福建省计算机2级C语言-复习习题-题库

本文详细介绍了C语言的基础知识,包括语法、数据类型、运算符、控制结构、数组、指针、函数和预处理等方面。讨论了在编程过程中常见的问题,如变量声明、表达式求值、循环控制、字符串操作和数组使用等,并通过实例分析了错误和正确用法。此外,还涵盖了结构体和共用体的概念,以及它们在程序设计中的应用。
摘要由CSDN通过智能技术生成

1 第一部分 选择题 第一部分 选择题 40 分 分 20 小题小题 套 套 概述概述 1 下面关于 下面关于 C 语言的叙述中 正确的是 语言的叙述中 正确的是 A 每行只能写一条语句每行只能写一条语句 B 程序中必须包含有程序中必须包含有 输入语句输入语句 C main 函数必须位于文件的开头函数必须位于文件的开头 D 每条语句最后必每条语句最后必 须有一个分号须有一个分号 2 下面关于 下面关于 C 语言的叙述中 错误的是 语言的叙述中 错误的是 A 若一条语句较长 也可分写在下一行上若一条语句较长 也可分写在下一行上 B 构成构成 C 语言源程序的基本单位是表达式语言源程序的基本单位是表达式 C C 语言源程序中大 小写字母是有区别的语言源程序中大 小写字母是有区别的 D 一个一个 C 语言源程序可由一个或多个函数组成语言源程序可由一个或多个函数组成 3 关于关于 C 语言数据类型的叙述 正确的是 语言数据类型的叙述 正确的是 A 枚举类型不是基本类型枚举类型不是基本类型 B 数组不是构造类型数组不是构造类型 C 变量必须先定义后使用变量必须先定义后使用 D 不允许使用空类型不允许使用空类型 4 C 程序中程序中 main 函数的位置 函数的位置 A 必须在最开始必须在最开始 B 必须在系统库函数后面必须在系统库函数后面 C 可以在自定义函数后面可以在自定义函数后面 D 必须在最后必须在最后 5 C 语言的函数体由 括起来语言的函数体由 括起来 A B C D 6 关于 关于 C 语言的叙述中 不正确的是 语言的叙述中 不正确的是 A C 程序可由一个或多个函数组成程序可由一个或多个函数组成 B C 程序必须包含程序必须包含 2 一个一个 main 函数函数 C C 程序的基本组成单位是函数程序的基本组成单位是函数 D 注释说明只能注释说明只能 位于一条位于一条语句的后面语句的后面 7 一个程序的执行是从 一个程序的执行是从 A 本程序的第一个函数开始 到最后一个函数结束本程序的第一个函数开始 到最后一个函数结束 B 本程序的本程序的 main 函数开始 到函数开始 到 main 函数结束函数结束 C 本程序的本程序的 main 函数开始 到最后一个函数结束函数开始 到最后一个函数结束 D 本程序的第一个函数开始 到本程序的第一个函数开始 到 main 函数结束函数结束 8 结构化程序设计的三种基本结构是 结构化程序设计的三种基本结构是 A 函数结构 分支结构 判断结构函数结构 分支结构 判断结构 B 函数结构 函数结构 嵌套结构 平行结构嵌套结构 平行结构 C 顺序结构 分支结构 循环结构顺序结构 分支结构 循环结构 D 分支结构 分支结构 循环结构 嵌套结构循环结构 嵌套结构 9 调试程序是指对程序进行 调试程序是指对程序进行 A 编辑编辑 B 编译编译 C 查错和排错查错和排错 D 连接连接 10 C 语言中 复合语句的构成是将一系列语句置于 语言中 复合语句的构成是将一系列语句置于 A begin 与与 end 之间之间 B 一对圆括号一对圆括号 之之 间间 C 一对花括号一对花括号 之间之间 D 一对方括号一对方括号 之间之间 11 构成 构成 C 语言源程序的基本单位是 语言源程序的基本单位是 A 语句语句 B 过程过程 C 表达式表达式 D 函数函数 3 语法基础语法基础 12 在 在 C 语言中 正确的用户标识符是 语言中 正确的用户标识符是 A 3f B for C struct D f 5 13 C 语言的基本数据类型包括 语言的基本数据类型包括 A 整型 实型 字符型整型 实型 字符型 B 整型 实型 字整型 实型 字 符型 逻辑型符型 逻辑型 C 整型 字符型 逻辑型整型 字符型 逻辑型 D 整型 实型 逻整型 实型 逻 辑型辑型 14 以下 是正确的常量 以下 是正确的常量 A E 5 B 1E5 1 C a12 D 32766L 15 以下 是正确的变量名 以下 是正确的变量名 A a bee B p11 C int D p 11 16 以下 是正确的字符常量 以下 是正确的字符常量 A c B C W D 32a 17 以下 是不正确的字符串常量 以下 是不正确的字符串常量 A abc B 12 12 C 0 D 18 C 语言的整型数据在内存中的存储形式是 语言的整型数据在内存中的存储形式是 A 原码原码 B 反码反码 C 补码补码 D ASCII 码码 19 以下 是正确的浮点数 以下 是正确的浮点数 4 A e3 B 62 C 2e4 5 D 123 20 下列不属于 下列不属于 C 语言关键字的是 语言关键字的是 A continue B integer C static D signed 21 C 语言的字符型数据在内存中的存储形式是 语言的字符型数据在内存中的存储形式是 A 原码原码 B 补码补码 C 反码反码 D ASCII 22 在 在 C 语言中 变量所分配的内存空间大小是 语言中 变量所分配的内存空间大小是 A 由变量的类型决定由变量的类型决定 B 由用户自己决定由用户自己决定 C 任意的任意的 D 均为两个字节均为两个字节 23 若有定义 若有定义 int a 2 则正确的赋值表达式是 则正确的赋值表达式是 A a a 3 B double 1 C a 3 D a 4 3 24 语句 语句 x a 3 b a 运行后 运行后 x a b 的值依次为的值依次为 A 3 3 4 B 4 4 3 C 4 4 4 D 3 4 3 25 语句 语句 a 3 4 3 2 运行后 运行后 a 的值为 的值为 A 0 B 1 C 2 D 3 26 以下四项中 符合 以下四项中 符合 C 语言语法的语句是 语言语法的语句是 A int a b c B int a 12 b 12 c 12 C int a 12 b 12 c 12 D int a b 12 float c 21 27 若有定义 若有定义 int x a 则语句 则语句 x a 3 a 1 运行后 运行后 x a 的值依次为 的值依次为 5 A 3 3 B 4 4 C 4 3 D 3 4 28 若变量已正确定义并赋值 符合 若变量已正确定义并赋值 符合 C 语言语法的表达式语言语法的表达式 是 是 A a 8 b c a B a 3a C int 12 3 4 D a a 1 c b 29 若有定义 若有定义 int a b double x 则以下不符合则以下不符合 C 语言语语言语 法的表达式是法的表达式是 A x 3 B a 1 C a b 2 D x a b 30 若有定义 若有定义 int x 2 y 3 float i 则以下符合则以下符合 C 语言语语言语 法的表达式是法的表达式是 A x x 3 2 B x y 1 C i float x D i 3 31 若有定义 若有定义 int x 则语句 则语句 x 2 3 6 5 运行后 运行后 x 的的 值是 值是 A 8 B 7 C 6 D 5 32 下面关于 下面关于 C 语言变量的叙述中 错误的是 语言变量的叙述中 错误的是 A 可以用可以用 const 关键字定义变量关键字定义变量 B 在在 C 程序中 程序中 SUM 和和 sum 是不同的变量是不同的变量 C 变量名必须由字母或下划线组成变量名必须由字母或下划线组成 D 变量的类型变量的类型 确定了变量的取值范围确定了变量的取值范围 33 若有定义 若有定义 int x 5 y 6 则表达式则表达式 x y 6 的值为 的值为 6 A 5 B 1 C 6 D 0 34 下面叙述正确的是 下面叙述正确的是 A 2 3 与与 2 0 3 0 等价等价 B int 2 0 3 与与 2 3 等价等价 C 5 与与 6 等价等价 D A 与与 A 等价等价 35 下面叙述中 错误的是 下面叙述中 错误的是 A C 语言基本的算术运算符不包含模运算符语言基本的算术运算符不包含模运算符 B 算术运算符的优先级高于关系运算符算术运算符的优先级高于关系运算符 C 自加和自减运算符的结合方向是自加和自减运算符的结合方向是 自右向左自右向左 D C 语言规定在表达式求值时 按其中运算符的优先级先语言规定在表达式求值时 按其中运算符的优先级先 高后低的次序进行高后低的次序进行 36 下面叙述正确的是 下面叙述正确的是 A 强制类型转换运算的优先级高于算术运算强制类型转换运算的优先级高于算术运算 B 若若 a 和和 b 是整型变量 是整型变量 a b 是合法的是合法的 C A B 是不合法的是不合法的 D A B 是合法的是合法的 37 若有定义 若有定义 int i 1 j 5 则表达式则表达式 j i 的值为 的值为 A 1 B 0 C 6 D 7 38 设整型变量 设整型变量 a 为为 5 使 使 b 不为不为 2 的表达式是 的表达式是 A b a 3 B b 6 a C b a 2 D b a 2 39 若有定义 若有定义 int a 1 b 2 c 3 则语句则语句 a b运运 行后行后 b 的值为的值为 7 A 1 B 0 C 2 D 3 40 若有定义 若有定义 int i j 则表达式则表达式 i 2 j 5 i i j 的值是的值是 A 7 B 8 C 9 D 10 41 若有定义 若有定义 int a b 则表达式则表达式 a 2 b 5 a 2 b a b 的值是 的值是 A 7 B 8 C 9 D 10 42 若有定义 若有定义 int i 2 j 5 则表达式 则表达式 i 1 j 1 i j 的的 值为 值为 A 8 B 6 C 7 D 5 43 若已定义 若已定义 int i 3 k 则语句则语句 k i i 运行后运行后 k 的值的值 为 为 A 4 B 5 C 6 D 7 44 C 语言的运算符按运算对象的个数可以分为 语言的运算符按运算对象的个数可以分为 A 单目运算符一种单目运算符一种 B 单目和双目运算符单目和双目运算符 C 单目 双目和三目运算符单目 双目和三目运算符 D 单目 双目 三目和单目 双目 三目和 四目运算符四目运算符 45 若已定义 若已定义 float m 拟从键盘输入拟从键盘输入 135 78 这一数据给变这一数据给变 量量 m 则应选用的语句是 则应选用的语句是 A scanf 5 2f B scanf 3 2f C scanf 6 2f D scanf 6f 46 已知 已知 double a 使用使用 scanf 函数输入一个数值给变量函数输入一个数值给变量 a 正确的函数调用是 正确的函数调用是 8 A scanf ld B scanf lf C scanf c D scanf u 47 已知 已知 char a 使用使用 scanf 函数输入一个字符给变量函数输入一个字符给变量 a 不不正确的函数调用是正确的函数调用是 A scanf d B scanf lf C scanf c D scanf u 48 putchar 函数的功能是向终端输出 函数的功能是向终端输出 A 多个字符多个字符 B 一个字符一个字符 C 一个实型变量一个实型变量 值值 D 一个整型变量表达式一个整型变量表达式 49 以下程序段运行后的输出结果是 以下程序段运行后的输出结果是 int k 11 printf k d k o k x n k k k A k 11 k 13 k c B k 11 k 12 k 13 C k 11 k 13 k b D k 11 k 13 k a 50 若有定义 若有定义 int x 1234 y 123 z 12 则语句则语句 printf 4d 3d 2d x y z 运行后的输出结果为 运行后的输出结果为 A 123412312 B 12341234123412341231231231212 C 1234 1234 1234 D 1234 123 12 51 已有如下定义和输入语句 已有如下定义和输入语句 int a char c1 c2 scanf d c c 若要求若要求 a c1 c2 的值分别为的值分别为 10 A 和和 B 正确的数据 正确的数据 9 输入是 输入是 A 10AB B 10 A B C 10A B D 10 AB 52 以下程序段的运行结果是 以下程序段的运行结果是 int a 0 b 0 c 0 if a printf d d n b c A 0 0 B 1 2 C 2 2 D 1 0 53 以下程序的运行结果是 以下程序的运行结果是 void main int a 65 char c A printf x d b c A 65 a B 41 a C 65 65 D 41 65 54 若已定义 若已定义 int a 5 float b 63 72 以下语句中能输出正以下语句中能输出正 确值的是 确值的是 A printf d d a b B printf d 2f a b C printf 2f 2f a b D printf 2f d a b 55 运行以下程序段时编译出错 其原因是 运行以下程序段时编译出错 其原因是 10 char c1 8 c2 2008 printf c d n c1 c2 A c2 是字符变量 只能赋以字符常量 不能赋以字符串常是字符变量 只能赋以字符常量 不能赋以字符串常 量量 B 字符串要用字符串要用 2008 表示 而表示 而 2008 不是字符串表示不是字符串表示 C 2008 只能赋值给字符数组只能赋值给字符数组 D 字符变量不能用字符变量不能用 d 格式输出格式输出 56 若已定义 若已定义 int a 3 b 15 c 则语句则语句 c a b 运行后 运行后 c 的的 值为 值为 A 1 B 0 C t D f 57 在 在 C 语言中 判定逻辑值为语言中 判定逻辑值为 真真 的最正确的叙述是的最正确的叙述是 A 1 B 非非 0 的数的数 C 大于大于 0 的数的数 D 非非 0 的整数的整数 58 若已定义 若已定义 int a 36 b 30 c 则语句则语句 c a y 500 的的 C 语言表达式语言表达式 为 为 A y 500 B y 500 C 800 y 500 D y 500 60 若有定义 若有定义 int x 3 y 4 则表达式则表达式 x y 的值为 的值为 A 1 B 0 C 3 D 4 61 若有定义 若有定义 int i 7 j 8 则表达式则表达式 i j i j 的值为 的值为 A 1 B 变量变量 i 的值的值 C 0 D 变量变量 j 的的 值值 62 若希望当 若希望当 a 的值为奇数时 表达式的值为的值为奇数时 表达式的值为 真真 a 的的 值为偶数时 表达式的值为值为偶数时 表达式的值为 假假 则不能满足要求的表达 则不能满足要求的表达 式是 式是 A a 2 1 B a 2 0 C a 2 D a 2 63 若有定义 若有定义 int x 3 y 4 z 5 则值为则值为 0 的表达式是 的表达式是 A x 则表达式则表达式 a b c b c 的值的值 是 是 A 0 B 1 C 3 D 1 65 C 语言中 能正确表示条件语言中 能正确表示条件 10 x 20 的逻辑表达式是的逻辑表达式是 A 10 x10 x10则正确的赋值表达式是 则正确的赋值表达式是 A a a a 4 a 3 B a a 3 2 C a 3 D a double 2 68 已知 已知 char a R 则正确的赋值表达式是 则正确的赋值表达式是 A a a 4 B a 2 3 C a 256 D a 078 69 已知 已知 int a R 则正确的表达式是 则正确的表达式是 A a 10 B a int 3e2 C 2 a a D a a a a 3 70 设有语句 设有语句 float x 3 0 y 3 0 使使 x 值为值为 6 0 的表达式是的表达式是 A x y 4 B x y C x y 4 D x y 71 若有定义 若有定义 float x 3 5 int z 8 则表达式则表达式 x z 3 4 的值的值 为 为 A 3 75 B 3 5 C 3 D 4 72 设有语句 设有语句 int x 3 y 3 a 1 b 2 表达式 表达式 x a b float x 3 5 y 2 5 则表达式则表达式 float a b 2 int x int y 的值是 的值是 A 3 5 B 3 0 C 2 5 D 2 0 13 74 若有定义 若有定义 int b 7 float a 2 5 c 4 7 则表达式则表达式 a b 2 int a c 2 4 的值是 的值是 A 2 5 B 3 5 C 4 5 D 5 5 75 若有定义 若有定义 int a 6 b 2 char c1 a c2 b 则表达式则表达式 a b 5 c2 c1 的值是 的值是 A 7 B 8 C 9 D 表达式错误表达式错误 76 在下列运算符中 优先级最高的运算符是 在下列运算符中 优先级最高的运算符是 A 10 printf d n a else printf d n a A 2 B 11 C 3 D 12 79 以下程序的运行结果是 以下程序的运行结果是 void main int x y 1 z z 1 if z 0 z z else x y 0 3 5 printf d n x A 1 B 3 C 1 D 5 80 对于整型变量 对于整型变量 x 下属下属 if 语句 与赋值语句 语句 与赋值语句 x x 2 0 1 0 不等价 不等价 A if x 2 0 x 0 else x 1 B if x 2 x 1 else x 0 C if x 2 0 x 1 else x 0 D if x 2 1 x 0 else 15 x 1 81 以下程序段运行的结果是 以下程序段运行的结果是 int a b c x a b c 0 x 15 if a x else if b if c x 3 else x 4 printf d n x A 15 B 17 C 18 D 19 82 若有定义 若有定义 int a 1 b 2 c 3 则执行以下程序段后则执行以下程序段后 a b c 的值分别为 的值分别为 if a6 printf d n n else printf d n n A 4 B 5 C 6 D 7 87 下面关于 下面关于 switch 语句的叙述中 错误的是 语句的叙述中 错误的是 A case 后面的表达式可以是关系表达式后面的表达式可以是关系表达式 B switch 语句是多分支选择语句语句是多分支选择语句 C 每一个每一个 case 后面的值必须互不相同 否则会出现矛盾的后面的值必须互不相同 否则会出现矛盾的 18 现象现象 D 在执行一个在执行一个 case 分支后 可用一个分支后 可用一个 break 语句使流程跳语句使流程跳 出出 switch 语句语句 88 若有定义 若有定义 int a 1 b 2 c 3 则以下程序段运行后则以下程序段运行后 c 的值的值 为 为 if a b c a b else c a b A 2 B 0 C 1 D 1 89 若有定义 若有定义 int x 以下不会产生死循环的是 以下不会产生死循环的是 A for x getchar n B while 1 x C for i 10 i D for x 1 90 在循环语句的循环体中 在循环语句的循环体中 break 语句的作用是 语句的作用是 A 暂停程序的运行暂停程序的运行 B 结束本次循环结束本次循环 C 继续执行继续执行 break 语句之后的循环体各语句语句之后的循环体各语句 D 提前结束循环 接着执行该循环后续的语句提前结束循环 接着执行该循环后续的语句 91 以下程序段运行后 循环体中的以下程序段运行后 循环体中的 count 2 语句运语句运 行的次数为 行的次数为 int i j cuont 0 for i 1 i 4 i 19 count 2 printf d count A 4 次次 B 10 次次 C 16 次次 D 20 次次 92 在 在 c 语言中语言中 while 循环和循环和 do while 循环的主要区别是循环的主要区别是 A do while 循环体内可以使用循环体内可以使用 break 语句 语句 while 循环体内循环体内 不能使用不能使用 break 语句语句 B do while 的循环体至少无条件执行一次 的循环体至少无条件执行一次 while 的循环体的循环体 不是不是 C do while 循环体可以使用循环体可以使用 continue 语句 语句 while 循环体内循环体内 不能使用不能使用 continue 语句语句 D while 的循环体至少无条件执行一次 的循环体至少无条件执行一次 do while 的循环体的循环体 不是不是 93 以下程序段运行后 循环体运行的次数为 以下程序段运行后 循环体运行的次数为 int i 0 x for i 10 i x x i A 10 B 0 C 1 D 无限无限 94 以下程序段运行后变量 以下程序段运行后变量 n 的值为 的值为 int i 1 n 1 for i 3 i continue n n i 20 A 4 B 3 C 2 D 1 95 有以下程序 有以下程序 void main int i for i 0 i 3 i switch i case 1 printf d i case 2 printf d i case 3 printf d i 执行后输出的结果是 执行后输出的结果是 A 11122 B 01222 C 013020 D 120 96 以下程序的运行结果是 以下程序的运行结果是 void main int sum 0 item 0 while item 6 break printf d n sum A 10 B 15 C 6 D 7 97 以下程序的运行结果是 以下程序的运行结果是 voin main int sum 0 item 0 while item 5 item if item 2 continue sum item printf d n sum A 10 B 13 C 15 D 1 98 以下程序段执行后变量 以下程序段执行后变量 sum 的值为 的值为 22 int i j 1 sum 0 for i 1 i 3 i sum j j A 5 B 3 C 6 D 4 99 以下程序的运行结果是 以下程序的运行结果是 include main int y 10 do y while y printf d n y A 1 B 2 C 1 D 0 数组数组 100 C 语言中数组元素下标的数据类型是 语言中数组元素下标的数据类型是 A 实型常量实型常量 B 整型常量或整型表达式整型常量或整型表达式 23 C 任何类型的表达式任何类型的表达式 D 字符型常量字符型常量 101 下列数组定义中 正确的是 下列数组定义中 正确的是 A int a 10 B int n 10 a n C int N 10 int a N D int n scanf d int a n 102 若已定义 若已定义 int a 13 则不能正确引用则不能正确引用 a 数组的元素的数组的元素的 是是 A a 0 B a 10 C a 10 3 D a 13 5 103 若有定义 若有定义 int a 3 0 1 2 则则 a 1 的值为的值为 A 0 B 1 C 2 D 3 104 若有定义 若有定义 int a 5 1 2 3 4 5 则语句则语句 a 1 a 2 a 2 2 a 3 1 运行后运行后 a 1 的值为的值为 A 6 B 5 C 1 D 2 105 以下合法的数组定义是 以下合法的数组定义是 A int a string B int a 5 0 1 2 3 4 5 C char a 0 1 2 3 4 5 D char s string 106 若有如下程序段 若有如下程序段 char s 10 s abcd printf s n s 则 则 24 A 执行时输出 执行时输出 abcd B 执行时输出 执行时输出 a C 执行时输出 执行时输出 ab D 编译不通过编译不通过 107 下面程序段的运行结果是 下面程序段的运行结果是 int i 0 a 7 5 7 3 8 3 do a i 2 while a i 5 for i 0 i2 for i 0 i 5 i printf d a i A 11 2 3 4 5 B 1 2 3 4 5 C 11 12 13 14 15 D 11 12 3 4 5 25 109 西面关于数组的叙述中 正确的是 西面关于数组的叙述中 正确的是 A 数组必须先定义 然后使用数组必须先定义 然后使用 B 定义数组时 可不加类型说明符定义数组时 可不加类型说明符 C 定义数组后 可通过赋值运算符定义数组后 可通过赋值运算符 对该数组名直接对该数组名直接 赋值赋值 D 在数据类型中 数组属于基本类型在数据类型中 数组属于基本类型 110 一下程序段的运行结果是 一下程序段的运行结果是 int i 0 a 6 5 3 7 do a i while a i 4 for i 0 i 4 i printf d a i A 6537 B 7563 C 7537 D 5673 111 有如下程序段 有如下程序段 int t 3 1 2 3 4 5 6 7 8 9 10 11 12 printf d n t 2 1 则执行该程序段后输出结果是 则执行该程序段后输出结果是 A 8 B 7 C 4 D 2 112 以下程序段运行后 以下程序段运行后 s 的值是 的值是 int a 3 3 1 2 3 1 2 3 1 2 3 int i j s 1 26 for i 0 i 3 i for j i j 3 j s a i j A 18 B 108 C 2 D 12 113 以下不能对二维数组 以下不能对二维数组 arr 进行正确初始化的语句是进行正确初始化的语句是 A int arr 2 3 0 B int arr 3 1 2 3 4 5 C int arr 2 3 1 2 3 4 5 6 D int arr 2 3 1 3 4 5 114 若有定义 若有定义 int a 3 4 1 2 0 1 2 3 则则 a 1 1 的的 值为 值为 A 0 B 1 2 C 1 D 3 115 若有定义 若有定义 int a 3 3 则表达式则表达式int a 3 3 1 2 3 4 5 6 7 8 9 则则 以下程序段运行后以下程序段运行后 x 的值为 的值为 for i 3 i x a i 2 i A 0 B 12 C 15 D 18 117 若有定义 若有定义 int a 2 3 则对数组元素的非法引用的是则对数组元素的非法引用的是 A a 0 1 2 B a 1 1 C a 4 4 0 D a 0 3 27 118 以下数组定义中 正确的是 以下数组定义中 正确的是 A int a 2 1 2 3 4 5 B int a 2 0 C int a 2 2 1 2 3 D int a 1 2 3 4 119 若有定义 若有定义 int a 3 1 2 3 4 5 6 7 8 9 则表达式则表达式 sizeof a sizeof a 0 的值为 的值为 A 3 B 4 C 5 D 9 120 以下程序段运行后 以下程序段运行后 s 的值是 的值是 int a 3 3 1 2 3 4 5 1 2 3 4 int i j s 1 for i 0 i 3 i for j i 1 j 3 j s a i j A 6 B 120 C 24 D 480 121 设已定义 设已定义 int a 4 0 0 则下列描述错误的是 则下列描述错误的是 A 数组数组 a 的每个元素都可得到初值的每个元素都可得到初值 0 B 二维数组二维数组 a 的第一维大小为的第一维大小为 1 C 数组数组 a 的行数为的行数为 1 D 只有元素只有元素 a 0 0 和和 a 0 1 可得到初值可得到初值 0 其余元素均得 其余元素均得 不到初值不到初值 0 122 设已定义 设已定义 char str1 10 str2 10 Fujian 则能将 则能将 字符串字符串 Fujian 赋给数组赋给数组 str1 的正确语句是 的正确语句是 A str1 Fujian B strcpy str1 str2 C 28 strcpy str2 str1 D str1 str2 123 有如下定义 有如下定义 char str 3 2 a b c 0 e f 则语则语 句 句 printf s str 0 的输出结果是 的输出结果是 A ab B abcef C abc 0 D abc 124 设有如下数组定义 设有如下数组定义 char str 8 Fujian 则分配给则分配给 数组数组 str 的存储空间是 字节的存储空间是 字节 A 6 B 7 C 8 D 9 125 若有定义 若有定义 char a abcdef char b xyz 则以下则以下 程序段运行后屏幕输出为 程序段运行后屏幕输出为 strcpy a b printf c a 2 A c B z C 0 D d 126 以下程序段运行后屏幕输出为 以下程序段运行后屏幕输出为 char a abc 0mis printf d strlen a A 5 B 8 C 3 D 4 127 若有定义 若有定义 int a 2 则语句则语句 a strcmp miss miss 运行后运行后 a 的值为 的值为 A 1 B 0 C 1 D 2 128 以下对 以下对 C 语言字符数组描述中 正确的是 语言字符数组描述中 正确的是 A 可以用可以用 length 函数计算字符数组中字符串的长度函数计算字符数组中字符串的长度 B 可以在赋值语句中通过赋值运算符可以在赋值语句中通过赋值运算符 对字符数组整体对字符数组整体 29 赋值赋值 C 存放在字符数组中的字符串 以存放在字符数组中的字符串 以 0 作为该字符串结束标作为该字符串结束标 志志 D 字符数组只能存放字符串 不能存放字符字符数组只能存放字符串 不能存放字符 129 以下程序段运行后屏幕输出为 以下程序段运行后屏幕输出为 char str 80 strcpy str hello printf d strlen str A 5 B 6 C 7 D 80 130 若有定义 若有定义 char str1 6 abcdm ps str2 abcdef 则 是正确的则 是正确的 A strcpy str1 str2 B 表达式表达式 strcmp str1 str2 的值的值 大于大于 0 C str1 str2 D 表达式表达式 strlen str1 的值为的值为 6 131 已有定义 已有定义 char str1 15 university str2 15 则以则以 下语句中正确的是 下语句中正确的是 A str2 str1 B str2 college C scanf s D printf s str1 132 设已定义 设已定义 char s1 20 You are s2 9 welcome 若要形成字符串若要形成字符串 You are welcome 正确的语句是 正确的语句是 A strcat s1 s2 B strcpy s1 s2 C s1 s2 D s1 for j 0 j 4 j printf 2d array 2 j printf n main int a 4 4 0 1 2 0 1 0 0 4 2 0 0 5 0 4 5 0 fun a A 2 0 0 5 B 1 0 0 4 C 0 1 2 0 D 0 4 5 0 135 C 语言允许函数值类型缺省定义 此时该函数值隐含语言允许函数值类型缺省定义 此时该函数值隐含 的类型是 的类型是 31 A float 型型 B long 型型 C int 型型 D double 型型 136 以下程序运行后屏幕输出为 以下程序运行后屏幕输出为 include int f int x int y return x y main int a 2 b 3 c c f a b printf d d d n a b c A 0 B 2 3 5 C 2 3 0 D 3 2 5 137 以下程序运行后屏幕输出为 以下程序运行后屏幕输出为 include int a 2 b 3 int max int a int b int c c a b a b 32 return c main int a 4 printf d max a b A 3 2 B 2 C 3 D 4 138 以下程序的运行结果是 以下程序的运行结果是 fun int i int a 2 a i printf d a main int a 5 c 3 fun c printf d a A 4 5 B 3 5 C 4 4 D 3 3 33 139 若有如下函数定义 若有如下函数定义 int fun static int k 0 return k 以下程序段运行后屏幕输出为 以下程序段运行后屏幕输出为 int i for i 1 i 5 i fun printf d fun A 0 B 1 C 5 D 6 140 下面程序的输出结果是 下面程序的输出结果是 include int global 100 fun int global 5 return global void main printf d n fun 34 A 100 B 101 C 5 D 6 141 下列关于 下列关于 C 语言函数的描述中 正确的是 语言函数的描述中 正确的是 A 函数的定义可以嵌套 但函数的调用不可以嵌套函数的定义可以嵌套 但函数的调用不可以嵌套 B 函数的定义不可以嵌套 但函数的调用可以嵌套函数的定义不可以嵌套 但函数的调用可以嵌套 C 函数的定义和函数的调用都可以嵌套函数的定义和函数的调用都可以嵌套 D 函数的定义和函数的调用都不可以嵌套函数的定义和函数的调用都不可以嵌套 142 以下程序的运行结果是 以下程序的运行结果是 fun int x int y int z z xy z y else z x return z A 7 9 B 7 C 6 3 D 6 144 以下程序的运行结果是 以下程序的运行结果是 define M a b a b main int x 3 y 2 s1 s2 s1 M x y x y s2 M x y x y 36 printf d d n s1 s2 A 1 7 B 5 5 C 7 1 D 5 5 145 以下叙述中 正确的是 以下叙述中 正确的是 A define PRICE 30 定义了与定义了与 30 等价的符号常量等价的符号常量 PRICE B 预编译处理命令行都必须以预编译处理命令行都必须以 开头开头 C 程序中使用带参的宏时 参数类型要与宏定义时一致程序中使用带参的宏时 参数类型要与宏定义时一致 D 宏名只能包含大写字母和数字字符宏名只能包含大写字母和数字字符 146 以下叙述中 正确的是 以下叙述中 正确的是 A 宏展开不占用运行空间 只占用编译时间宏展开不占用运行空间 只占用编译时间 B 预编译处理命令行必须以分号结束预编译处理命令行必须以分号结束 C 一个源程序只能有一个预编译处理命令行一个源程序只能有一个预编译处理命令行 D 使用带参数的宏定义时 应该说明每个参数的数据类型使用带参数的宏定义时 应该说明每个参数的数据类型 147 以下的叙述中不正确的是 以下的叙述中不正确的是 A 宏展开不占用运行时间 只占用编译时间宏展开不占用运行时间 只占用编译时间 B 宏宏 名无类型名无类型 C 宏名必须用大写字母表示宏名必须用大写字母表示 D 预预 处理命令行都必须以处理命令行都必须以 号开始号开始 148 若有定义 若有定义 define PI 3 在表达式 在表达式 PI 2 2 的值为的值为 A 12 B 4 C 3 D 不确定不确定 37 149 以下程序运行后 屏幕输出为 以下程序运行后 屏幕输出为 define MIN a b a b a b main int x 2 y 3 z z 2 MIN x y printf d z A 2 B 3 C 4 D 6 150 下列 下列 include 命令中 正确的是 命令中 正确的是 A inclue string h B include string h C include string h D include 151 下面程序的输出结果是 下面程序的输出结果是 include define ONE 1 define TWO ONE 1 define THREE TWO 1 void main printf d n THREE ONE A 产生错误产生错误 B 1 C 2 D 3 38 152 以下叙述中正确的是 以下叙述中正确的是 A 预处理命令行必须位于预处理命令行必须位于 C 源程序的起始位置源程序的起始位置 B 在在 C 语言中 预处理命令行都以语言中 预处理命令行都以 开头开头 C 每个每个 C 程序必须在开头包含预处理命令行 程序必须在开头包含预处理命令行 include D C 语言的预处理只能实现宏定义和条件编译的功能语言的预处理只能实现宏定义和条件编译的功能 153 以下程序的运行结果是 以下程序的运行结果是 define ADD x x x main int m 1 n 2 k k ADD m n 3 printf d k A 9 B 10 C 12 D 18 154 下面程序的运行结果是 下面程序的运行结果是 define M 10 define S x x x define F x x x main int n1 n2 39 n1 1000 S M n2 1000 F M printf d d n n1 n2 A 10 10 B 1000 10 C 10 1000 D 1000 1000 指针指针 155 设有以下语句 则 是对 设有以下语句 则 是对 a 数组元素的不正确引用 数组元素的不正确引用 其中其中 0 i 10 int a 10 0 1 2 3 4 5 6 7 8 9 p a A a p a B 则指针变量则指针变量 p1 p2 不能进行运不能进行运 算的是 算的是 A B C D 157 以下关于指针概念的叙述中 错误的是 以下关于指针概念的叙述中 错误的是 A 一个指针变量只能指向同一类型的变量一个指针变量只能指向同一类型的变量 B 一个变量一个变量 的地址称为该变量的指针的地址称为该变量的指针 C 两个同类型的指针变量可以作加减运算两个同类型的指针变量可以作加减运算 D 任何指针变量都可以与空指针任何指针变量都可以与空指针 NULL 进行比较进行比较 158 以下程序段运行后 以下程序段运行后 p 3 的值为 的值为 40 char a good char p p a A d B 0 C 存放存放 d 的地址的地址 D 0 159 以下程序段运行后 以下程序段运行后 p 的值为 的值为 char a 5 work char p p a A w B 存放存放 w 的地址的地址 C o D 存存 放放 o 的地址的地址 160 若有定义 若有定义 int p a 4 p 则以下均代表地址的是则以下均代表地址的是 A a p B 则能通过则能通过 scanf 语句正确语句正确 给输入项读入数据的程序段是 给输入项读入数据的程序段是 A p scanf lf p B p scanf lf p C p D p scanf lf p 162 若已定义 若已定义 int x 12 对对 int int p p 和和 p x p x 这两条这两条 语句的正确理解是 语句的正确理解是 A 语句语句 是在对指针变量是在对指针变量 p p 定义时初始化 使定义时初始化 使 p p 指向指向 x x 而语句而语句 是将变量是将变量 x x 的值赋给指针变量的值赋给指针变量 p p 所指向的变量所指向的变量 B 语句语句 和和 中的中的 p p 含义相同 都表示给指针变量赋值含义相同 都表示给指针变量赋值 41 C 语句语句 是在对指针变量是在对指针变量 p p 定义时初始化 使定义时初始化 使 p p 指向指向 x x 而语句而语句 是将变量是将变量 x x 的值赋给指针变量的值赋给指针变量 p p D 语句语句 和和 的执行结果都是把变量的执行结果都是把变量 x x 的地址赋给指针变的地址赋给指针变 量量 p p 163 下面语句正确的是 下面语句正确的是 A int p p 20 B char s abcdef printf s n s C char str abcd str D char str a b c printf s str 164 若有定义 若有定义 int a 2 3 p a 则以下不能表示数组元素则以下不能表示数组元素 a 1 2 的是 的是 A a 1 2 B p 1 2 C p 5 D p 5 165 若已定义 若已定义 int a 5 p 且且 p 则以下表示中不正确则以下表示中不正确 的是 的是 A int a 3 1 2 3 4 5 6 7 8 9 10 11 12 p a 42 A a i j B p i j C p i j D p i j 167 以下程序段的运行结果是 以下程序段的运行结果是 int x 2 3 4 5 6 7 p x int i s 0 for i 1 i 6 i s p i printf d s A 12 B 15 C 25 D 27 168 下面程序的运行结果是 下面程序的运行结果是 main int x 36 y 63 int p q t p q t p p q q t printf d d n x y A 36 36 B 63 63 C 36 63 D 63 36 169 以下程序段运行后 以下程序段运行后 x 的值为 的值为 int a 1 2 3 4 5 6 7 43 int i x p x 1 p for i 0 i 3 i x p i A 不确定不确定 B 24 C 120 D 60 170 以下程序段运行后 以下程序段运行后 x 的值为 的值为 int a 1 2 3 b 4 2 5 int p q int i x p a q b for i 0 i 3 i if p i q i x p i 2 A 2 B 4 C 5 D 不确定不确定 171 以下程序运行结果是 以下程序运行结果是 main char a 1357 p for p a p a 4 p printf s p 44 A 1357 B 1357357577 C 7531 D 7531531311 172 下面程序的输出结果是 下面程序的输出结果是 include void main int i char s abc for i 0 i 3 i printf s n s i A abc bc c B c bc abc C abc c bc D a 45 ab abc 173 下面程序的输出结果是 下面程序的输出结果是 include void main char str 12345 ps str 4 printf c n ps 4 A 1 B 2 C 3 D 错误错误 174 以下程序执行时 输入 以下程序执行时 输入 1 2 3 4 5 输出为 输出为 include define N 5 void main int a N int p a while pa printf d p 46 A 5 4 3 2 1 B 1 2 3 4 5 C 2 3 4 5 1 D 4 3 2 1 5 175 以下程序段的运行结果是 以下程序段的运行结果是 int x 2 3 4 5 6 7 p x int i s 0 for i 1 i 6 i 2 s p i 3 5 7 printf d s A 27 B 25 C 12 D 15 176 以下程序运行结果 以下程序运行结果 main int a 9 8 7 6 5 4 p q i p a q p 5 for i 0 i 6 i printf d d p i q i A 948576675849 B 948576 C 495867 D 495867768594 结构体和共用体 177 以下程序段的运行结果 以下程序段的运行结果 union 47 int num char str 2 s s num 20 s str 0 A s str 1 0 printf d s num A 20 B 65 C 0 D A 178 定义一个结构体变量后 该变量所占内存大小是 定义一个结构体变量后 该变量所占内存大小是 A 结构体中第一个成员所需内存容量结构体中第一个成员所需内存容量B 结构体中最后一结构体中最后一 个成员所需内存容量个成员所需内存容量 C 结构体中各成员所需内存容量总和结构体中各成员所需内存容量总和D 结构体成员中占结构体成员中占 内存容量最大者所需的容量内存容量最大者所需的容量 179 设有如下定义 设有如下定义 union u type int x float y double z char m a b c 48 执行语句执行语句 a x 8 a y 7 5 a m N b x 9 后 共用体变量后 共用体变量 a 中中 的值为 的值为 A 9 B N C 7 5D 8 180 若有定义 若有定义 struct teacher int num char name 10 char sex int age float score teacher1 则变量则变量 teacher1 所占用的内存字节数是 所占用的内存字节数是 A 5 B 14 C 19 D 20 181 下列对结构体类型变量定义不正确的是 下列对结构体类型变量定义不正确的是 A struct teacher int num int age teach1 B struct 49 int num int age teach1 teach2 C struct int num int age teacher struct teacher teach1 D struct teacher int num int age struct teacher teach1 182 若有定义 若有定义 struct teacher int num char sex int age teacher1 50 则下列叙述不正确的是 则下列叙述不正确的是 A struct 是结构体类型的关键字是结构体类型的关键字 B struct teacher 是用户定义的结构体类型是用户定义的结构体类型 C num sex age 都是结构体变量都是结构体变量 teacher1 的成员的成员 D teacher1 是结构体类型名是结构体类型名 183 以下程序的运行结果是 以下程序的运行结果是 include union Utype int i float f u 2 void main printf d n sizeof u A 2 B 4 C 6 D 8 184 以下程序的运行结果是 以下程序的运行结果是 include union Utype int i 51 flaot f struct char ch 2 int i union Utype u a void main

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值