Linux开发复习:C随机数生成与Makefile实践
需积分: 10 157 浏览量
更新于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在项目结构管理中的应用,有助于期末考试前的系统复习。
2021-09-13 上传
2021-11-06 上传
2021-09-13 上传
2021-09-13 上传
2023-04-05 上传
2019-05-18 上传
2021-05-27 上传
2020-05-08 上传
Y.Freedom
- 粉丝: 0
- 资源: 2
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍