Linux开发复习:C随机数生成与Makefile实践

需积分: 10 0 下载量 150 浏览量 更新于2024-07-15 收藏 650KB DOCX 举报
本资源是一份针对Linux操作系统开发与应用期末复习材料,主要聚焦于C语言编程中的随机数生成和Makefile问题处理。以下是主要内容的详细解读: 1. **Linux下C的编程:随机数生成** - **1.0-9之间的随机整数**:通过`<stdio.h>`库中的`rand()`函数生成,但初始设置可能导致结果不随机,比如固定为3。解决方法是使用`<time.h>`库来设置随机数种子,确保每次程序运行时得到不同的随机数。 ```cpp #include <stdio.h> #include <time.h> int main() { srand(time(NULL)); // 设置随机种子,依赖当前时间 int a = rand() % 10; printf("%d\n", a); } ``` - **2.0-1之间的随机小数(精度3位)**:生成0.999这样的小数,可以先生成999,然后取模1000。例如: ```cpp float random_float() { return (float)(rand() % 1000) / 1000.0; } ``` 2. **课本第6章 Makefile问题** - **编写随机数生成函数**:将产生随机数的代码封装成函数,如`rand1()`,并将其与`setnumber`和`selection`等功能结合起来。需要确保函数声明和调用正确。 - **Makefile的使用**: - 将相关代码段复制到单独的`.c`文件(如`rand1.c`和`selection.c`)中,并使用`:10,15wrand1.c`和`:16,22wselection.c`命令分别写入。 - 删除不必要的行,如第5-10行,然后在`main()`中调用新函数。 - 遇到错误时,可能需要调整函数声明、函数调用位置以及输出部分的代码。 3. **编译和链接过程** - 使用`gcc`编译器进行编译,将`.c`文件转换为`.o`(对象文件): ``` gcc -c rand1.c ``` - 对多个`.c`文件进行链接,生成可执行文件`*.exe`: ``` gcc -o output_file rand1.o selection.o ``` - 文件管理和组织:创建文件夹,将相关源代码文件移动到该文件夹中,并执行ls检查文件结构。 这份文档提供了Linux环境下C语言编程实践的复习资料,着重于随机数生成的实现技巧和Makefile在项目结构管理中的应用,有助于期末考试前的系统复习。