内容简介作者 谢恩铭,慕课网精英讲师 Oscar老师。
- 前言
- 练习题
- 练习题答案
- 习作
- 第三部分第一课预告
上一课和上上一课我们完成了一个游戏:
-
C语言探索之旅 | 第二部分第九课:实战"悬挂小人"游戏
-
C语言探索之旅 | 第二部分第十课:实战"悬挂小人"游戏答案
这一课我们来做一些练习题,还有一个小的习作。
这些练习题是帮助大家巩固知识的,其实不难。不看答案来完成这 15 道题目吧,都是单选题。
2. 练习题1.什么是全局变量?
A. 可以在随处被访问的变量
B. 变量类型任意的变量
C. 声明在 main 函数里的变量
2.当我们引入标准库的头文件,使用类似如下的哪一种方式?
A. #include
B. #include "time.h"
C. #include {time.h}
D. #include [time.h]
3.C语言的编译按如下那种顺序进行?(这里其实省略了一步:汇编(用到汇编器,就不赘述了))
A. 预处理 -> 编译 -> 链接
B. 编译 -> 链接 -> 预处理
C. 链接 -> 预处理 -> 编译
D. 预处理 -> 链接 -> 编译
4.如果我写 &variable,我得到的是什么?
A. variable 的地址
B. variable 的值
C. variable 指向的变量的值
5.我们用什么值来初始化指针?
A. NOTHING
B. 1
C. NULL
D. MAIN
E. 0_ADDRESS
6.有代码如下:
int number = 8;
int *pointer = &number;
假设 number 位于内存地址 5000 处,而 pointer 这个指针位于内存地址 2500 处,那么如果在接下来的程序中打印 *pointer 的值,是什么呢?
A. 5000
B. 2500
C. 8
D. 无可预知
7.数组的下标从几开始?
A. 0
B. 1
C. -1
8.下面哪行代码是用于创建有 10 个 double 变量的数组?
A. double *array[10];
B. double array{10};
C. double array[10];
D. double array[9];
9.以下程序有一个错误,是哪一个?
int main(int argc, char *argv[])
{
char city[100];
printf("请问您住在哪个城市 ? ");
scanf("%s", &city);
printf("您住在 %s, 这个城市我很熟悉 !", city);
return 0;
}
A. 第二个 printf 中的 city 前少了 & 号
B. 在 city 数组的定义中,city 前少了 * 号
C. 在 scanf 的 city 前多了 & 号
10.哪一个预处理命令表明 #if 的结束?
A. #elif
B. #endif
C. #ifdef
D. #ifndef
11.结构体里面可以包含数组吗?
A. 可以
B. 不可以
C. 可以,但仅当数组都是同一种类型时
12.为什么通常我们更喜欢用一个函数来初始化结构体?
A. 一旦结构体做了修改,我们不需要在程序中重做此结构体的所有初始化
B. 对电脑来说,这样速度更快
C. 这可以把我的代码变成 C++ 形式的
13.在打开一个文件后总是应该做什么事情?
A. 关闭文件
B. 测试文件指针的有效性
C. 清空文件内容
D. 把光标放在文件首位置
14.如下代码有什么作用?
malloc(sizeof(int) * 25);
A. 在内存中申请一个 25 字节的 int 型变量
B. 在内存中申请一个 int 型数组,数组包含 25 个元素
C. 在内存中申请一个 25 字节的 float 型变量
D. 在内存中申请一个 float 型数组,数组包含 25 个元素
15.什么是缓冲区溢出?
A. 存储的字符串超出了缓冲区的最大容量
B. 在读缓冲区时进入了死循环
C. 当我们丢失一个指向字符串的指针时造成的内存泄露
- A
- A
- A
- A
- C
- C
- A
- C
- C
- B
- A
- A
- B
- B
- A
《用自己的语言解释指针》
总是我说,可能有点唠叨。这回换听官们说说呗。
指针是 C语言的精华,也是 C语言之所以很灵活强大且具有陷阱的原因。
如果学习 C语言,不理解指针,那就没掌握精髓。
所以在本次的“习作”中,我们要求你用自己的语言来解释指针,看看大家理解得如何。
将你的解释发在留言中即可。
不要一上来就长篇大论,先捋一捋一些指针的基本概念会更好。
即使你不留言,也请自己多看看指针的知识点,可以阅读《C和指针》,《C专家编程》,《C语言深度解剖》等书。
5. 第三部分第一课预告今天的课就到这里,一起加油吧!
下一课:[C语言探索之旅 | 第三部分第一课:链表]
我是 谢恩铭,慕课网精英讲师 Oscar 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」



