swap:(交換兩個variable)
#include <utility>
int a = 3, b = 4;
swap(a, b);abs:(取絕對值)
#include <cmath>
int a = 3, b = 4;
abs(a);
b = abs(b);max/min:
#include <algorithm>
int a = 3, b = 4;
cout << max(a, b);sqrt:(開根號)
#include <cmath>
int a = 25;
cout << sqrt(a);pow:(次方)
#include <cmath>
cout << pow(2, 3);ceil、floor:
double a = 3.3;
cout << ceil(a) <<" "
<< floor(a);
同樣的東西不想要重複寫,希望縮短程式碼
main():其實也是一個函式
#include <bits/stdc++.h>把常用的標準函式全部include,像是
iostream
vector
string
algorithm
cmath
不是標準的使用方式,但在寫小程式很適合使用
函式的組成
int abs(int n);系統定義的函式通常定義在標頭檔裡面
要使用需要先引入(#include)標頭檔
標頭檔不一定包含程式的實作,只有定義如何使用而已
#include <iostream>
using namespace std;
int f(int x, int y)
{
return x +y;
}
int main()
{
cout << f(2, 3);
return 0;
}#include <iostream>
using namespace std;
int f(int x, int y);
int main()
{
cout << f(2, 3);
return 0;
}
int f(int x, int y)
{
return x + y;
}int f(int x, int y);
bool leapYear(int y);
string Input();
void printHelloworld();void代表沒有->無回傳值
參數(argument)前面也要寫下參數的type
#include <iostream>
using namespace std;
int my_min(int a, int b)
{
return a < b ? a : b;
}
int main ()
{
int a = 5, b = 4;
cout << my_min(a, b)<<"\n";
return 0;
}
#include <iostream>
using namespace std;
void foo(int i)
{
cout << "foo: "<<i<<"\n";
return;
cout << "hi\n";
}
int main ()
{
int a = 5, b = 4;
foo(a);
return 0;
}
練習:a006 一元二次方程式
void myswap(int a, int b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int x = 5, y = 3;
myswap(x, y);
cout << x <<" " << y <<"\n";
}會將x和y先複製到另外一個記憶體
void myswap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
int main()
{
int x = 5, y = 3;
myswap(x, y);
cout << x <<" " << y <<"\n";
}將原本的x和y直接傳給程式
Remark: call by reference傳過去的值一定要是變數
只能讀不能寫(不能改變)
const int x = 4;void f(const int &x)
{
cout << x + 3 << "\n";
}
int main()
{
f(3);//可以接受
}#include <iostream>
using namespace std;
int g = 4; // 全域變數
int f(int x)
{
int y = 3; //x, y 區域變數
return (x + y) % g;
}
int main()
{
int a = 5;
a = f(a);
cout << a <<"\n";
}local variables執行完函式後會消失
#include <iostream>
#define pi 3.141592
#define f(x) (x)*(x)
using namespace std;
int main()
{
cout << f(3 + 1);
}純文字替換
練習: d039. 11044 - Searching for Nessy