欢迎访问本站!这是一条测试公告。
想要快速找到正确答案?
立即关注 九八五题库微信公众号,轻松解决学习难题!
作业辅导
扫码关注
论文指导
轻松解决学习难题!
中国大学MOOC(第十期)高级语言程序设计作业答案
(第十期)高级语言程序设计
学校: 九八五题库
学校: 超星学习通
题目如下:
1. 1. 在C语言中,标识符只能包含以下哪些字符?
A. 字母、数字和下划线
B. 字母、数字和空格
C. 字母、数字和特殊字符
D. 字母、数字、下划线和空格
答案: 字母、数字和下划线
2. 2. 在C语言中,以下哪个不是合法的标识符?
A. _myVar
B. for
C. 2ndNumber
D. my_Function
答案: 2ndNumber
3. 3. C语言中,基本数据类型不包括以下哪个?
A. int
B. float
C. string
D. char
答案: string
4. 4. 下列哪个语句是C语言中的正确赋值语句?
A. x = 5;
B. 5 = x;
C. x + y = 10;
D. x == 5;
答案: x = 5;
5. 5. 在C语言中,以下哪个符号用于表示注释的开始?
A. //
B. /*
C. */
D. #
答案: //
6. 6. C语言中,用于定义常量的关键字是?
A. var
B. const
C. define
D. final
答案: const
7. 7. 下列哪个是C语言中的标准输出函数?
A. scanf()
B. printf()
C. getchar()
D. putchar()
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
8. 8. 在C语言中,以下哪个是合法的if语句?
A. if x > 5 then x = 10;
B. if (x > 5) x = 10;
C. if x > 5 { x = 10; }
D. if (x > 5) { x = 10; }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
9. 9. C语言中,用于声明整型变量的关键字是?
A. float
B. char
C. int
D. double
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
10. 10. 下列哪个是C语言中的循环语句?
A. if
B. else
C. for
D. switch
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
11. 1. 当使用带参数的main函数时,参数argc表示什么?
A. 命令行参数的数量
B. 命令行参数的内容
C. 程序的返回值
D. 程序的执行状态
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
12. 2. 在带参数的main函数中,参数argv是什么类型的?
A. int数组
B. char数组
C. char指针数组
D. int指针数组
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
13. 3. 如果一个程序使用带参数的main函数,并且用户从命令行输入了“program.exe arg1 arg2”,那么argc的值是多少?
A. 0
B. 1
C. 2
D. 3
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
14. 1. 在C语言中,如果一个源程序由多个文件构成,通常会有一个文件包含什么?
A. 所有函数的实现
B. main函数和全局变量的声明
C. 所有头文件的包含指令
D. 所有宏定义
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
15. 2. 当一个C语言源程序由多个文件构成时,这些文件之间可以通过什么方式相互关联?
A. 只能通过全局变量
B. 只能通过函数调用
C. 通过函数调用、全局变量、头文件包含等方式
D. 只能通过头文件包含
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
16. 3. 在由多个文件构成的C语言源程序中,编译和链接的过程是怎样的?
A. 先分别编译每个.c文件生成目标文件,然后再将所有目标文件(其中必须包含一个定义了main函数的目标文件)链接成一个可执行文件。
B. 先将所有.c文件合并成一个大的.c文件,然后再编译和链接。
C. 先编译包含一个main函数的.c文件,然后再编译其他.c文件,最后只链接包含main函数的目标文件和其他某个特定目标文件。
D. 先链接所有.c文件,然后再编译生成可执行文件。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
17. 1. 下列叙述错误的是( )。
A. 一个C语言程序只能实现一种算法
B. C语言程序可以由多个程序文件组成
C. C语言程序可以由一个或多个函数组成
D. 一个C语言函数可以单独作为一个C语言程序文件存在
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
18. 2. C语言规定,在一个源程序中main函数的位置( )。
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
19. 3. C语言源程序的基本组成单位是( )。
A. 函数
B. 字符
C. 模块
D. 语句
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
20. 4. 下列叙述中正确的是( )。
A. 每个C语言程序文件中都必须要有一个main()函数
B. 在C语言程序中main()函数的位置是固定的
C. C语言程序中所有函数之间都可以相互调用,与函数所在位置无关
D. 在C语言程序的函数中不能定义另一个函数
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
21. 1. C语言中的数据类型主要分为哪两大类?
A. 数值型与非数值型
B. 基本类型与派生类型
C. 整型与浮点型
D. 基本类型与自定义类型
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
22. 2. 在C语言中,数据类型是根据什么来分类的?
A. 数据的存储方式
B. 数据的表示范围
C. 数据的用途
D. 数据的长度
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
23. 3. 以下哪个不是C语言中的基本数据类型?
A. 数组
B. 浮点型
C. 字符型
D. 整型
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
24. 4. C语言中的数据类型是用来做什么的?
A. 定义变量的性质
B. 存储数据
C. 控制程序流程
D. 实现函数功能
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
25. 5. 在C语言中,为什么需要不同的数据类型?
A. 为了简化编程
B. 为了提高程序的运行效率
C. 为了更好地描述和处理现实世界中的数据
D. 为了增加程序的复杂性
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
26. 6. 在C语言中,以下哪个是合法的字符常量?
A. 'abc'
B. "a"
C. '\082'
D. '\n'
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
27. 7. 在C语言中,以下哪个是合法的整型常量?
A. 078
B. 0x7G
C. 037
D. 2E10
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
28. 8. 在C语言中,以下哪个不是合法的浮点型常量?
A. 3.14
B. 1E3
C. 0.329*10^2
D. .001
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
29. 9. 在C语言中,以下哪个运算符用于求两个数的余数?
A. %
B. /
C. *
D. +
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
30. 10. 在C语言中,以下哪个是合法的变量名?
A. 2sum
B. sum-2
C. _sum
D. sum!
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
31. 11. 在C语言中,以下哪个不是合法的赋值语句?
A. x = y + 5;
B. y = int(x);
C. x + y = 5;
D. x = 5;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
32. 1. short int 类型占用的字节数通常是?
A. 1
B. 2
C. 4
D. 8
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
33. 1. 在C语言中,表达式5 % 2的结果是?
A. 2
B. 2.5
C. 1
D. 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
34. 2. 以下哪个运算符在C语言中用于逻辑非操作?
A. &&
B. ||
C. !
D. ^
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
35. 3. 在C语言中,a++是一个什么操作?
A. 先增加,后使用
B. 先使用,后增加
C. 仅增加
D. 仅使用
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
36. 4. 如果a = 3,那么a += a -= a * a之后a的值是?
A. -3
B. 9
C. -12
D. 0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
37. 5. 以下哪个运算符在C语言中用于求两个数的最大值?
A. <
B. >
C. <=
D. >=
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
38. 6. 表达式!0的值是?
A. 0
B. 1
C. -1
D. 非法
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
39. 7. 在C语言中,x = y = z = 1;是合法的语句吗?
A. 是
B. 否
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
40. 8. 如果x = 2,那么x *= 3 + 2之后x的值是?
A. 10
B. 12
C. 20
D. 6
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
41. 9. 以下哪个运算符在C语言中用于整除?
A. /
B. %
C. *
D. +
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
42. 10. 表达式3 < 5 > 2的值是?
A. 1
B. 0
C. 3
D. 5
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
43. 11. 在C语言中,a--是一个什么操作?
A. 先减少,后使用
B. 先使用,后减少
C. 仅减少
D. 仅使用
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
44. 12. 如果a = 5,b = 2,那么a / b的结果是?
A. 2
B. 2.5
C. 3
D. 编译错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
45. 13. 以下哪个运算符在C语言中用于按位与操作?
A. &
B. |
C. ^
D. ~
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
46. 14. 如果a = 7,那么a %= 3之后a的值是?
A. 1
B. 2
C. 3
D. 4
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
47. 15. 表达式5 << 2的结果是?
A. 20
B. 10
C. 40
D. 5
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
48. 16. 在C语言中,sizeof是一个什么运算符?
A. 算术运算符
B. 关系运算符
C. 逻辑运算符
D. 特殊运算符
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
49. 17. 如果a = 5,那么a *= a + 3之后a的值是?
A. 20
B. 30
C. 40
D. 50
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
50. 18. 以下哪个运算符在C语言中用于按位异或操作?
A. &
B. ^
C. |
D. ~
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
51. 19. 表达式!1的值是?
A. 0
B. 1
C. -1
D. 非法
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
52. 20. 在C语言中,x = (y = 5) + (z = 3);之后,x的值是?
A. 5
B. 3
C. 8
D. 15
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
53. 1. 要表达数学中的两个数a和b之间的大小,正确的C语言关系式是
A.
B.
C.
D. a>=b
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
54. 2. 已知直角三角形的两直角边长度为3和4,则求直角三角形的面积公式为:
A. (3*4)/2
B. float(3*4)/2.0
C. float(3*4)/2
D. (3*4)/2.0
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
55. 1. 在C语言中,以下哪一项不属于三种基本控制结构之一?
A. 顺序结构
B. 选择结构
C. 循环结构
D. 递归结构
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
56. 2. 选择结构主要通过哪个语句实现条件分支?
A. for
B. if
C. while
D. switch
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
57. 3. 在C语言中,要实现“如果...否则...”的逻辑,应使用哪组语句?
A. if...else
B. while...do
C. for...if
D. switch...case
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
58. 4. 循环结构不包括以下哪种形式?
A. for循环
B. while循环
C. do...while循环
D. if...else循环
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
59. 5. 关于C语言中的控制结构,以下哪个描述是错误的?
A. 顺序结构是最基本的结构,程序按照代码的顺序执行。
B. 选择结构用于根据条件执行不同的代码块。
C. 循环结构用于重复执行一段代码直到满足特定条件。
D. 递归结构是一种特殊的循环结构,用于解决可以分解为相似子问题的问题。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
60. 6. 在C语言中,switch语句主要用于处理什么情况?
A. 多重循环
B. 多重条件判断
C. 多重选择分支
D. 多重递归调用
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
61. 7. 以下哪个不是for循环的控制部分?
A. 初始化表达式
B. 循环条件表达式
C. 循环体
D. 迭代表达式
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
62. 8. 使用while循环时,循环条件的检查发生在什么时候?
A. 循环体执行之前
B. 循环体执行之后
C. 循环体执行过程中
D. 循环体执行前后各一次
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
63. 9. 在do...while循环中,循环条件的检查发生在什么时候?
A. 循环体执行之前
B. 循环体执行之后
C. 循环体执行过程中
D. 编译时
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
64. 10. 在C语言中,要实现“除非...否则...”的逻辑,最接近的实现方式是?
A. 使用if语句的否定条件
B. 使用switch语句
C. 使用for循环
D. 使用goto语句跳转
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
65. 1. 下列关于顺序结构程序设计的描述中,哪个是正确的?
A. 顺序结构程序设计只能用于处理简单的逻辑问题。
B. 顺序结构程序设计无法实现复杂的算法。
C. 顺序结构程序设计是C语言程序设计的基础,所有程序都包含顺序结构。
D. 顺序结构程序设计在实际应用中很少使用。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
66. 2. 下列哪个选项不是顺序结构程序设计中的基本语句?
A. 表达式语句
B. 函数调用语句
C. 控制语句
D. 空语句
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
67. 3. 在顺序结构程序设计中,如果需要在程序中添加注释,应该将其添加到哪个位置?
A. 程序的开始处
B. 程序的结束处
C. 程序的任意位置,只要不影响程序的执行
D. 程序的固定位置,不能随意更改
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
68. 4. 下列哪个选项不是顺序结构程序设计中的常见错误?
A. 语句书写顺序错误,导致程序逻辑不正确。
B. 变量定义位置不当,导致程序编译错误。
C. 使用了错误的运算符或表达式,导致程序运行结果不正确。
D. 程序中包含了无法执行的死循环。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
69. 5. 下列哪个选项不是顺序结构程序设计的特点?
A. 程序执行过程中,各语句的执行顺序与它们编写的顺序相同。
B. 程序中不包含任何分支和循环结构。
C. 顺序结构程序设计简单直观,易于理解和维护。
D. 顺序结构程序设计无法处理复杂的逻辑问题。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
70. 6. 在顺序结构程序设计中,如果需要在程序中插入一条新的语句,应该将其插入到哪个位置?
A. 程序的开始处
B. 程序的结束处
C. 原有语句的任意位置,只要保证逻辑正确
D. 原有语句的固定位置,不能随意更改
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
71. 1. 在C语言中,若int a = 5;,则表达式~a的值是?
A. -6
B. -5
C. 6
D. 取决于系统位数
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
72. 2. 在C语言中,若int a = 5, b = 2;,则表达式a ^ b的值是?
A. 0
B. 3
C. 5
D. 7
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
73. 3. 在C语言中,若int a = 5;,则表达式!a的值是?
A. 0
B. 1
C. -1
D. 非0值
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
74. 4. 在C语言中,若int a = 5, b = 2;,则表达式a | b的值是?
A. 0
B. 3
C. 5
D. 7
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
75. 1. 在C语言程序设计中,顺序结构程序的基本语句不包括以下哪一项?
A. 表达式语句
B. 函数调用语句
C. 控制语句
D. 空语句
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
76. 2. 表达式语句在C语言程序中的作用是什么?
A. 仅用于计算表达式的值
B. 仅用于输出表达式的值
C. 可以计算表达式的值,并可能产生副作用(如修改变量的值)
D. 仅用于声明变量
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
77. 3. 下列哪个选项不是函数调用语句的正确形式?
A. printf("Hello, World!");
B. int result = add(3, 4);
C. scanf("%d", &number);
D. if (condition) function();
E. 没有选项
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
78. 4. 空语句在C语言程序中的作用是什么?
A. 它是一个占位符,用于在语法上需要语句但逻辑上不需要执行任何操作的地方
B. 它用于声明变量
C. 它用于结束循环或条件语句
D. 它没有实际作用,只是浪费空间
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
79. 5. 下列哪个选项是关于复合语句的正确描述?
A. 复合语句是用花括号{}括起来的一组语句
B. 复合语句只能包含一个语句
C. 复合语句在C语言中没有实际用途
D. 复合语句不能包含控制语句
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
80. 6. 在C语言程序中,下列哪个选项不是语句的正确结束方式?
A. 分号;
B. 换行符
C. 花括号}
D. 没有特定的结束方式,只要语法正确即可
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
81. 7. 下列哪个选项是关于表达式语句的正确描述?
A. 表达式语句只能包含算术表达式
B. 表达式语句不能包含赋值操作
C. 表达式语句可以包含函数调用
D. 表达式语句不能产生任何副作用
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
82. 8. 在C语言程序中,函数调用语句可以作为独立语句使用,也可以作为表达式的一部分。下列哪个选项是函数调用语句作为表达式一部分的正确示例?
A. int result = (function());
B. function(); int result;
C. if (function()) { ... } else { ... }
D. while (function()) { ... }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
83. 9. 下列哪个选项是关于空语句的正确使用场景?
A. 在switch语句中作为默认分支
B. 在for循环中作为初始化表达式
C. 在if语句中作为条件表达式
D. 在函数定义中作为函数体
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
84. 10. 在C语言程序中,复合语句通常用于哪些场景?
A. 定义局部变量
B. 作为控制语句(如if、while等)的主体
C. 组织代码块,提高代码的可读性
D. 所有上述场景
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
85. 11. 使用printf函数输出整数时,正确的格式说明符是?
A. %d
B. %f
C. %c
D. %s
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
86. 12. 若要使用scanf函数读取一个浮点数,应使用哪个格式说明符?
A. %d
B. %f
C. %c
D. %s
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
87. 13. 下列printf函数调用中,哪个是正确的,用于输出双引号内的字符串?
A. printf("Hello, World!");
B. printf('Hello, World!');
C. printf(Hello, World!);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
88. 14. 使用scanf函数读取字符串时,不需要在格式说明符前加什么符号?
A. &
B. %
C. *
D. 不需要加任何符号
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
89. 15. 下列哪个printf函数调用可以用来输出变量的地址?
A. printf("%d", &var);
B. printf("%p", &var);
C. printf("%s", &var);
D. printf("%c", &var);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
90. 16. 若要使用scanf函数读取一个字符,应使用哪个格式说明符,并且变量前需要加什么符号?
A. %c,不需要加符号
B. %c,需要加&符号
C. %s,不需要加符号
D. %s,需要加&符号
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
91. 17. 下列哪个scanf函数调用可以用来正确读取一个整数和一个浮点数?
A. scanf("%d %f", &intVar, &floatVar);
B. scanf("%d %f", intVar, floatVar);
C. scanf("%f %d", &intVar, &floatVar);
D. scanf("%f %d", intVar, floatVar);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
92. 18. 在printf函数中,若要在输出的字符串中包含一个百分号%,应该如何书写?
A. printf("Percent: %%");
B. printf("Percent: %");
C. printf("Percent: %%%");
D. printf("Percent: %%%%");
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
93. 19. 使用scanf函数读取字符串时,如果字符串中包含空格,应该如何处理?
A. 无需特殊处理,scanf会自动读取直到遇到换行符
B. 使用fgets函数代替scanf读取字符串
C. 在格式说明符前加空格
D. 在格式说明符中指定字符串的最大长度
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
94. 20. 下列哪个printf函数调用可以用来输出一个变量的十六进制表示?
A. printf("%x", var);
B. printf("%d", var);
C. printf("%s", var);
D. printf("%f", var);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
95. 1. 阅读以下C语言程序段,该程序段的输出结果是? #include int main() { float pi = 3.14159; printf("%.2f\n", pi); return 0; }
A. 3.14159
B. 3.14
C. 3
D. 输出格式错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
96. 2. 阅读以下C语言程序段,该程序段的输出结果是? #include int main() { int x = 5; printf("%d %d %d\n", x, x << 1, x >> 1); return 0; }
A. 5 10 2
B. 5 2 10
C. 10 5 2
D. 2 10 5
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
97. 3. 阅读以下C语言程序段,该程序段的输出结果是? #include int main() { int i = 1; printf("%d %d %d\n", i++, i++, i++); return 0; }
A. 1 2 3
B. 3 2 1
C. 2 3 4
D. 输出不可预测
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
98. 4. 在C语言中,scanf函数用于?
A. 读取用户的输入
B. 输出格式化的数据到控制台
C. 计算表达式的值
D. 释放内存空间
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
99. 1. 结构化程序设计的3种基本结构是什么?
A. 顺序结构
B. 选择结构
C. 循环结构
D. 条件结构
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
100. 2. 描述算法的工具有哪些?
A. 自然语言
B. 伪代码
C. 流程图
D. N-S流程图
E. 程序设计语言
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
101. 3. 程序设计语言的发展经历了哪几个主要阶段?
A. 机器语言、汇编语言
B. 高级语言、非过程化语言
C. 机器语言、汇编语言、高级语言
D. 机器语言、汇编语言、高级语言、非过程化语言
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
102. 4. 下列哪一项不是机器语言的特点?
A. 由二进制0、1代码指令构成
B. 编程效率高
C. 直观性差
D. 兼容性差
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
103. 5. 汇编语言与机器语言的主要区别是什么?
A. 汇编语言使用助记符代替二进制代码
B. 汇编语言可以直接被CPU执行
C. 汇编语言比机器语言更难学
D. 汇编语言与机器语言无关
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
104. 6. 高级语言与汇编语言相比,最大的优势是什么?
A. 执行速度更快
B. 更接近自然语言,易学易用
C. 占用内存更少
D. 不需要编译器
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
105. 7. 面向对象程序设计语言的一个主要特点是?
A. 以“数据结构+算法”为程序设计范式
B. 支持数据隐藏、继承和多态等特性
C. 只能用于Web开发
D. 不需要编译器或解释器
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
106. 8. 下列哪种程序设计语言被认为是第一个系统地体现结构化程序设计概念的现代高级语言?
A. FORTRAN
B. PASCAL
C. C++
D. Java
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
107. 9. 关于非过程化语言(如4GL),以下哪项描述不正确?
A. 编码时只需说明“做什么”,不需描述算法细节
B. 已经出现了真正的第四代程序设计语言
C. 数据库查询和应用程序生成器是其典型应用
D. 具有缩短应用开发过程、降低维护代价等优点
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
108. 10. 程序设计语言的发展趋势不包括以下哪一项?
A. 更加安全、人性化
B. 跨平台性增强
C. 逐步淘汰所有高级语言,回归机器语言
D. 支持更多专业领域的应用
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
109. 11. 程序设计的基本过程不包括以下哪一步骤?
A. 程序说明(或程序分析)
B. 程序设计
C. 编写代码
D. 直接部署到生产环境
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
110. 12. 下列哪项不是程序设计语言的基本特性?
A. 心理特性(如歧义性、简洁性)
B. 工程特性(如可移植性、可重用性)
C. 技术特性(如支持结构化构造)
D. 艺术特性(如美感、创意)
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
111. 1. 以下哪项是结构化程序设计方法中,用于将复杂问题分解成较小、更易于管理的部分的技术?
A. 模块化
B. 抽象
C. 封装
D. 继承
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
112. 2. 在结构化程序设计中,以下哪项不是其基本结构之一?
A. 顺序结构
B. 选择结构
C. 循环结构
D. 跳转结构
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
113. 3. 在结构化程序设计中,使用哪种工具可以帮助程序员理解和描述程序的结构?
A. 流程图
B. 类图
C. 用例图
D. 状态图
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
114. 1. C语言最初是由哪个团队在哪个实验室开发的?
A. Dennis Ritchie和Ken Thompson在贝尔实验室
B. James Gosling和Bill Joy在太阳微系统公司
C. Bjarne Stroustrup在AT&T贝尔实验室
D. Guido van Rossum在荷兰国家数学与计算机科学研究中心
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
115. 2. C语言的设计初衷是什么?
A. 替代Java,成为新的主流编程语言
B. 为UNIX操作系统提供一种系统编程语言
C. 替代Pascal,成为结构化编程的代表
D. 成为一种面向对象的编程语言
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
116. 3. 下列哪一项不是C语言的特点?
A. 结构化程序设计
B. 丰富的数据类型
C. 自动内存管理
D. 高效的执行速度
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
117. 4. C语言对计算机编程领域产生了哪些深远影响?
A. 推动了面向对象编程的发展
B. 促进了结构化编程的普及
C. 使得编程变得更加复杂和难以理解
D. 限制了计算机程序的功能和性能
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
118. 5. 下列哪一项是C语言标准库中的一个函数,用于内存分配,并且体现了C语言对内存管理的灵活性?
A. scanf()
B. malloc()
C. printf()
D. free()
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
119. 6. C语言与汇编语言相比,其优势在于?
A. 执行速度更快
B. 更接近机器语言,易于理解
C. 提供了更高的抽象层次和更强的表达能力
D. 不需要编译器,可以直接在硬件上执行
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
120. 7. 下列哪一项不是C语言标准化过程中的一个重要里程碑?
A. K&R C标准的发布
B. ANSI C标准的制定
C. ISO C标准的制定
D. C++标准的制定
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
121. 8. C语言中的指针概念对编程产生了哪些重要影响?
A. 使得编程变得更加困难和容易出错
B. 提供了直接访问内存的能力,增强了程序的灵活性
C. 限制了程序的功能和性能
D. 使得程序更加难以理解和维护
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
122. 9. 下列哪一项不是C语言在现代软件开发中仍然被广泛使用的原因?
A. 高效的执行速度
B. 丰富的库函数和强大的系统编程能力
C. 易于学习和使用
D. 跨平台性和可移植性好
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
123. 10. 下列哪一项不是C语言发展历史中的重要事件?
A. UNIX操作系统的开发推动了C语言的诞生
B. C语言被广泛应用于系统软件和应用程序的开发
C. C语言逐渐取代了Fortran在科学计算领域的地位
D. C语言成为了面向对象编程的代表语言
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
124. 1. 在使用命令行编译C语言程序时,哪个命令通常用于GCC编译器来编译源代码文件?
A. run
B. compile
C. gcc
D. make
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
125. 1. 在C语言程序开发过程中,哪个步骤是用来检查程序逻辑错误和运行时错误的?
A. 编辑
B. 编译
C. 运行和调试
D. 编写文档
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
126. 2. 在编写C语言程序时,编写源代码的步骤紧接着哪一步?
A. 设计算法
B. 编译程序
C. 运行和调试程序
D. 编写程序文档
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
127. 3. 【单选题】 在C语言程序开发过程中,哪个步骤是用来检查程序逻辑错误和运行时错误的?
A. 编辑
B. 编译
C. 运行和调试
D. 编写文档
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
128. 1. 算法具有五个特性,以下选项中不属于算法特性的是( )。
A. 有穷性
B. 简洁性
C. 可行性
D. 确定性
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
129. 2. 以下叙述中正确的是( )。
A. 用C程序实现的算法必须要有输入和输出操作
B. 用C程序实现的算法可以没有输出但必须要有输入
C. 用C程序实现的算法可以没有输入但必须要有输出
D. 用C程序实现的算法可以既没有输入也没有输出
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
130. 3. 用C语言编写的代码程序( )。
A. 可立即执行
B. 是一个源程序
C. 经过编译即可执行
D. 经过编译解释才能执行
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
131. 4. 用于结构化程序设计的3种基本结构是( )。
A. 顺序结构、选择结构、循环结构
B. if、switch、break
C. if、for、continue
D. for、while、do-while
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
132. 5. C语言程序名的后缀是( )。
A. .exe
B. .c
C. .obj
D. .cpp
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
133. 1. 以下叙述不正确的是
A. C程序的基本组成单位是函数
B. C程序的最小组成单位是函数
C. 一个C源程序可由一个或多个函数组成
D. —个C源程序必须包含一个main函数
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
134. 2. C语言规定:在一个源程序中,main函数的位置
A. 必须在最开始
B. 可以任意
C. 必须在最后
D. 必须在系统调用的库函数的后面
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
135. 3. C语言源程序的基本结构由什么组成?
A. 函数
B. 标识符
C. 字符
D. 语句
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
136. 4. 什么是构成C语言源程序的基本单位?
A. 标识符
B. 字符
C. 语句
D. 函数
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
137. 5. printf()、scanf()是系统提供的什么?
A. 库函数
B. 用户自定义函数
C. 输出函数
D. 输入函数
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
138. 1. 下列哪个表达式使用了关系运算符来比较两个整数的大小?
A. a + b > c
B. a = b + c
C. a % b
D. !a
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
139. 2. 下列哪个逻辑运算符用于表示“逻辑非”?
A. &&
B. ||
C. !
D. ==
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
140. 3. 假设a=5,b=10,那么表达式a > b || b > a的结果是什么?
A. 0
B. 1
C. 真
D. 假
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
141. 4. 下列哪个表达式正确地使用了条件运算符?
A. a > b ? a : b = c
B. a > b ? a : b == c
C. a > b ? a : b
D. a > b : a ? b
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
142. 5. 假设x=3,y=5,那么表达式!(x < y)的结果是什么?
A. 0
B. 1
C. 真
D. 假
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
143. 6. 下列哪个逻辑表达式表示“x不等于y”?
A. x == y
B. x != y
C. x > y
D. x < y
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
144. 7. 假设a=1,b=2,c=3,那么表达式a < b && b < c的结果是什么?
A. 0
B. 1
C. 真
D. 假
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
145. 8. 下列哪个表达式使用了条件运算符来返回两个数中的较大值?
A. a > b ? a : b
B. a < b ? a : b
C. a == b ? a : b
D. a != b ? a : b
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
146. 9. 假设flag是一个布尔变量,那么表达式flag || !flag的结果是什么?
A. 0
B. 1
C. 真
D. 假
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
147. 10. 下列哪个逻辑表达式表示“x大于等于y”?
A. x > y
B. x < y
C. x >= y
D. x <= y
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
148. 1. 假设有一个一维数组int numbers[5];,下列哪个选项正确地引用了数组的第三个元素?
A. numbers[3]
B. numbers[2]
C. numbers[-1]
D. numbers[5]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
149. 2. 下列哪个选项是访问一维数组元素的正确方法?
A. 使用数组名和索引,索引从0开始。
B. 使用数组名和索引,索引从1开始。
C. 使用数组名和元素的值。
D. 使用数组名和元素的地址。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
150. 3. 下列哪个选项正确地初始化了一个包含4个字符的一维数组,分别设置为'H', 'e', 'l', 'l'?
A. char greeting[4] = {'H', 'e', 'l', 'l'};
B. char greeting[4] = "Hell";
C. char greeting[] = {'H', 'e', 'l', 'l', '\0'};
D. char greeting[5] = "Hello";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
151. 1. 下列哪个选项正确地定义了一个3行4列的二维整型数组?
A. int array[3][4];
B. int array[3,4];
C. int array[][4];
D. int array[3][];
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
152. 2. 假设有一个二维数组int matrix[2][3];,下列哪个选项正确地引用了数组的第二行第三个元素?
A. matrix[2][3]
B. matrix[1][2]
C. matrix[2][2]
D. matrix[1][3]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
153. 3. 下列哪个选项是访问二维数组元素的正确方法?
A. 使用数组名、行索引和列索引,索引都从0开始。
B. 使用数组名、行索引和列索引,行索引从1开始,列索引从0开始。
C. 使用数组名和元素的值。
D. 使用数组名和元素的地址。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
154. 4. 假设有一个二维数组char board[8][8];,下列哪个选项正确地将字符'X'赋给数组的第一行第二个元素?
A. board[0][1] = 'X';
B. board[1][0] = 'X';
C. board[0][2] = 'X';
D. board[1][2] = 'X';
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
155. 5. 下列哪个选项不是访问或修改二维数组元素的有效方法?
A. 使用行索引和列索引直接访问元素。
B. 使用指针遍历数组的行和列。
C. 使用数组名直接修改元素。
D. 使用嵌套循环访问数组的所有元素。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
156. 6. 下列哪个选项正确地初始化了一个2行3列的二维整型数组,所有元素都设置为0?
A. int array[2][3] = {0};
B. int array[2][3] = {};
C. int array[2][3];
D. int array[][3] = {{0, 0, 0}, {0, 0, 0;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
157. 7. 假设有一个二维数组int scores[2][3];,下列哪个选项正确地初始化了数组,使得scores[0][0]为75,scores[0][1]为85,scores[0][2]为95,scores[1][0]为65,scores[1][1]为75,scores[1][2]为85?
A. int scores[2][3] = {{75, 85, 95}, {65, 75, 85}};
B. int scores[2][3] = (75, 85, 95, 65, 75, 85);
C. int scores[][3] = {{75, 85, 95}, {65, 75, 85;
D. int scores[2][3]; scores = {{75, 85, 95}, {65, 75, 85;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
158. 8. 下列哪个选项正确地初始化了一个包含3个字符的二维数组,第一行分别为'H', 'e',第二行分别为'l', 'l',第三行分别为'o', '\0'?
A. char greeting[3][2] = {{'H', 'e'}, {'l', 'l'}, {'o', '\0';
B. char greeting[3][2] = "Hello";
C. char greeting[][2] = {{'H', 'e'}, {'l', 'l'}, {'o', '\0';
D. char greeting[3][3] = "Hello";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
159. 9. 下列哪个选项不是初始化二维数组的合法语法?
A. int numbers[2][3] = {{1, 2, 3}, {4, 5, 6;
B. int numbers[][3] = {{1, 2, 3}, {4, 5, 6;
C. int numbers[2][3]; numbers = {{1, 2, 3}, {4, 5, 6;
D. int numbers[2][3] = {[0][0]=1, [0][1]=2, [0][2]=3, [1][0]=4, [1][1]=5, [1][2]=6};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
160. 10. 下列哪个选项正确地初始化了一个包含4个元素的一维数组,实际上应该是一个2行2列的二维数组,所有元素都设置为-1?
A. int array[2][2] = {-1};
B. int array[2][2] = {{-1, -1}, {-1, -1;
C. int array[2][2] = {2 * 2 * -1};
D. int array[2][2]; array = {{-1, -1}, {-1, -1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
161. 1. 下列哪个选项正确地定义了一个能够存储10个字符的字符数组?
A. char str[10];
B. char str[];
C. char str[10.5];
D. char str[0];
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
162. 2. 假设有一个字符数组char name[20];,下列哪个选项正确地给数组赋值了字符串"Alice"?
A. name = "Alice";
B. name[] = "Alice";
C. strcpy(name, "Alice");
D. scanf("%s", name);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
163. 3. 下列哪个选项是访问字符数组(字符串)元素的正确方法?
A. 使用数组名和索引,索引从0开始。
B. 使用数组名和索引,索引从1开始。
C. 使用数组名和元素的值。
D. 使用数组名和元素的地址。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
164. 4. 假设有一个字符数组char word[5];,并且已经通过某种方式赋值为"hello",下列哪个选项能正确地访问到字符'e'?
A. word[1]
B. word[4]
C. word[5]
D. word[-1]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
165. 5. 下列哪个选项不是访问或修改字符数组(字符串)元素的有效方法?
A. 使用索引直接访问元素。
B. 使用指针遍历数组。
C. 使用数组名直接修改元素。
D. 使用strlen函数获取数组长度后访问元素。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
166. 6. 下列哪个选项正确地初始化了一个字符数组,并赋值为字符串"hello"?
A. char str[5] = "hello";
B. char str[] = "hello";
C. char str[5]; str = "hello";
D. char str[6] = {'h', 'e', 'l', 'l', 'o'};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
167. 7. 下列哪个选项正确地初始化了一个字符数组,包含字符串"C language"?
A. char language[] = "C language";
B. char language[10] = "C language";
C. char language[11] = "C language";
D. char language[12] = "C language";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
168. 8. 下列哪个选项不是初始化字符数组的合法语法?
A. char str[] = "Hello";
B. char str[6] = "Hello";
C. char str[6]; str = "Hello";
D. char str[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
169. 9. 下列哪个选项正确地初始化了一个字符数组,并赋值为空字符串?
A. char str[0] = "";
B. char str[] = "";
C. char str[1] = "";
D. char str[5] = "";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
170. 10. 下列哪个选项正确地初始化了一个字符数组,并包含了字符串"Hello, world!"以及一个额外的空字符?
A. char str[13] = "Hello, world!";
B. char str[14] = "Hello, world!";
C. char str[15] = "Hello, world!";
D. char str[16] = "Hello, world!";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
171. 11. 下列哪个函数用于计算字符串的长度,不包括终止的空字符?
A. strlen
B. strcpy
C. strcat
D. strcmp
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
172. 12. 下列哪个函数用于复制字符串,包括终止的空字符?
A. strlen
B. strcpy
C. strcat
D. strcmp
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
173. 13. 下列哪个函数用于连接两个字符串,结果包括两个源字符串的终止空字符?
A. strlen
B. strcpy
C. strcat
D. strcmp
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
174. 14. 下列哪个函数用于比较两个字符串,如果字符串相等返回0?
A. strlen
B. strcpy
C. strcat
D. strcmp
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
175. 15. 下列哪个函数不是字符串处理的标准库函数?
A. strstr
B. strtok
C. strrev
D. strchr
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
176. 1. 以下是一个处理二维数组的程序片段。请选择合适的代码片段来补全这个程序,使其能够正确打印出二维数组的所有元素。 #include int main() { int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9; int i, j; // 缺失的代码 return 0; }
A. for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("%d ", matrix[i][j]); } printf("\n"); }
B. for (i = 0; i < 3; i++) { printf("%d ", matrix[i]); }
C. for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { printf("%d\n", matrix[i][j]); } }
D. printf("%d", matrix);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
177. 2. 以下是一个不完整的程序,用于查找一维数组中的最大值。请从给定的选项中选择合适的代码片段来补全这个程序。#include int main() { int numbers[] = {3, 1, 4, 1, 5, 9, 2, 6}; int max; int i; max = numbers[0]; for (i = 1; i < 8; i++) { // 缺失的代码 } printf("Max: %d\n", max); return 0; }
A. if (numbers[i] > max) { max = numbers[i]; }
B. if (numbers[i] < max) { max = numbers[i]; }
C. max = numbers[i];
D. if (numbers[i] == max) { max = numbers[i]; }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
178. 3. 数组(一维、二维和字符)有关程序阅读写结果的选择题 阅读以下程序,并写出程序的输出结果。 #include int main() { int numbers[] = {10, 20, 30, 40, 50}; int *ptr = numbers; ptr++; printf("%d\n", *ptr); return 0; }
A. 10
B. 20
C. 30
D. 40
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
179. 4. 阅读以下程序,并写出程序的输出结果。 #include int main() { int matrix[2][3] = {{1, 2, 3}, {4, 5, 6; printf("%d\n", matrix[1][2]); return 0; }
A. 1
B. 3
C. 5
D. 6
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
180. 5. 阅读以下程序,并写出程序的输出结果。 #include int main() { char str[] = "Hello"; printf("%c\n", str[4]); return 0; }
A. H
B. e
C. l
D. o
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
181. 6. 阅读以下程序,并写出程序的输出结果。 #include int main() { int numbers[] = {1, 2, 3, 4, 5}; int sum = 0; int *ptr; for (ptr = numbers; ptr < numbers + 5; ptr++) { sum += *ptr; } printf("%d\n", sum); return 0; }
A. 5
B. 10
C. 15
D. 20
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
182. 7. 阅读以下程序,并写出程序的输出结果。 #include int main() { int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9; printf("%d\n", matrix[2][1]); return 0; }
A. 7
B. 8
C. 9
D. 6
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
183. 8. 以下是一个不完整的程序,用于计算一维数组中所有元素的平均值。请从给定的选项中选择合适的代码片段来补全这个程序。 #include int main() { int numbers[] = {1, 2, 3, 4, 5}; int sum = 0; int i; float average; for (i = 0; i < 5; i++) { sum += numbers[i]; } // 缺失的代码 printf("Average: %.2f\n", average); return 0; }
A. average = sum / 5;
B. average = sum / 5.0;
C. average = (float)sum / 5;
D. average = sum;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
184. 9. 以下是一个处理字符数组(字符串)的程序片段。请选择合适的代码片段来补全这个程序,使其能够正确地将字符串中的小写字母转换为大写字母。 #include int main() { char str[] = "Hello, World!"; int i; for (i = 0; str[i] != '\0'; i++) { // 缺失的代码 } printf("%s\n", str); return 0; }
A. if (str[i] >= 'a' && str[i] <= 'z') { str[i] -= 'a' - 'A'; }
B. if (str[i] >= 'a' && str[i] <= 'z') { str[i] = 'A'; }
C. if (str[i] >= 'A' && str[i] <= 'Z') { str[i] += 'a' - 'A'; }
D. str[i] = toupper(str[i]); (需包含 )
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
185. 10. 以下是一个处理二维数组的程序片段。请选择合适的代码片段来补全这个程序,使其能够正确计算并打印出二维数组的主对角线元素之和。 #include int main() { int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9; int sum = 0; int i; // 缺失的代码 printf("Sum of diagonal elements: %d\n", sum); return 0; }
A. for (i = 0; i < 3; i++) { sum += matrix[i][i]; }
B. for (i = 0; i < 3; i++) { sum += matrix[i][2 - i]; }
C. for (i = 0; i < 3; i++) { sum += matrix[0][i]; }
D. sum = matrix[0][0] + matrix[1][1] + matrix[2][2];
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
186. 1. 以下程序的输出结果是________。 main() { int a[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0; for(i=0;i<3;i++) for(j=i;j<3;j++) s+=a[i][j]; printf("%d\n",s);
A. 19
B. 36
C. 22
D. 26
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
187. 2. 以下程序执行后的输出结果是________ 。(设a[0][0] 是数组a中的第1个元素) #include main( ) { int a[4][5]={1,2,4,8,10,-1,-2,-4,-8,-10,3,5,7,9,11}; int i,j,n=9; i=n/5; j=n-i*5-1; printf("NO. %d: %d,%d is %d\n",n,i,j,a[i][j]); }
A. 第n行的最大元素所在的行和列及其最大值
B. 第n个元素所在的行和列及其该元素的值
C. 第i行的最大元素所在的行和列及其最大值
D. 以上都不对
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
188. 3. 下面程序的功能是________。 #include main( ) { int a[5][4],i,j,max,row,col; for(i=0;i<5;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); max=a[4][0]; row=4;col=0; for(i=4;i>=0;i--) for(j=0;j<4;j++) if(max
A. 求二维数组中每一行的最大元素及位置
B. 求二维数组中第4行中的最大元素及位置
C. 求二维数组中的最大元素及位置
D. 求二维数组中最小元素及位置
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
189. 4. 下面的程序运行后,输出结果是________。 main( ) { int i,j,a[7][7],x=0; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=3*j+i; for(i=2;i<7;i++) x+=a[i][i]; printf("%d\n",x);
A. 不确定值
B. 20
C. 0
D. 8
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
190. 5. 、若有定义语句:char s[100],d[100]; int j=0,i=0; ,且s中已赋字 符串,请在划线处填______以实现将字符串s中的内容拷贝到字符串d 中。(注意:不得使用逗号表达式) while(s[i]) { d[j]=__________; j++; } d[j]=0;
A. s[i]
B. s[++i]
C. s[i++]
D. s[j]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
191. 6. 下面程序的功能是________。 main() { char s[ ]="father"; int i,j=0; for(i=1;i<6;i++) if(s[j]>s[i]) j=i; printf("%c,%d\n",s[j],j+1); }
A. 输出字符数组s中ASCII码最大的字符及位置
B. 输出字符数组s中ASCII码最小的字符及位置
C. 输出字符数组s中ASCII码最大的字符及字符串的长度
D. 输出字符数组s中ASCII码最小的字符及字符串的长度
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
192. 7. 在定义int a[5][6]; 后,数组a中的第10个元素是________。
A. a[2][5]
B. a[1][4]
C. a[1][3]
D. a[5][2]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
193. 8. 当接受用户输入的含有空格的字符串时,应使用________函数
A. gets( )
B. getchar( )
C. scanf( )
D. printf( )
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
194. 1. 下列关于指针的描述中,错误的是:
A. 指针是一种数据类型,它存储的是变量的地址。
B. 指针变量可以通过指针运算符*来访问其指向的数据。
C. 未初始化的指针变量自动指向NULL。
D. 指针的实质是变量地址的抽象。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
195. 2. 指针变量存储的是:
A. 变量的值
B. 变量的类型
C. 变量的地址
D. 变量的名称
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
196. 3. 下列哪项不是指针变量的基本属性?
A. 指针变量有自己的地址和值。
B. 指针变量可以指向任何类型的数据。
C. 指针变量的大小是固定的,与平台无关。
D. 指针变量可以直接进行算术运算。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
197. 4. 在C语言中,指针的概念主要用于:
A. 实现函数调用
B. 管理动态内存
C. 定义数组
D. 控制循环结构
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
198. 5. 下列关于指针的表述中,正确的是:
A. 指针和指针变量是同一个概念。
B. 指针变量只能指向整型数据。
C. 指针变量的值是可以改变的。
D. 指针变量的定义不需要指定类型。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
199. 6. 指针变量与普通变量的主要区别是:
A. 指针变量占用更多的内存空间。
B. 指针变量可以存储多个值。
C. 指针变量存储的是地址,而普通变量存储的是数据值。
D. 指针变量不能直接参与算术运算。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
200. 7. 下列关于指针的表述中,错误的是:
A. 指针是一种间接访问数据的方式。
B. 指针变量的值表示它所指向的变量的地址。
C. 通过指针可以访问其指向的内存单元。
D. 指针变量只能指向静态分配的变量。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
201. 8. 在C语言中,引入指针的主要目的是:
A. 简化程序的编写
B. 提高程序的执行效率
C. 方便访问和操作内存中的数据
D. 增加程序的可读性
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
202. 9. 下列关于指针的说法中,正确的是:
A. 指针变量的类型决定了它所指向的变量的类型。
B. 指针变量的值就是它所指向的变量的值。
C. 指针变量的名称就是它所指向的变量的名称。
D. 指针变量可以直接与整数进行加减运算。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
203. 10. 下列关于指针的表述中,错误的是:
A. 指针变量可以进行赋值操作。
B. 指针变量可以作为函数的参数。
C. 指针变量可以作为函数的返回值。
D. 指针变量不能指向函数。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
204. 11. 下列关于指针变量引用的表述中,错误的是:
A. 通过指针变量可以访问其指向的变量的值。
B. 指针变量的引用需要使用指针运算符*。
C. 指针变量可以直接进行算术运算。
D. 指针变量可以作为数组的元素。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
205. 12. 下列关于指针变量与数组关系的表述中,错误的是:
A. 数组的名称是一个指针常量,它指向数组的首元素。
B. 指针变量可以指向数组的任何一个元素。
C. 指针变量可以进行算术运算来遍历数组。
D. 指针变量在指向数组元素时,其类型必须与数组元素的类型一致。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
206. 13. 下列关于指针加减运算的表述中,错误的是:
A. 指针加减运算可以改变指针的值。
B. 指针加减运算的结果仍然是一个指针。
C. 指针加减运算可以用于遍历数组。
D. 指针加减运算的单位是字节。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
207. 14. 下列关于指针运算的表述中,错误的是:
A. 指针运算包括算术运算和关系运算。
B. 指针算术运算的结果是一个整数。
C. 指针关系运算可以用于比较两个指针的大小。
D. 指针运算的优先级与其他运算符的优先级相同。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
208. 15. 下列关于指针变量与变量关系的表述中,错误的是:
A. 指针变量可以存储变量的地址。
B. 指针变量可以通过解引用操作来修改它所指向的变量的值。
C. 指针变量与它所指向的变量占用相同的内存空间。
D. 指针变量在定义后,需要初始化才能使用。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
209. 16. 下列关于指针变量与字符串关系的表述中,错误的是:
A. 指针变量可以用来指向字符串的首字符。
B. 指针变量在指向字符串时,不需要考虑字符串的结束符'\0'。
C. 指针变量可以用来遍历字符串中的每个字符。
D. 指针变量可以作为字符串处理函数的参数。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
210. 17. 下列关于指针变量定义的表述中,正确的是:
A. int *p; 定义了一个指向整型的指针变量p。
B. float *p = 1000; 定义了一个指向浮点型的指针变量p,并初始化为1000。
C. char *p = "hello"; 定义了一个字符指针变量p,并指向字符串常量"hello"的首地址。
D. int *p, q; 定义了一个指向整型的指针变量p和一个整型变量q。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
211. 18. 下列关于指针变量赋值的表述中,正确的是:
A. 指针变量可以被赋值为一个整数值。
B. 指针变量可以被赋值为另一个同类型的指针变量的值。
C. 指针变量可以被赋值为一个数组的名称。
D. 指针变量在定义时必须初始化。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
212. 19. 下列关于指针变量与字符串关系的表述中,正确的是:
A. 字符串常量可以用指针变量来指向。
B. 指针变量指向字符串常量时,可以修改字符串的内容。
C. 指针变量可以作为字符串函数的参数。
D. 指针变量在指向字符串时,不需要考虑字符串的结束符'\0'。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
213. 20. 下列关于指针变量与函数关系的表述中,正确的是:
A. 指针变量可以作为函数的参数。
B. 指针变量可以作为函数的返回值。
C. 指针变量可以在函数内部定义并初始化。
D. 指针变量在函数间传递时,传递的是指针变量的值。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
214. 21. 下列关于指针变量与动态内存分配的表述中,正确的是:
A. 指针变量可以用来申请动态内存。
B. 使用malloc函数分配的内存空间需要用指针变量来接收。
C. 动态分配的内存空间在使用完毕后需要手动释放。
D. 指针变量在指向动态分配的内存时,不需要考虑内存的大小。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
215. 22. 下列关于指针变量与结构体关系的表述中,正确的是:
A. 指针变量可以指向结构体变量。
B. 指针变量可以用来访问结构体成员。
C. 指针变量可以作为结构体数组的元素。
D. 指针变量在指向结构体时,其类型必须与结构体的类型一致。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
216. 23. 下列关于指针变量与文件操作的表述中,正确的是:
A. 指针变量可以用来表示文件的地址。
B. 使用fopen函数打开文件时,返回的是一个指向FILE类型的指针。
C. 指针变量可以用来读取或写入文件中的数据。
D. 指针变量在文件操作中,不需要考虑文件的打开和关闭。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
217. 24. 下列关于指针变量与链表关系的表述中,正确的是:
A. 指针变量可以用来表示链表的节点。
B. 指针变量可以用来遍历链表。
C. 指针变量在链表操作中,需要考虑内存的动态分配和释放。
D. 指针变量在指向链表节点时,其类型必须与链表节点的类型一致。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
218. 25. 下列关于指针运算的表述中,正确的是:
A. 指针可以进行加减运算。
B. 指针加减运算的单位是其所指向的数据类型的大小。
C. 两个指针变量可以进行比较运算。
D. 指针可以进行乘除运算。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
219. 26. 下列关于指针比较运算的表述中,正确的是:
A. 两个指针变量可以进行相等或不相等的比较。
B. 两个指针变量进行比较时,比较的是它们的值。
C. 两个指针变量进行比较时,可以比较它们所指向的内存区域的大小。
D. 指针变量可以与整数进行比较运算。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
220. 27. 下列关于指针运算的表述中,正确的是:
A. 指针运算可以用于指针数组。
B. 指针运算可以用于字符串的遍历。
C. 指针运算的结果可以用于数组的下标访问。
D. 指针运算可以用于动态内存分配和释放。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
221. 28. 下列关于变量的指针的表述中,正确的是:
A. 变量的指针就是该变量的内存地址。
B. 可以通过指针运算符&来获取变量的指针。
C. 变量的指针可以存储在指针变量中。
D. 变量的指针是固定不变的,不会因为程序运行而改变。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
222. 29. 下列关于指向变量的指针变量的表述中,正确的是:
A. 指针变量可以指向任何类型的变量。
B. 指针变量在定义时需要指定它所指向的变量的类型。
C. 指针变量可以通过指针运算符*来访问它所指向的变量的值。
D. 指针变量在指向一个变量后,就不能再改变指向其他变量。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
223. 30. 下列关于指针变量与数组元素关系的表述中,正确的是:
A. 指针变量可以指向数组的任何一个元素。
B. 指针变量在进行算术运算时,可以根据数组元素的类型自动调整步长。
C. 指针变量可以通过下标运算来访问数组元素。
D. 指针变量在指向数组元素时,其类型必须与数组元素的类型一致。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
224. 31. 下列关于指针变量与函数参数关系的表述中,正确的是:
A. 指针变量可以作为函数的参数,实现函数对外部变量的修改。
B. 指针变量作为函数参数时,传递的是变量的地址。
C. 指针变量作为函数参数时,需要在函数内部进行初始化。
D. 指针变量作为函数参数时,可以提高函数的灵活性。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
225. 32. 下列关于指针变量与结构体成员关系的表述中,正确的是:
A. 指针变量可以用来访问结构体成员。
B. 指针变量在指向结构体变量时,其类型必须与结构体的类型一致。
C. 指针变量可以通过箭头运算符->来访问结构体成员。
D. 指针变量在指向结构体数组的元素时,可以通过下标运算来访问结构体成员。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
226. 33. 下列关于指针变量与动态内存分配关系的表述中,正确的是:
A. 指针变量可以用来申请动态内存。
B. 使用malloc函数分配的内存空间需要用指针变量来接收。
C. 动态分配的内存空间在使用完毕后需要手动释放,以避免内存泄漏。
D. 指针变量在指向动态分配的内存时,需要考虑内存的大小和类型。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
227. 34. 下列关于指针变量与文件操作的表述中,正确的是:
A. 指针变量可以用来表示文件的当前读写位置。
B. 使用fopen函数打开文件时,返回的是一个指向FILE类型的指针。
C. 指针变量可以用来读取或写入文件中的数据,但需要配合文件操作函数。
D. 指针变量在文件操作中,需要考虑文件的打开,读写和关闭。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
228. 35. 下列关于指针变量与链表节点关系的表述中,正确的是:
A. 指针变量可以用来表示链表的节点,即指向节点结构体。
B. 指针变量可以用来遍历链表,通过节点的指针成员访问下一个节点。
C. 指针变量在链表操作中,需要考虑内存的动态分配和释放,以避免内存泄漏。
D. 指针变量在指向链表节点时,其类型必须与链表节点结构体的类型一致。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
229. 1. 在C语言中,动态分配内存的函数是?
A. malloc()
B. calloc()
C. realloc()
D. 所有选项都正确
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
230. 2. 给出以下代码段,请选择正确的描述: int *p = (int*)malloc(sizeof(int) * 10); if (p == NULL) { // 处理内存分配失败 }
A. 代码正确,分配了10个整数的空间。
B. 代码错误,malloc不需要类型转换。
C. 代码错误,应该检查malloc返回值是否为0。
D. 代码错误,sizeof(int)是不必要的。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
231. 3. 使用malloc分配的内存应当如何释放?
A. 使用delete
B. 使用free
C. 不需要释放
D. 使用delete[]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
232. 4. 给出以下代码段,请选择正确的输出: int *p = (int*)malloc(sizeof(int)); *p = 5; printf("%d", *p); free(p);
A. 5
B. 运行时错误
C. 未定义行为
D. 编译错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
233. 5. 动态分配的内存块在使用完毕后,如果不释放,会导致什么问题?
A. 编译错误
B. 运行时错误
C. 内存泄漏
D. 程序崩溃
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
234. 6. 下列哪项是正确声明指向指针的指针?
A. int **p;
B. int *p[];
C. int *p;
D. int ***p;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
235. 7. 给出以下代码段,请选择正确的描述: int x = 10; int *p = &x; int **pp = &p;
A. pp是一个指向指针的指针。
B. pp是一个指向整数的指针。
C. *pp的值是10。
D. **pp的值是&x的地址。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
236. 8. 如何通过多级指针修改原始变量的值?
A. **pp = 20;
B. *pp = 20;
C. pp = 20;
D. *p = 20;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
237. 9. 下列哪项是错误的多级指针使用?
A. int **pp; int x = 10; pp = &x;
B. int *p; int **pp = &p;
C. int ***ppp; int **pp; ppp = &pp;
D. int x = 10; int *p = &x; int **pp = &p;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
238. 10. 给出以下代码段,请选择正确的输出: int x = 10; int *p = &x; int **pp = &p; printf("%d", **pp);
A. 10
B. 运行时错误
C. 未定义行为
D. 编译错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
239. 1. 若有以下定义和语句 以下是引用片段: #include int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL; 则以下选项中错误的语句是
A. A) *q=0;
B. B) w=p;
C. C) *p=a;
D. D) *p=*w;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
240. 2. 若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是
A. A) i=*p;
B. B) p*=*&j;
C. C) i=&j;
D. D) i=**p;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
241. 3. 有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a的值为
A. A) 12
B. B) 11
C. C) 10
D. D) 编译出错
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
242. 4. 1.若p为指针变量,y为变量,则y = *p++;的含义是
A. A.y=*p;p++
B. B.y=(*p)++
C. C.y=p;p++
D. D.p++;y=*p
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
243. 1. 阅读以下程序,该程序试图通过指针交换两个变量的值。请选出程序运行后的正确输出。 #include void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main() { int x = 5, y = 10; swap(&x, &y); printf("%d %d\n", x, y); return 0; }
A. 5 10
B. 10 5
C. 程序崩溃
D. 输出不确定
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
244. 2. 阅读以下程序,请选出程序运行后的正确输出。 #include int main() { int arr[] = {10, 20, 30, 40, 50}; int *ptr = arr; ptr += 2; printf("%d\n", *ptr); return 0; }
A. 10
B. 20
C. 30
D. 40
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
245. 3. 程序填空:以下程序试图通过指针访问数组元素并计算它们的和。请填空使程序完整。 #include int main() { int arr[] = {1, 2, 3, 4, 5}; int *ptr = arr; int sum = 0; for (int i = 0; i < 5; i++) { sum += _____; // 填空处 } printf("%d\n", sum); return 0; }
A. ptr[i]
B. *(ptr + i)
C. *ptr++
D. *ptr
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
246. 4. 阅读以下程序,请选出程序运行后的正确输出。 #include int main() { char str[] = "Hello"; char *ptr = str; ptr[2] = 'a'; printf("%s\n", str); return 0; }
A. Hello
B. Helao
C. Helal
D. 编译错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
247. 5. 程序填空:以下程序试图通过指针比较两个字符串。请填空使程序完整。 #include int main() { char str1[] = "Hello"; char str2[] = "World"; char *ptr1 = str1; char *ptr2 = str2; while (*ptr1 && *ptr2 && _____) { // 填空处 ptr1++; ptr2++; } if (*ptr1 == *ptr2) { printf("Strings are equal.\n"); } else { printf("Strings are not equal.\n"); } return 0; }
A. *ptr1 == *ptr2
B. ptr1 == ptr2
C. *ptr1 != *ptr2
D. ptr1 != ptr2
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
248. 6. 阅读以下程序,请选出程序运行后的正确输出。 #include int main() { int num = 10; int *ptr = # printf("%d\n", *ptr); return 0; }
A. 10
B. 变量的地址
C. 程序崩溃
D. 输出不确定
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
249. 7. 程序填空:以下程序试图通过指针动态分配内存并存储一个整数。请填空使程序完整。 #include #include int main() { int *ptr; ptr = (int*)malloc(sizeof(int)); if (ptr == NULL) { printf("Memory allocation failed.\n"); return 1; } _____ = 10; // 填空处 printf("%d\n", *ptr); free(ptr); return 0; }
A. ptr
B. *ptr
C. &ptr
D. **ptr
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
250. 8. 阅读以下程序,该程序有一个错误。请选出修正错误后的正确输出。 #include int main() { char *str = "Hello"; str[0] = 'J'; printf("%s\n", str); return 0; }
A. Jello
B. Hello
C. 程序崩溃
D. 输出不确定
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
251. 9. 程序填空:以下程序试图通过指针访问结构体成员。请填空使程序完整。 #include typedef struct { int x; int y; } Point; int main() { Point pt = {10, 20}; Point *ptr = &pt; printf("%d\n", _____); // 填空处 return 0; }
A. ptr->x
B. (*ptr).x
C. &ptr->x
D. *ptr.x
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
252. 1. 定义一个结构体以存储学生的姓名、年龄和成绩,正确的定义是:
A. struct student { char name; int age; float score; };
B. struct student { char name[50]; int age; float score; };
C. struct { char name; int age; float score; } student;
D. struct { char name[50]; int age; float score; } student;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
253. 2. 下列哪个不是合法的结构体类型定义?
A. struct person { int age; char name[20]; };
B. struct { int x; int y; } point;
C. typedef struct { int x; int y; } Point;
D. struct { int x; }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
254. 3. 下列结构体类型定义中,哪个使用了typedef关键字为结构体定义了一个新类型名?
A. struct { int x; int y; } Point;
B. struct Point { int x; int y; };
C. typedef struct { int x; int y; } Point;
D. struct Point { int x; int y; } typedef;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
255. 4. 下列结构体类型定义中,成员名不合法的是:
A. struct { int _age; char name[20]; } Person;
B. struct { int 2age; char name[20]; } Person;
C. struct { int age; char first_name[20]; } Person;
D. struct { int age; char name[20]; } person;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
256. 5. 下列哪个结构体类型定义中包含了另一个结构体类型作为成员?
A. struct { int x; int y; } Point;
B. struct { int age; char name[20]; } Person;
C. struct { int age; char name[20]; struct Point position; } Person;
D. struct Point { int x; int y; } typedef;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
257. 6. 定义了结构体类型struct Point { int x; int y; };后,正确的结构体变量定义是:
A. struct Point p1, p2;
B. Point p1, p2;
C. struct Point p1; struct p2;
D. struct p1, p2;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
258. 7. 若已使用typedef为结构体struct { int x; int y; }定义了一个新类型名Point,则正确的结构体变量定义是:
A. struct Point p1;
B. Point p1;
C. typedef Point p1;
D. struct { int x; int y; } p1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
259. 8. 下列哪个不是合法的结构体变量定义?
A. struct { int x; int y; } p1;
B. struct Point { int x; int y; } p1;
C. typedef struct { int x; int y; } Point; Point p1;
D. struct Point { int x; int y; }; Point p1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
260. 9. 定义了结构体类型struct Person { char name[20]; int age; };后,要定义并初始化一个名为p的结构体变量,正确的写法是:
A. struct Person p = {"Alice", 30};
B. Person p = {"Alice", 30};
C. struct Person p = {name: "Alice", age: 30};
D. Person p = (Person){"Alice", 30};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
261. 10. 下列结构体变量定义中,哪个使用了typedef定义的新类型名?
A. struct Point { int x; int y; } p1;
B. typedef struct { int x; int y; } Point; struct Point p1;
C. typedef struct { int x; int y; } Point; Point p1;
D. struct { int x; int y; } typedef Point; Point p1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
262. 11. 阅读以下程序,该程序有一个错误。请选出修正错误后的正确输出。 定义了结构体类型struct Point { int x; int y; };和结构体变量struct Point p;后,正确的赋值语句是:
A. p = {1, 2};
B. p.x = 1; p.y = 2;
C. struct Point p = {1, 2};
D. p = (Point){1, 2};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
263. 12. 定义了结构体类型struct Person { char name[20]; int age; };和结构体变量struct Person p;后,要引用结构体变量p的成员age,正确的写法是:
A. p.age
B. p->age
C. Person.age
D. struct Person.age
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
264. 13. 下列哪个不是合法的结构体成员引用?
A. p.x
B. p->x
C. (*p).x
D. &p->x
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
265. 14. 定义了结构体类型struct Point { int x; int y; };和结构体变量struct Point p1 = {1, 2}, p2;后,要将p1的值赋给p2,正确的赋值语句是:
A. p2 = p1;
B. p2 = &p1;
C. *p2 = *p1;
D. p2 = (Point)p1;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
266. 15. 定义了结构体类型struct Person { char name[20]; int age; };和结构体变量struct Person p;后,要为成员name赋值,正确的赋值语句是:
A. p.name = "Alice";
B. strcpy(p.name, "Alice");
C. p->name = "Alice";
D. name = "Alice";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
267. 16. 定义了结构体类型struct Date { int year; int month; int day; };和结构体变量struct Date today;后,要为today赋值表示今天的日期(2023年3月15日),正确的赋值语句是:
A. today = {2023, 3, 15};
B. today.year = 2023; today.month = 3; today.day = 15;
C. struct Date today = {2023, 3, 15};
D. today = (Date){2023, 3, 15};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
268. 17. 下列哪个语句正确地引用了结构体变量p的成员x的地址?
A. &p.x
B. p->x
C. &p->x
D. *(&p.x)
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
269. 18. 定义了结构体类型struct Point { int x; int y; };和结构体变量struct Point p1 = {1, 2};后,要获取成员x的值,正确的表达式是:
A. p1.x
B. p1->x
C. *p1.x
D. &p1->x
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
270. 19. 定义了结构体类型struct Person { char name[20]; int age; };和结构体变量struct Person p;后,要为成员name赋值为"Bob",不正确的赋值语句是:
A. strcpy(p.name, "Bob");
B. p.name = "Bob";
C. strncpy(p.name, "Bob", sizeof(p.name) - 1); p.name[sizeof(p.name) - 1] = '\0';
D. memcpy(p.name, "Bob", strlen("Bob") + 1);
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
271. 20. 定义了结构体类型struct Rectangle { int width; int height; };和结构体变量struct Rectangle r;后,要为r的成员width和height分别赋值为10和20,不正确的赋值语句是:
A. r.width = 10; r.height = 20;
B. struct Rectangle r = {10, 20};
C. r = (Rectangle){10, 20};
D. *(&r) = (Rectangle){10, 20};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
272. 1. 下列哪个语句正确地访问了结构体数组points中第三个元素的成员x?
A. points[2].x
B. points[3].x
C. points->x[2]
D. *points[2].x
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
273. 2. 下列哪个语句正确地创建了一个指向结构体数组的动态分配的指针,并为数组的第一个元素的成员x赋值为10?
A. struct Point *ptr = malloc(sizeof(struct Point) * 5); ptr[0].x = 10;
B. `Point *ptr = malloc(sizeof(Point) * 5); ptr[0].x = 1
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
274. 1. 以下是一个关于单链表删除操作的程序段,请填空。 void delete(Node **head, int key) { Node *temp = *head; Node *prev = NULL; if (temp != NULL && temp->data == key) { *head = temp->next; free(temp); return; } while (temp != NULL && temp->data != key) { prev = temp; temp = ___2___; } if (temp == NULL) return; prev->next = temp->next; free(temp); }
A. temp->next
B. prev->next
C. *head
D. &temp
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
275. 2. 关于单链表的遍历,以下哪个选项的描述是不正确的?
A. 遍历单链表时,需要从头节点开始。
B. 遍历单链表时,需要使用一个指针变量来追踪当前节点的位置。
C. 遍历单链表时,每次迭代都需要将指针变量移动到下一个节点。
D. 遍历单链表时,不需要检查当前节点是否为空。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
276. 3. 在单链表中插入一个新节点时,以下哪个选项是不必要的步骤?
A. 为新节点分配内存。
B. 将新节点的数据域设置为所需的值。
C. 将新节点的指针域设置为NULL。
D. 调整相邻节点的指针域,以将新节点插入到链表中。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
277. 4. 以下是一个关于单链表插入操作的程序段,请填空。 typedef struct node { int data; struct node *next; } Node; void insert(Node **head, int data) { Node *new_node = (Node*)malloc(sizeof(Node)); new_node->data = data; new_node->next = ___1___; if (*head == NULL) { *head = new_node; } else { Node *temp = *head; while (temp->next != NULL) { temp = temp->next; } temp->next = new_node; } }
A. *head
B. NULL
C. &(*head)
D. new_node
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
278. 5. 以下是一个关于单链表创建操作的程序段,请填空。 Node* createList(int arr[], int n) { Node *head = NULL; Node *tail = NULL; for (int i = 0; i < n; i++) { Node *new_node = (Node*)malloc(sizeof(Node)); new_node->data = arr[i]; new_node->next = NULL; if (head == NULL) { head = new_node; tail = new_node; } else { ___5___; tail = new_node; } } return head; }
A. tail->next = new_node
B. head->next = new_node
C. new_node->next = tail
D. tail = tail->next
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
279. 1. 定义一个共用体,用于存储一个整数或一个字符,以下哪种定义是正确的?
A. union Data { int i; char c; };
B. union { int i; char c; } Data;
C. union Data { int i; char c } Data;
D. union { int i; char c }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
280. 2. 下列哪个不是有效的共用体类型定义?
A. union { int x; float y; } Number;
B. union Number { int x; float y; };
C. union Number { int x; float y };
D. union { int x; float y } Number;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
281. 3. 以下哪个定义了一个名为Record的共用体类型,且该类型有两个成员:id(整型)和score(浮点型)?
A. union Record { int id; float score; };
B. union { int id; float score; } Record;
C. union Record { int id; float score } Record;
D. union { int id; float score }
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
282. 4. 已知共用体类型union Data { int i; float f; };,以下哪个语句正确地定义了一个union Data类型的变量data?
A. union Data data;
B. union data;
C. Data data;
D. union Data;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
283. 5. 若要引用共用体变量data中的float类型成员f,以下哪种方式是正确的?
A. data.f
B. data->f
C. data[f]
D. &data.f
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
284. 6. 对于共用体union Data { int i; char c; };,以下哪个语句正确地定义了一个变量并尝试访问其char类型的成员?
A. union Data data; data.c = 'A';
B. union Data data; (*data).c = 'A';
C. union Data data; data->c = 'A';
D. union Data data; &data.c = 'A';
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
285. 7. 已知共用体union Person { char name[50]; int age; };,以下哪个语句正确地定义了一个变量并尝试访问其name成员?
A. union Person person; strcpy(person.name, "John");
B. union Person person; person.name = "John";
C. union Person person; person->name = "John";
D. union Person person; name = "John";
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
286. 8. 对于共用体union Number { int i; float f; };,以下哪个语句正确地给int成员赋值?
A. union Number num; num.i = 10;
B. union Number num; num->i = 10;
C. union Number num; num = 10;
D. union Number num; num = {10};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
287. 9. 已知共用体union Data { int i; float f; };,以下哪个语句正确地给float成员赋值?
A. union Data data; data.f = 3.14;
B. union Data data; data->f = 3.14;
C. union Data data; data = 3.14;
D. union Data data; data = {.f = 3.14};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
288. 10. 对于共用体union Person { char name[50]; int age; };,以下哪个语句不能正确给name成员赋值?
A. union Person person; strcpy(person.name, "Alice");
B. union Person person; person.name = "Alice";
C. union Person person; strncpy(person.name, "Alice", sizeof(person.name));
D. union Person person; sprintf(person.name, "%s", "Alice");
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
289. 11. 已知共用体union Value { int i; double d; };,以下哪个语句在给double成员赋值时是正确的?
A. union Value value; value.d = 123.456;
B. union Value value; value->d = 123.456;
C. union Value value; value = 123.456;
D. union Value value; value = {.d = 123.456};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
290. 12. 对于共用体union Mix { char c; int i; float f; };,以下哪个语句在给char成员赋值时是正确的?
A. union Mix mix; mix.c = 'x';
B. union Mix mix; mix->c = 'x';
C. union Mix mix; mix = 'x';
D. union Mix mix; mix = {.c = 'x'};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
291. 13. 下列哪个是合法的共用体类型定义?
A. union { int i; float f; } u;
B. union u { int i; float f; };
C. union { int i; float f } u;
D. union u { int i; float f };
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
292. 14. 若要定义一个共用体类型Person,其中包含成员name(字符串)和age(整数),以下哪种定义正确?
A. union Person { char name[50]; int age; };
B. union Person { char *name; int age; } Person;
C. union { char name[50]; int age; } Person;
D. union { char *name; int age } Person;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
293. 15. 已知共用体union Number { int i; float f; };,以下哪个语句正确地定义了该类型的变量并初始化?
A. union Number num = {10};
B. union Number num = {.i = 10};
C. union Number num = {10.0};
D. union Number num = {.f = 10.0};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
294. 1. 下列关于位段的说法哪个是正确的?
A. 位段成员的类型只能是int、unsigned int或signed int。
B. 位段成员可以跨多个存储单元存储。
C. 位段成员的位数可以是任意正整数。
D. 位段是一种节省存储空间的数据结构。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
295. 2. 已知位段定义如下: struct BitField { unsigned int a : 2; unsigned int b : 5; unsigned int c : 1; }; 下列哪个选项正确描述了该位段的大小(以位为单位)?
A. 8
B. 7
C. 6
D. 依编译器而定,但通常是8的倍数
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
296. 3. 下列位段定义中,哪个选项是合法的?
A. struct { int a : -1; };
B. struct { int a : 0; };
C. struct { int a : 31; int b : 1; };
D. struct { int a : 33; };
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
297. 4. 已知位段定义如下: struct Packed { unsigned char a : 4; unsigned char b : 4; }; 下列哪个选项正确描述了变量packed的大小(以字节为单位)?
A. 1
B. 2
C. 依编译器而定,但通常是1或2
D. 依编译器而定,但至少是2
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
298. 5. 下列关于位段的说法哪个是错误的?
A. 位段可以用于节省内存。
B. 位段成员的访问速度通常比标准整数类型慢。
C. 位段成员的位数在定义后不能更改。
D. 位段可以跨多个不同的结构体实例共享存储单元。
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
299. 1. 下列哪个选项正确使用了typedef来定义一个新的结构体类型?
A. typedef struct { int x; } Point;
B. typedef struct Point { int x; };
C. typedef struct { int x; } Point; 和 typedef struct Point { int x; }; 都是正确的。
D. typedef struct Point { int x; } PointType;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
300. 1. 对于枚举类型enum Priority {LOW=1, MEDIUM, HIGH};,以下哪个选项不能正确地将变量p设置为HIGH?
A. enum Priority p = HIGH;
B. Priority p = HIGH;
C. enum Priority p; p = (Priority)3;
D. Priority p = (int)HIGH;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
301. 2. 若要定义一个枚举类型Weekday,表示星期一到星期日,以下哪个定义不正确?
A. enum Weekday {MON, TUE, WED, THU, FRI, SAT, SUN};
B. enum Weekday {MON=1, TUE, WED, THU, FRI, SAT, SUN};
C. enum {MON, TUE, WED, THU, FRI, SAT, SUN} Weekday;
D. enum Weekday {MON=0, TUE, WED=2, THU, FRI, SAT, SUN};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
302. 3. 定义一个枚举类型Status,包含OPEN、CLOSED和PENDING三个成员,且OPEN的值为0,以下哪个定义正确?
A. enum Status {OPEN=0, CLOSED, PENDING};
B. enum Status {OPEN, CLOSED=1, PENDING=2};
C. enum {OPEN=0, CLOSED, PENDING} Status;
D. enum Status {0, 1, 2};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
303. 4. 若要定义一个枚举类型Priority,包含LOW、MEDIUM和HIGH三个成员,且它们的值分别为1、2和3,以下哪个定义正确?
A. enum Priority {LOW=1, MEDIUM=2, HIGH=3};
B. enum Priority {LOW, MEDIUM, HIGH};
C. enum {LOW=1, MEDIUM, HIGH} Priority;
D. enum Priority {1, 2, 3};
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
304. 1. 以下是一个关于结构体和指针的综合案例,请填空。 struct Node { int data; struct Node *next; }; int main() { struct Node n1 = {10, NULL}; struct Node *p = &n1; printf("%d\n", ___); return 0; }
A. p->data
B. (*p).data
C. p.data
D. *p->data
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
305. 2. 以下是一个关于共用体和数组的综合案例,请填空。 union Data { int i; char c[2]; }; int main() { union Data data; data.i = 0x1234; printf("%c%c\n", data.c[0], data.c[1]); printf("%x\n", ___); return 0; }
A. data.i
B. data.c[2]
C. *(int*)data.c
D. (int)data.c
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
306. 3. 以下是一个关于枚举和循环的综合案例,请填空。 enum Weekday {MON, TUE, WED, THU, FRI, SAT, SUN}; int main() { enum Weekday day; for (day = MON; day <= SUN; day++) { if (day == ___) { printf("It's the weekend!\n"); } else { printf("It's a weekday.\n"); } } return 0; }
A. SAT || SUN
B. SAT && SUN
C. SAT || day == SUN
D. day == SAT || day == SUN
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
307. 4. 以下是一个关于结构体和字符串的综合案例,请填空。 struct Person { char name[50]; int age; }; int main() { struct Person p = {"Alice", 30}; printf("Name: %s, Age: %d\n", ___); return 0; }
A. p.name, p->age
B. p->name, p.age
C. p.name, p.age
D. &p.name, &p.age
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
308. 5. 以下是一个关于类型定义、结构体和指针的综合案例,请填空。 typedef struct { int x; int y; } Point; int main() { Point p1 = {10, 20}; Point *p = &p1; printf("(%d, %d)\n", ___); return 0; }
A. p->x, p->y
B. (*p).x, (*p).y
C. p.x, p.y
D. *p.x, *p.y
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
309. 1. 以下对结构体变量stu1中成员age的非法引用是:( ) struct student{int age;int num;}stu1,*p; p=&stu1;
A. stu1.age
B. student.age
C. p—>age
D. (*p).age
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
310. 2. 当说明一个共用体变量时系统分配给它的内存是:( )
A. 各成员所需内存量的总和
B. 结构中第一个成员所需的内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
311. 3. 以下对C语言中共用体类型数据的叙述正确的是:( )
A. 可以对共有体变量名直接赋值
B. 一个共用体变量中可以同时存放其所有成员
C. 一个共用体变量中不可以同时存放其所有成员
D. 共用体类型定义中不能出现结构体类型的成员
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
312. 4. C语言共用体类型变量在程序执行期间:( )
A. 所有成员一直驻留在内存中
B. 只有一个成员驻留在内存中
C. 部分成员驻留在内存中
D. 没有成员驻留在内存中
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
313. 5. C语言若有如下定义: uion data{ int i; char ch; double f;}b; 共用体变量b占用内存的字节数是:( )
A. 1
B. 2
C. 8
D. 11
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
314. 6. 阅读以下程序段,其输出结果是? struct { int x; char c; } s[] = {1, 'a', 2, 'b'}; int main() { printf("%d\n", s[1].x); return 0; }
A. 1
B. 2
C. 'a'
D. 'b'
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
315. 7. 以下程序段的输出结果是? union Data { int i; char c; float f; } data; int main() { data.i = 10; printf("%d\n", data.i); data.c = 'A'; printf("%d\n", data.i); return 0; }
A. 10, 10
B. 10, 65
C. 65, 65
D. 65, 10
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
316. 8. 阅读以下程序,其输出结果是? struct Complex { int real; int imag; }; int main() { struct Complex c1 = {1, 2}; struct Complex c2 = {c1.real, c1.imag + 1}; printf("%d + %di\n", c2.real, c2.imag); return 0; }
A. 1 + 2i
B. 1 + 3i
C. 2 + 3i
D. 3 + 2i
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
317. 9. 以下程序段的输出结果是? enum Color {RED, GREEN, BLUE} c; int main() { c = GREEN; printf("%d\n", c); return 0; }
A. 0
B. 1
C. 2
D. 3
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
318. 10. 阅读以下程序,其输出结果是? typedef struct { int len; char *str; } String; int main() { String s1 = {4, "abcd"}; printf("%s\n", s1.str); return 0; }
A. abcd
B. 4
C. (null)
D. 编译错误
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
319. 11. 以下程序用于输出结构体成员的值,请填空。 struct Point { int x; int y; }; int main() { struct Point p = {10, 20}; printf("%d, %d\n", p.___, p.___); return 0; }
A. x, y
B. Point.x, Point.y
C. p->x, p->y
D. &p.x, &p.y
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
320. 12. 以下程序用于演示共用体的使用,请填空。 union Data { int i; float f; char str[20]; }; int main() { union Data data; data.___ = 10; printf("%d\n", data.i); return 0; }
A. i
B. f
C. str
D. Data.i
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
321. 13. 以下程序用于输出枚举类型的值,请填空。 enum Season {SPRING, SUMMER, AUTUMN, WINTER}; int main() { enum Season s = AUTUMN; printf("%d\n", ___); return 0; }
A. AUTUMN
B. s
C. Season.AUTUMN
D. enum.AUTUMN
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
322. 14. 以下程序用于演示结构体数组的使用,请填空。 struct Student { char name[20]; int age; }; int main() { struct Student stu[2] = {{"Alice", 20}, {"Bob", 22; printf("%s\n", ___); return 0; }
A. stu[0].name
B. stu.name
C. stu[0]->name
D. &stu[0].name
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
323. 15. 以下程序用于演示类型定义的使用,请填空。 typedef struct { int x; int y; } Point; int main() { ___ p = {10, 20}; printf("%d, %d\n", p.x, p.y); return 0; }
A. struct Point
B. Point
C. typedef Point
D. struct
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
324. 1. 设有定义 int a[5] = {1, 2, 3, 4, 5}; int *p = a;,则 *(p + 2) 的值是:
A. 2
B. 3
C. 4
D. 5
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
325. 2. 若有以下定义和语句 int a[10], *p = a;,不能表示 a 数组元素 a[1] 的地址的是:
A. &a[1]
B. ++p
C. a + 1
D. p + 1
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
326. 3. 下列程序的输出结果是: int a[] = {1, 2, 3, 4, 5}; int *p = a; printf("%d\n", *(p + 4));
A. 1
B. 2
C. 3
D. 5
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
327. 4. 设 int a[5], *p = a; 下列哪个表达式不是对数组元素的正确引用?
A. *p
B. a[2]
C. *(a + 2)
D. p[5]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
328. 5. 若有定义 int a[10], *p = a; 则 p + 5 表示:
A. 元素 a[5] 的地址
B. 元素 a[5] 的值
C. 元素 a[6] 的地址
D. 元素 a[6] 的值
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
329. 6. 下列程序的输出结果是: int a[] = {1, 2, 3, 4, 5}; int *p = a; printf("%d\n", p[2]);
A. 1
B. 2
C. 3
D. 4
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
330. 7. 若有以下定义 int a[10], *p = a; 则对 a 数组元素正确引用的是:
A. a[10]
B. *p
C. a[11]
D. p[10]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
331. 8. 下列程序的输出结果是: int a[] = {1, 2, 3, 4, 5}; int *p = a; printf("%d\n", *(p + 3) - *(p + 2));
A. 1
B. 2
C. 3
D. 4
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
332. 9. 若有定义 int a[10], *p = a; 则 *(p + 2) 相当于:
A. a[2]
B. &a[2]
C. *a[2]
D. a + 2
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
333. 10. 设有定义 int a[] = {1, 2, 3, 4, 5}; int *p = a;,p + 1 表示的是:
A. 数组元素 a[1] 的值
B. 数组元素 a[1] 的地址
C. 数组元素 a[0] 的地址
D. 数组元素 a[0] 的值
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
334. 11. 设有定义 int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; int (*p)[4] = a;,则 *(*(p + 1) + 2) 的值是:
A. 7
B. 8
C. 5
D. 6
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
335. 12. 下列程序的输出结果是: int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12; int (*p)[4] = a; printf("%d\n", **(p + 2));
A. 9
B. 10
C. 11
D. 12
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
336. 13. 若有定义 int a[3][4], (*p)[4];,则 p + 1 指向:
A. a[0][1]
B. a[1][0]
C. a[1][1]
D. a[2][0]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
337. 14. 设有定义 int a[3][4], (*p)[4] = a; 则对数组元素 a[2][3] 的正确引用是:
A. *(p[2] + 3)
B. *(p + 2)[3]
C. (*p + 2)[3]
D. p[2][3]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
338. 15. 下列程序的输出结果是: int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12; int (*p)[4] = a; printf("%d\n", *(*(p + 1) + 3));
A. 5
B. 6
C. 7
D. 8
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
339. 16. 若有定义 int a[3][4], (*p)[4] = a; 则 p + 2 指向:
A. a[2][0]
B. a[2][4]
C. a[1][0]
D. a[0][0]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
340. 17. 设有定义 int a[3][4], (*p)[4]; p = a; 则 *(p + 1)[2] 相当于:
A. a[1][2]
B. &a[1][2]
C. a[1][3]
D. &a[1][3]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
341. 18. 下列程序的输出结果是: int a[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12; int (*p)[4] = a; printf("%d\n", *(*(p + 2) + 1));
A. 9
B. 10
C. 11
D. 12
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
342. 19. 若有定义 int a[3][4], (*p)[4]; p = a; 则对 a 数组元素正确引用的是:
A. p[0][0]
B. *(p + 2)[4]
C. *(p + 1)[5]
D. p[3][0]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
343. 20. 设有定义 int a[3][4], (*p)[4]; p = a; 则 (*p)[3] 相当于:
A. a[0][3]
B. &a[0][3]
C. a[1][3]
D. &a[1][3]
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
344. 21. 下列哪个声明表示指针数组?
A. int *ptr[10];
B. int (*ptr)[10];
C. int ptr[10]();
D. int (*ptr)();
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
345. 22. 下列哪个声明表示数组指针?
A. int *ptr[10];
B. int (*ptr)[10];
C. int ptr[10];
D. int *ptr;
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
346. 23. 设有指针数组定义 int *ptr[3];,则 ptr 是:
A. 指针变量
B. 数组名
C. 指针数组名,ptr[0] 是其元素
D. 数组指针
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
347. 24. 设有数组指针定义 int (*ptr)[3];,则 ptr 是:
A. 指针变量
B. 数组名
C. 指针数组名
D. 数组指针
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
348. 25. 下列程序的输出结果是: int a[3][2] = {{1, 2}, {3, 4}, {5, 6; int (*ptr)[2]; ptr = a; printf("%d\n", (*ptr)[1]);
A. 1
B. 2
C. 3
D. 4
答案:请关注【九八五题库】微信公众号,发送题目获取正确答案。
如果觉得文章对您有用,请随意打赏。
您的支持是我们继续创作的动力!
微信扫一扫
支付宝扫一扫