C语言从头学63—学习头文件stdlib.h(二)

6、随机数函数rand()
     功能:产生0~RAND_MAX 之间的随机整数。
     使用格式:rand(); //无参
     返回值:返回随机整数
     说明:
      a.RAND_MAX是一个定义在stdlib.h里面的宏,表示可以产生的最大随机整数;
      b.如需要获得整数 a 到 b 之间的随机数(包括a、b),可以使用下面的公式:
         int r = rand()%(b-a+1)+a;。
      c.使用rand()函数还要配套使用随机数种子函数(下面介绍),否则每次输出的随机数顺序都会相同,失去了随机数的意义。
7、随机数种子函数srand()
     功能:重置随机数种子值
     使用格式:srand(参1);
         参1:使用无符号整数作为种子值,为增加随机性,一般使用随时变化的time(NULL)函数返回的秒数做为种子值
     返回值:无
     说明:种子函数srand要在随机数函数rand()前面调用才会发生作用。
 8、终止程序函数abort()  
     功能:触发SIGABRT信号,终止程序
     使用格式:abort(); //无参
     返回值:无
     说明:abort函数触发信号SIGABRT后,有两种情况:如无自定义信号处理程序,则调用默认信号处理程序,然后结束程序;如有自定义信号处理程序,则在执行默认信号处理程序后,会进入自定义信号处理程序,然后再结束程序。总之,不会再返回主程序,这一点与raise()函数发出信号的结果不同。
9、退出当前执行程序函数 exit()、quick_exit()、_Exit()
     功能:退出当前正在执行的程序
     使用格式: exit(参1);
                        quick_exit(参1);
                        _Exit(参1);
        参1:程序的退出状态:0正常退出,非零发生错误退出;也可使用宏EXIT_SUCCESS和EXIT_FAILURE当作参数
     说明:
      a. 上面三个退出程序函数的区别:exit()是正常退出,系统会做完整的清理;quick_exit() 是快速退出,清理工作少一些;_Exit() 是立即退出,不做清理工作。
      b. 退出程序函数退出的是整个程序,不是某一个具体函数;无论在程序的任何地方,遇到上面三个函数,程序都会立即结束。
10、退出前处理函数 atexit()、at_quick_exit()
     功能:程序退出前需要执行的一些函数通过这两个函数进行登记,以便程序退出前予以调用。
     使用格式:atexit(参1);
                       at_quick_exit(参1);
        参1:要执行的函数地址(函数名)。
      返回值:调用成功时返回0 ,调用失败时返回非零值
      说明:
       a.在函数atexit()中登记的函数,只有调用exit()退出或main()退出时才会执行;同样,在函数at_quick_exit()中登记的函数只有在调用quick_exit()退出时才会执行;也就是说,atexit与exit、at_quick_exit与quick_exit要成对使用。
       b.这些函数要在exit或quick_exit前使用,而且可以多次使用;多次使用时,执行顺序是挨着exit()近的先执行。
       c.要调用的函数必须是无参、无返回值的。
       以上函数的实验程序如下:

#include<stdio.h>
#include<time.h> //随机数种子函数
#include<stdlib.h>
#include<signal.h> 
void handle(int x)
{printf("按回车键lllll继续...\n");getchar();
}
void myPrint()
{printf("myPrint函数被调用了。。。\n");getchar();exit(EXIT_SUCCESS);
}
void myAtexit()
{printf("myAtexit函数被执行了\n");getchar();
}
int main(void)
{
//生成10个0-100间的随机整数srand(time(0));for (int i = 0; i < 10; i++){int r = rand() % (100 - 0 + 1) + 0;//生成0-100之间的10个随机整数printf("%d - %d ",i,r);}//运行结果:0 - 92 1 - 55 2 - 26 3 - 41 4 - 17 5 - 32 6 - 80 7 - 69 8 - 1 9 - 93
//实验abort()函数signal(SIGABRT, handle);//abort(); //注释掉,否则后面的代码无法运行
//实验exit() //myPrint(); //这个函数中有exit()的调用printf("这里是主程序...\n");
//实验atexit()函数atexit(myAtexit);exit(EXIT_FAILURE); //如果仅注释掉这一行,myAtexit仍会被调用,main函数正常退出也调用atexit函数getchar();return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/150125.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【学习笔记】exkmp(Z函数)

本文参考洛谷题解&#xff1a;https://www.luogu.com.cn/article/cq4b4e5f 侵删 前言 exkmp 和 kmp 要求的东西比较类似。 exkmp 可以求出 a i . . . n a_{i...n} ai...n​ 和 b b b 的最长公共前缀。 这玩意也称 z 函数。 算法流程 求解 nxt 数组 定义 n x t i nxt_i …

【大模型对话 的界面搭建-Open WebUI】

Open WebUI 前身就是 Ollama WebUI&#xff0c;为 Ollama 提供一个可视化界面&#xff0c;可以完全离线运行&#xff0c;支持 Ollama 和兼容 OpenAI 的 API。 github网址 https://github.com/open-webui/open-webui安装 第一种 docker安装 如果ollama 安装在同一台服务器上&…

博士德王道4S管理系统存在SQL注入漏洞

漏洞描述 博士王道汽车4S企业管理系统&#xff08;以下简称“王道4S系统”&#xff09;是一套专门为汽车销售和维修服务企业开发的管理软件。该系统是博士德软件公司集10余年汽车行业管理软件研发经验之大成&#xff0c;精心打造的最新一代汽车4S企业管理解决方案。石家庄博士…

三子棋小游戏

使用C语言编写代码&#xff0c;实现一个简单小游戏---三子棋 这里创建1个game.h文件&#xff0c;用来声明函数、宏的文件&#xff0c;一个game.c文件用来实现函数game&#xff08;&#xff09;&#xff0c;一个play.h文件用来作为该游戏的源文件。 具体代码如下&#xff1a; …

文件上传、amrkdown编辑器

一、文件上传 这里我以图片为例&#xff0c;进行上传&#xff0c;上传到阿里云oss&#xff08;对象存在中&#xff09; 首先&#xff0c;我们先梳理一下&#xff0c;图片上传的流程 1、前端选择文件&#xff0c;提交文件 前端提交文件&#xff0c;我们可以使用ElementUI中的…

网络:TCP协议-报头字段

个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》《Linux》《网络》 文章目录 前言一、TCP协议格式16位源端口号 和 16位目的端口号4位首部长度16位窗口大小32位序号 和 32位确认序号6种标记位 和 16位紧急指针 总结 前言 本文是我对于TCP协…

大数据新视界 --大数据大厂之大数据存储技术大比拼:选择最适合你的方案

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【hot100-java】【下一个排列】

R8-技巧篇 最近速成java中&#xff0c;算法基础需要兼顾。 class Solution {public void nextPermutation(int[] nums) {int lennums.length;List<Integer>list new ArrayList<>();boolean flagtrue;for (int ilen-1;i>0;i--){list.add(nums[i]);Collections.…

[spring]用MyBatis XML操作数据库 其他查询操作 数据库连接池 mysql企业开发规范

文章目录 一. MyBatis XML配置文件1. 配置链接字符串和MyBatis2. 写持久层代码方法定义Interface方法实现xml测试 3. 增删改查增:删改查 二. 开发规范(mysql)三. 其他查询操作1. 多表查询2. #{} 和 ${}(面试题)使用区别 排序功能like查询 三. 数据库连接池 一. MyBatis XML配置…

矩阵的逆怎么算?逆矩阵公式来了(附逆矩阵计算器)

大家好&#xff0c;这里是效率办公指南&#xff01; &#x1f4da; 在线性代数中&#xff0c;逆矩阵是一个非常重要的概念。一个方阵如果存在逆矩阵&#xff0c;意味着该矩阵是可逆的&#xff0c;或者说是非奇异的。逆矩阵在解决线性方程组、计算矩阵的方根等方面有着广泛的应…

啤酒过滤——关于过滤助剂的介绍

在啤酒的酿造过程中&#xff0c;过滤是一个关键步骤&#xff0c;在啤酒厂中最常用的过滤助剂主要有两种&#xff1a;硅藻土和珍珠岩。它们能够帮助去除杂质&#xff0c;确保啤酒的清澈和口感。过滤助剂通常以粉状形式存在&#xff0c;它们被涂抹在过滤机的支撑材料上&#xff0…

应急响应--来不来得及走流程...

免责声明&#xff1a;本文仅做分享&#xff01; 应急响应详解 概述 应急响应是现代信息安全管理中的重要一环。随着网络威胁的日益复杂化&#xff0c;企业和组织必须具备快速响应安全事件的能力&#xff0c;以最大限度地减少数据泄露、业务中断以及经济损失。本文将从应急响应…

衍射的角谱理论

一、单色平面波与本征函数 不考虑夫琅禾费近似, 则相干光场在给定二平面间的传播过程就是通过一个二维线性空不变系统。 上式函数是这个系统的本征函数,表示振幅为1的平面波在xy平面上的复振幅分布,空间频率分量 = cos / , = cos / 与平面波的传播方向相联系, 空间…

单链表进阶

之前已经介绍过单链表及其一些简单的功能 这次来简单介绍单链表一些的其他接口 1.在指定位置之前插入数据 具体原码&#xff0c;三个参数&#xff0c;phead是链表的指针&#xff0c;pos是节点的地址&#xff0c;x是需要插入的数据。 pos不能为空指针&#xff0c;因为pos为空…

P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪

原理构造法 令ans c1 c2 .. cn ci 余数 * &#xff08;c1乘到cn但不乘ci&#xff09;* &#xff08;c1乘到cn但不乘ci 的逆元&#xff0c;模ci意义下&#xff09; 定理&#xff1a;在模M c1乘到cn 意义下&#xff0c;解唯一。 #include<bits/stdc.h> #define in…

如何修改音频的音量增益

一、前言 在开发音频相关的功能&#xff08;比如说语音通话、播放音乐&#xff09;时&#xff0c;经常会遇到音量太小的问题&#xff0c;这时候就需要我们对原始数据进行处理。本文将介绍如何通过修改原始音频数据来增加增益&#xff0c;本文包含如下内容&#xff1a; 1.音频数…

HTML标题标签与其属性

在HTML中标题是通过<h1..6> </h1...6>标签进行定义的。其中<h1>是定义最大的标题&#xff0c;<h6>是定义最小的标题。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"…

项目启动卡住不动Property ‘mapperLocations‘ was not specified.

问题如上图所示&#xff1b; 原因&#xff1a;在mapper打了个断点&#xff01;

Mapbox封装图形绘制工具 线,圆,polygon,删除,点 mapbox-gl-draw-circle mapbox-gl-draw

使用插件&#xff0c;安装 npm install mapbox-gl-draw-circle //绘制圆 npm install mapbox/mapbox-gl-draw //绘制点线面删除相关API地址&#xff1a;https://github.com/mohong/mapbox-gl-draw-circle https://github.com/mapbox/mapbox-gl-draw/blob/main/docs/API.md…

大数据Flink(一百二十四):案例实践——淘宝母婴数据加速查询

文章目录 案例实践——淘宝母婴数据加速查询 一、​​​​​​​创建数据库表并导入数据 二、​​​​​​​​​​​​​​创建session集群 三、​​​​​​​​​​​​​​源表查询 四、​​​​​​​​​​​​​​指标计算 案例实践——淘宝母婴数据加速查询 随着…