测验概述
已完成 0/10 个问题
问题:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
信息
Java 测试
您已完成过测验,因此您不能再测验。
测验载入中...
您必须登入或注册才能开始测验。
您必须先完成以下测验才能开始:
测验结果
答对 0/10 个问题
答题时间:
时间已花费
类别
- 未分类 0%
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 已答
- 回顾
-
1/10问题
1. 问题
以下关于 va_list 的说法,正确的是
正确
va_list 是用于处理可变参数的类型,通常与 va_start、va_arg 和 va_end 一起使用。
错误
va_list 是用于处理可变参数的类型,通常与 va_start、va_arg 和 va_end 一起使用。
-
2/10问题
2. 问题
以下代码的输出结果是
#define SQUARE(x) x * x int x = 3; int y = SQUARE(x + 1); printf("%d", y);
正确
宏展开为 x + 1 * x + 1,即 3 + 1 * 3 + 1 = 7。正确的宏定义应为 #define SQUARE(x) ((x) * (x))。
错误
宏展开为 x + 1 * x + 1,即 3 + 1 * 3 + 1 = 7。正确的宏定义应为 #define SQUARE(x) ((x) * (x))。
-
3/10问题
3. 问题
以下关于 __thread 关键字的说法,正确的是
正确
__thread 是 GCC 扩展,用于定义线程局部变量,每个线程有独立的副本。
错误
__thread 是 GCC 扩展,用于定义线程局部变量,每个线程有独立的副本。
-
4/10问题
4. 问题
以下代码的输出结果是
int x = 5; int y = (x++, x++, x++); printf("%d", y);
正确
逗号表达式从左到右计算,最终 y 的值为最后一个 x++ 的结果,即 7。
错误
逗号表达式从左到右计算,最终 y 的值为最后一个 x++ 的结果,即 7。
-
5/10问题
5. 问题
以下关于 setjmp 和 longjmp 的说法,正确的是
正确
setjmp 和 longjmp 用于实现非局部跳转,通常用于异常处理。
错误
setjmp 和 longjmp 用于实现非局部跳转,通常用于异常处理。
-
6/10问题
6. 问题
以下代码的输出结果是
int x = 5; int *p = &x; int **pp = &p; **pp = 10; printf("%d", *p);
正确
**pp = 10 修改了 x 的值,*p 输出 x 的值,即 10。
错误
**pp = 10 修改了 x 的值,*p 输出 x 的值,即 10。
-
7/10问题
7. 问题
以下关于 __builtin_expect 的说法,正确的是
正确
__builtin_expect 是 GCC 扩展,用于优化分支预测,提示编译器某个条件更可能为真或假。
错误
__builtin_expect 是 GCC 扩展,用于优化分支预测,提示编译器某个条件更可能为真或假。
-
8/10问题
8. 问题
以下代码的输出结果是
int x = 5; int y = x & ~1; printf("%d", y);
正确
~1 表示按位取反,x & ~1 将 x 的最低位清零,5 的二进制为 101,结果为 100,即 4。
错误
~1 表示按位取反,x & ~1 将 x 的最低位清零,5 的二进制为 101,结果为 100,即 4。
-
9/10问题
9. 问题
以下关于 _Complex 关键字的说法,正确的是
正确
_Complex 是 C99 标准引入的,用于定义复数类型。
错误
_Complex 是 C99 标准引入的,用于定义复数类型。
-
10/10问题
10. 问题
以下代码的输出结果是
int x = 5; int y = x ^ ~0; printf("%d", y);
正确
~0 表示按位取反,x ^ ~0 表示 5 ^ (-1),结果为 -6。
错误
~0 表示按位取反,x ^ ~0 表示 5 ^ (-1),结果为 -6。