日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

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

發布時間:2025/3/15 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [C++学习笔记]C++常见问题大全(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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++常见问题大全(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。