概述
已完成 0/10 个问题
问题:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
信息
C 测验 4 - 知行者
您已完成过测验,因此您不能再测验。
测验载入中...
您必须登入或注册才能开始测验。
必须先完成以下测验才能开始:
测验结果
答对 0/10 个问题
答题时间:
时间已花费
您获得 0/0 分数 (0)
类别
- 未分类0%
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 已答
- 回顾
-
以下关于指针的说法,正确的是
- 1.
- 2.
- 3.
- 4.
1/10问题正确指针是存储变量地址的变量,而不是存储变量值。指针可以指向数组,且指针的大小与所指向的数据类型无关。
错误指针是存储变量地址的变量,而不是存储变量值。指针可以指向数组,且指针的大小与所指向的数据类型无关。
-
以下代码的输出结果是 int x = 5; int *p = &x; printf("%d", *p);
- 1.
- 2.
- 3.
- 4.
2/10问题正确p 指向变量 x,*p 表示解引用,输出 x 的值,即 5。
错误p 指向变量 x,*p 表示解引用,输出 x 的值,即 5。
-
以下关于 malloc 的说法,正确的是
- 1.
- 2.
- 3.
- 4.
3/10问题正确malloc 分配的内存位于堆区,需要手动使用 free 释放,且不会自动初始化为 0。
错误malloc 分配的内存位于堆区,需要手动使用 free 释放,且不会自动初始化为 0。
-
以下代码的输出结果是 int arr[] = {1, 2, 3, 4, 5}; printf("%d", *(arr + 2));
- 1.
- 2.
- 3.
- 4.
4/10问题正确arr + 2 表示数组 arr 的第三个元素的地址,解引用后输出值为 3。
错误arr + 2 表示数组 arr 的第三个元素的地址,解引用后输出值为 3。
-
以下关于结构体的说法,正确的是
- 1.
- 2.
- 3.
- 4.
5/10问题正确结构体的大小可能因为内存对齐而大于所有成员大小之和。
错误结构体的大小可能因为内存对齐而大于所有成员大小之和。
-
以下代码的输出结果是 int x = 10; int y = x++; printf("%d %d", x, y);
- 1.
- 2.
- 3.
- 4.
6/10问题正确x++ 是后置自增,y 的值为 10,x 自增后变为 11。
错误x++ 是后置自增,y 的值为 10,x 自增后变为 11。
-
以下关于 const 关键字的说法,正确的是
- 1.
- 2.
- 3.
- 4.
7/10问题正确const 变量可以通过指针修改,但这是不推荐的做法。
错误const 变量可以通过指针修改,但这是不推荐的做法。
-
以下代码的输出结果是 int x = 5; int y = (x > 3) ? 10 : 20; printf("%d", y);
- 1.
- 2.
- 3.
- 4.
8/10问题正确三元运算符 (x > 3) ? 10 : 20 判断 x > 3 为真,返回 10。
错误三元运算符 (x > 3) ? 10 : 20 判断 x > 3 为真,返回 10。
-
以下关于 typedef 的说法,正确的是
- 1.
- 2.
- 3.
- 4.
9/10问题正确typedef 用于为现有数据类型定义新的别名。
错误typedef 用于为现有数据类型定义新的别名。
-
以下代码的输出结果是 int x = 5; int *p = &x; int **pp = &p; printf("%d", **pp);
- 1.
- 2.
- 3.
- 4.
10/10问题正确*pp 解引用两次,最终输出 x 的值,即 5。
错误*pp 解引用两次,最终输出 x 的值,即 5。