C语言中unsigned和signed在声明时有什么作用、

1、unsigned的作用就是将数字类型无符号化, 例如 int 型的范围:-2^31 ~ 2^31 - 1,而unsigned int的范围:0 ~ 2^32。看起来unsigned 是个不错的类型,尤其是用在自增或者没有负数的情况。但是在实际使用中会出现一些意外的情况。

2、signed在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据。

C++ 产生随机数 srand和time

srand( ( unsigned )time( NULL ) ); //是用当前的时间值来作为随机数种子。任何的随机数发生器都需要一个”种子“。

time函数返回当前日历时间的秒数。他的返回值类型为 time_t 。

(unsigned )time( 0 )前的(unsigned )是把返回值强制转换为(unsigned )型。

这个函数原型是time_t time( time_t * ),因为编译器对0和NULL作了隐示转换,所以time( 0 )等价于time( NULL )。

rand函数实际上是伪随机数,所以要用srand()来完成,以便产生不同的随机数,这个过程叫做随即化。

srand函数取一个unsigned类型的整数参数并内嵌rand函数,即种子

如果不初始化随机数种子,每次随机出来的都会是同一个数。

在C++中:rand和srand两个函数都位与<cstdlib>(被包含于iostream中)

原型:void  srand(unsigned  int   seed)

void  rand  (void)

seed相当于一个种子,srand函数根据这个种子seed,设置一个随机起点,而rand函数根据这个随机起点,返回一个随机数【seed   ,RAND_MAX】,其中RAND_MAX是0x7ffff,但是是一个伪的随机数(多次编译产生的随机数是一样的,除非给一个变化的种子)

srand rand RAND_MAX 分别是什么意思?

stdlib.h头文件中有宏#define RAND_MAX 0x7fff
rand()产生一个0到0x7ffff即0到32767之间的随机数
rand()/(RAND_MAX+1.0)就等于一个0到1之间的小数了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的式子了.

srand函数是随机数发生器的初始化函数,原型:
void srand(unsigned seed);
它需要提供一个种子,如:
srand(1);
直接使用1来初始化种子。

printf("%10.6f\n",pi*4) 在c语言中是什么意思?

printf是c语言中的输出函数,这条语句输出pi*4,pi是变量,是用户自己定义的,赋值应该是3.141592654!
重点来了,%10.6f中10是指输出结果的宽度是10,6是指输出结果小数点后四舍五入,精度为6位!

追答最后输出的结果为 12.566370

[C++学习笔记]C++常见问题大全(二)相关推荐

  1. [C++学习笔记]C++常见问题大全(一)

    // PIC_C.cpp : 此文件包含 "main" 函数.程序执行将在此处开始并结束. //#include <iostream>int main() {std:: ...

  2. OpenCV学习笔记(五十一)——imge stitching图像拼接stitching OpenCV学习笔记(五十二)——号外:OpenCV 2.4.1 又出来了。。。。。 OpenCV学习笔记(五

    OpenCV学习笔记(五十一)--imge stitching图像拼接stitching stitching是OpenCV2.4.0一个新模块,功能是实现图像拼接,所有的相关函数都被封装在Stitch ...

  3. OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co

    OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...

  4. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  5. JavaScript学习笔记之数组(二)

    JavaScript学习笔记之数组(二) 1.['1','2','3'].map(parseInt) 输出什么,为什么? ['1','2','3'].map(parseInt)//[1,NaN,NaN ...

  6. Slicer学习笔记(六十二)slicer下导出模块接口

    Slicer学习笔记(六十二)slicer下导出模块接口 1. 参考文件实现 1. 参考文件实现 通过配置config_file为每一个生成类添加 Export,并为每个Module生成 Export ...

  7. Slicer学习笔记(四十二)slicer c++源码编译

    Slicer学习笔记(四十二)slicer c++源码编译 1.cmake生成项目 2.编译失败的原因汇总 2.1.下载代码失败 之前在windows下编译slicer,没有做笔记. 后面再次编译还会 ...

  8. 学习笔记 Keras:常见问题

    目录: 目录: 常见问题 如何引用Keras? 如何使Keras调用GPU? 如何在多张GPU卡上使用Keras? 数据并行 设备并行 "batch", "epoch&q ...

  9. jquery设置宽_JavaScript学习笔记(三十二) jQuery(中)

    jQuery 昨天讲了 jQuery 的基本选择器筛选器和属性操作 今天来说一些 jQuery 别的东西 元素操作 创建一个元素 var div = $(') 内部插入元素 // 向 div 元素中插 ...

最新文章

  1. python与数据思维基础笔记_Python小课笔记--Python基础:数据和函数(二)
  2. 一年毕业 5000 多博士,发 18000 多篇 SCI,这所“双非”高校实力不输清北!
  3. 图像的全局特征--LBP特征
  4. JMM同步原语之final域的内存语义
  5. linux查看文件位置命令bwd,linux 操作系统中find文件搜索命令的使用
  6. 【SpringMVC】SpringMVC+Spring+hibernate整合
  7. 《高阶Perl》——3.8 对象方法里的缓存
  8. Java 基础 —— 注解
  9. C#3.0 语言基础扩充
  10. http://www.qiantu.org/index.php?p=403#comments
  11. [英语阅读]芭比娃娃“五十知天命”
  12. 大数据工程师的日常工作是什么?要掌握哪些核心技术?
  13. 史鉴使人明智;诗歌使人巧慧;数学使人精细;博物使人深沉;伦理之学使人庄重;逻辑与修辞使人善辩
  14. C/C++就业领域与学习方向 | 学习计划
  15. 理解贷款减值准备和折现回拨
  16. python gil全局锁_什么是Python全局解释器锁(GIL)?
  17. 普通人“微创业”实例
  18. [NOI1999]生日蛋糕 洛谷P1731
  19. 爬虫入门—爬虫简介简单爬虫例子练习
  20. 图片拼接成gif怎么拼接?教你一键制作gif动图

热门文章

  1. 最近的特别问题(1)
  2. JS 四则运算精度丢失解决方案
  3. Java剖析工具JProfiler入门使用教程:离线剖析和触发器
  4. python list遍历
  5. 领域驱动设计案例:Tiny Library:领域模型
  6. nyoj 304(区间dp)
  7. nyist---组队赛(三)
  8. Perl IO:文件锁
  9. springboot系列八、springboot整合kafka
  10. Java 常用类库 之 Arrays 数组操作类