您現在的位置是:首頁 > 綜合
「C與指標心得」28. 標準函式庫-整數函式
- 由 IngresGe 發表于 綜合
- 2022-03-22
整標函式是什麼
感謝您的閱讀與點贊!歡迎關注:「大貓玩程式」,檢視C語言系列文章
本節主要講解之前沒有用過的一些標準函式庫。主要分為 整數函式、浮點型函式、日期和時間函式等。
這一章主要講解整數函式。
整數函式:
整數函式的返回值為整型值,分為三類:
算術
、
隨機數
和
字串轉換
。
算術:
標準函式庫包含了4個整型算術函式—abs\labs\ div\ldiv
1. abs—求絕對值:
原型:int abs(int value);函式說明:abs用來計算傳入引數的絕對值,然後將結果返回。用法:int answer;answer = abs(-12);//answer 返回為-12的絕對值,結果為12
2. labs—求絕對值:
原型
:long int labs(long int value);
返回值
:labs跟abs一樣,用來計算絕對值,但是labs支援長度為long int型別,長度更長。
用法
:
long result;long x = -12345678L; //長度範圍超過了int的最大範圍result= labs(x);
3.div—兩個整數相除:
原型
:div_t div(int numerator,int denominator);
返回值
:返回商和餘數
用法
:
div_t q;q = div(10,3);printf(“8 div 3 = %d, remainder = %d\n”, q。quot,q。rem);
輸出:
8 div 3 = 3, remainder = 1
4.ldiv—兩個整數相除:
原型
:ldiv_t ldiv(long int numer, long int denom);
返回值
:返回商和餘數
用法
:
ldiv_t lx;lx = ldiv(100000L, 30000L);printf(“100000 div 30000 = %ld remainder %ld\n”, lx。quot, lx。rem);
輸出:
100000 div 30000 = 3 remainder 10000
隨機數:
在我們常用的一些加密、模擬操作的時候,需要用到隨機數,這裡有兩個函式(rand\srand)合在一起使用能夠產生偽隨機數。
偽隨機數:透過計算產生隨機數,有可能重複,因此不是真正的隨機數。
1. rand—產生隨機數:
原型
:int rand():
用法
:
int number;number = rand();
2.srand —提供隨機數種子:
原型
:void srand(unsigned int seed);
這裡的seed是rand函式的種子,用來初始化rand()的初始值。
rand呼叫之前,需要用srand產生一個種子,如果沒有用主動呼叫srand,系統也會預設使用srand(1)。
通常情況下,srand後面跟時間函式來完成隨機種子生成,減少隨機數相同的可能性。
srand((unsigned)time(NULL));int a = rand();
字串轉換:
字串轉換函式把字串轉換成數值,常用的有atoi\atol。
1.atoi—字串轉成整數:
原型
:int atoi(const char *nptr);
返回值
:引數nptr字串,如果第一個非空格字元存在,是數字或者正負號則開始做型別轉換,之後檢測到非數字(包括結束符 \0) 字元時停止轉換,返回整型數。否則,返回零。
示例:
int n;char *str = “12345。67”;n = atoi(str); //n的值為12345
2.atol—字串轉成長整形:
原型
:long atol(const char *nptr);
返回值
:返回轉換後的長整型數。如果傳入的字串為空,或者字串包含的內容非阿拉伯數字序列,則函式返回預設值0。
示例
:
long l;char *str = “98765432”;l = atol(str); //l為98765432
上一篇:關於紀律發言稿簡短範文
下一篇:排隱患 築防線 保安全