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