c++小知識點
基本資料型別
**對於整型來說:**絕對值在10^9
範圍以內可以定義成int型,在10^18
範圍以內定義成long long
型,
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-jficpdiv-1592110805047)(
注意:若long long
型賦值大於2^31-1
的初值,需要在初值後面加上ll,否則會編譯錯誤
printf
輸出格式
%md
不足m位的int
型變數以m位右對齊輸出,%-md
以左對齊方式輸出, 若數值大於m位,保持原樣輸出
%0md
變數不足時用0填補
%.mf
讓浮點數保留m為小數
常用的math函式:標頭檔案cmath
中
注意:上面函式要求fabs(double x);//對double取絕對值
floor(double x);//對x向下取整
ceil(double x);//對x向上取整
pow(double r,double p);//r^p
sqrt(double x);//算數平方根
log(double x);//以自然對數為底的對數
sin(double x)、cos(double x)、tan(double x)//正弦、余弦、正切值
asin(double x)、acos(double x)、atan(double x)//反正弦、反余弦、反正切
round(double x);//對x四捨五入
x
為double
型
標頭檔案cctype
中的一些函式
總的來說常用的只有以下幾個
isalpha
字母(包括大小寫)
islower
(小寫字母)
isupper
(大寫字母)
isalnum
(字母大小寫+數字)
isdigit
(檢查是否為數字)
isblank
(space和\t
)
isspace
(space
、\t
、\r
、\n
)
tolower
(轉為小寫字母)
toupper
(轉為大寫字母)
string常用功能
1、初始化
2、數值轉換:在標頭檔案string中string s;//預設初始化,乙個空字串
string s1("ssss");//s1是字面值「ssss」的副本
string s2(s1);//s2是s1的副本
string s3=s2;//s3是s2的副本
string s4(10,'c');//把s4初始化,長度為10的 c的字串
string s5="hiya";//拷貝初始化
string s6=string(10,'c');//拷貝初始化,生成乙個初始化好的物件,拷貝給s6
//char cs="12345";
string s7(cs,3);//複製字串cs的前3個字元到s當中
// string s8="asac";
string s9(s8,2);//從s8的第二個字元開始拷貝,不能超過s8的size
//string s10="qweqweqweq";
string s11(s10,3,4);//s11是s10從下標3開始4個字元的拷貝,超過s10.size出現未定義
//字串中的find函式,若找不到字元,會返回string::npos,即是-1;
string s1=「hello,word";
if(s1.find(h)!=string:npos)
flag=1;
string 類提供了 6 種查詢函式,每種函式以不同形式的 find 命名。
這些操作全都返回 string::size_type 型別的值,以下標形式標記查詢匹配所發生的位置;
或者返回乙個名為 string::npos 的特殊值,說明查詢沒有匹配。string 類將 npos 定義為保證大於任何有效下標的值。
s1.erase(4,1);//去除4位置上 乙個字元
s1.erase(3);//從位置3開始去除字元到結尾
//在0位置插入len個'0'
s.insert(0,len,'0');
sort(s1.begin(),s1.end(),cmp);//給s1字串中排序
|—當然,也可以由其它型別轉換成string型別(標頭檔案)stoi(s,p,b)
把字串s從p開始轉換成b進製的int;|—
stol(s,p,b)
long;|—
stof(s,p)
float;|—
stod(s,p)
double
to_string
3、函式
for的新的運用方式string s="ahahahhaaha";
s.length() s.size()//取串的長度
string s2=s.substr(4);//從下標4開始一直到結束
string s3=s.substr(5,3) //從下標5開始 擷取3個字元
s.find("ha",3)//從位置3開始查詢「ha」子串
s.find*()
s.compare(s2)//和strcmp函式一樣,如果兩個字串相等,那麼返回0,呼叫物件大於引數返回1,小於返回-1
c++的位運算int arr[4] = ;
for (int i : arr)
cout << i << endl; // 輸出陣列中的每⼀乙個元素的值,每個元素佔據⼀行,但是只能用於輸出,而不能用於修改陣列元素中的值
int arr[4]=;
for(int &i:arr)
i=i*2; //利用引用可以修改陣列中的值
位於標頭檔案bitset中
st(2); //測試下標為2處是否⼆二進位制位為1#include#includeusing namespace std;
int main()
b.set(4); //把b的下標為4處置1
b.reset(); //所有位歸零
b.reset(3); //b的下標3處歸零
b.flip(); //b的所有⼆二進位制位逐位取反
unsigned long a = b.to_ulong(); //b轉換為unsigned long型別
return 0;
}
c 小知識點
1 陣列間拷貝只能使用for迴圈乙個乙個拷貝,但是vector之間可以直接用乙個vector初始化另乙個vector。int main 2 vector 之間比較大小直接用 3 對於實參型別相同,並且數目不確定的情況下我們可以傳遞名為initializer list的標準庫型別。int func s...
C 小知識點
1.在c 中,每個程式必須包含乙個main 的入口函式,只有這樣,這個專案才能執行.2.函式包括 函式名,引數,返回值.3.return 是c 的預定義語句,提供了終止函式的一種方法 return 0表示成功執行正常退出.4.using namespace std 是指引用c 的標準庫.5.c 的4...
c小知識點
一 rand rand 函式用來產生隨機數,但是,rand 的內部實現是用線性同餘法實現的,是偽隨機數,由於週期較長,因此在一定範圍內可以看成是隨機的。rand 會返回乙個範圍在0到rand max 至少是32767 之間的偽隨機數 整數 在呼叫rand 函式之前,可以使用srand 函式設定隨機數...