C 语言是一门强大的编程语言,广泛用于系统编程、嵌入式开发、算法实现等领域。下面是一份C 语言测验,涵盖基础语法、指针、函数、数据结构、内存管理等内容,适用于初学者到高级开发者测试自己的 C 语言掌握程度。
📖 目录
1️⃣ 基础语法测试
📌 题目 1
C 语言的 printf()
函数用于:
- A) 读取输入
- B) 打印输出
- C) 退出程序
- D) 定义变量
✅ 正确答案:B
📌 题目 2
下面哪个是正确的 C 语言变量声明?
- A)
int num = 10;
- B)
num int = 10;
- C)
int = 10 num;
- D)
variable int = 10;
✅ 正确答案:A
📌 题目 3
C 语言中的 char
类型占用多少字节(假设 char
类型大小不变)?
- A) 1 字节
- B) 2 字节
- C) 4 字节
- D) 8 字节
✅ 正确答案:A
2️⃣ 运算符与表达式
📌 题目 4
下面哪个是有效的 C 语言赋值语句?
- A)
5 = x;
- B)
x == 5;
- C)
x = 5;
- D)
x := 5;
✅ 正确答案:C
📌 题目 5
假设 int a = 5, b = 2;
,那么 a % b
的值是多少?
- A) 0
- B) 1
- C) 2
- D) 5
✅ 正确答案:B
3️⃣ 控制流(判断与循环)
📌 题目 6
以下 if
语句的输出是什么?
int x = 10;
if (x = 0) {
printf("Hello");
} else {
printf("World");
}
- A) Hello
- B) World
- C) 编译错误
- D) 不确定
✅ 正确答案:B
(x = 0
是赋值操作,if(0)
为 false
)
📌 题目 7
while
循环和 for
循环的主要区别是:
- A)
for
适用于已知循环次数,while
适用于条件控制的循环 - B)
while
比for
运行得更快 - C)
for
只能用于整数循环,while
不能 - D)
while
只能用于无限循环
✅ 正确答案:A
4️⃣ 数组与指针
📌 题目 8
以下代码的输出是什么?
int arr[5] = {1, 2, 3, 4, 5};
printf("%d", *(arr + 2));
- A) 1
- B) 2
- C) 3
- D) 4
✅ 正确答案:C
(*(arr + 2)
访问 arr[2]
)
📌 题目 9
指针的默认值是什么?
- A) 0
- B)
NULL
- C)
undefined
- D)
nullptr
✅ 正确答案:B
(NULL
在 C 语言中表示空指针)
5️⃣ 函数与作用域
📌 题目 10
C 语言中的 static
变量的作用域是:
- A) 仅在当前函数/文件内可用
- B) 在整个程序中可用
- C) 可以被外部文件访问
- D) 以上都不是
✅ 正确答案:A
6️⃣ 结构体与共用体
📌 题目 11
结构体 struct
与共用体 union
的主要区别是什么?
- A)
struct
所有成员共享同一块内存,而union
不是 - B)
union
所有成员共享同一块内存,而struct
不是 - C)
struct
和union
没有区别 - D)
struct
只能存储整数
✅ 正确答案:B
7️⃣ 内存管理
📌 题目 12
malloc()
分配的内存需要:
- A)
free()
释放 - B)
delete
释放 - C) 自动释放
- D)
clear()
释放
✅ 正确答案:A
8️⃣ 文件操作
📌 题目 13
以下 fopen()
语句用于:
FILE *fp = fopen("test.txt", "r");
- A) 以只读模式打开
test.txt
- B) 以写入模式打开
test.txt
- C) 以追加模式打开
test.txt
- D) 以上都不是
✅ 正确答案:A
9️⃣ C 预处理器
📌 题目 14
预处理器指令 #define MAX 100
的作用是:
- A) 创建变量
- B) 定义常量
- C) 声明函数
- D) 以上都不是
✅ 正确答案:B
🔟 综合挑战
📌 题目 15
以下代码的输出是什么?
#include <stdio.h>
void func(int *p) {
*p = 20;
}
int main() {
int a = 10;
func(&a);
printf("%d", a);
return 0;
}
- A) 10
- B) 20
- C) 编译错误
- D) 运行时错误
✅ 正确答案:B
(通过指针修改变量的值)
📚 参考资料
📖 C 语言官方文档
📖 C 语言测验 – W3Schools
希望这个测验能帮你复习 C 语言的知识!🚀
发表回复