char *a == char a[] ..但是数组不能被赋值。
1,函数定义和声明、调用、参数传递:
定义 :函数类型 函数名( 数据类型1 参数1 , 数据类型2 参数2 , … )
{
定义语句(可省略)
执行语句
返回语句(可省略)
}
2,内联函数、嵌套函数、递归函数:
inline 函数类型 函数名(形式参数表)
{
函数体;//内联函数一般是比较小的,经常被调用的,大多可在一行内写完的函数。
}
int p(int a,float b=9.6,char c='A',int d=20); //正确
3,带默认形参值的函数、函数重载:
4,函数模板:
1,
template <class 类型名1,class 类型名2,…> //模板参数
返回类型 函数名(形参表)
{
函数体;
}
5,Template Classes
template <class T>
class CThree
{
public:
CThree(T t1,T t2,T t3);
T Min();
T Max();
private:
T a,b,c;
}
//成员函数
template <class T>
T CThree<T>:Min()
{
T minab=a<b?a:b;
return minab<c?minab:c;
}
//x4_8.cpp,函数模板示例。分别求两个整数和两个实数的较小值
#include <iostream>
#include <iomanip>
using namespace std;
template <class T1,class T2> //函数模板
T1 min(T1 x, T2 y)
{
if(x<y) return x;
else return y;
}
void main()
{
int n1=2,n2=10;
double d1=3.2,d2=7.6;
cout<<"两个整数为: "<<n1<<setw(5)<<n2<<endl;
cout<<"较小整数为: "<<min(n1,n2)<<endl; //求两整数的最小值
cout<<"两个实数为: "<<d1<<setw(5)<<d2<<endl;
cout<<"较小实数为: "<<min(d1,d2)<<endl; //求两小数的最小值
}
类 别 |
原 型 |
功 能 简 述 |
C++头文件 |
C头文件 |
数学 |
double sqrt(double x) |
求x的平方根 |
cmath |
math.h |
double fabs(double x) |
分别求整型数、长整型、浮点数的绝对值 |
|||
double exp(double x) |
e的x次幂 |
|||
double log10(double x) |
log10x |
|||
double tan(double x) |
分别求x 的正弦值、余弦值、正切值; x为弧度数 |
|||
double atan(double x) |
分别求x 的反正弦值、反余弦值、反正切值 |
类 别 |
原 型 |
功 能 简 述 |
C++头文件 |
C头文件 |
字符 |
int isalpha(int c),int isdigit(int c) |
c是否是字母,c 是否是数字 |
iostream |
ctype.h |
int tolower(int c),int toupper(int c) |
将c转换成小写、大写字母 |
|||
字符串 |
char *strcpy(char *s1, char *s2) |
字符串复制函数2=>1 ,strcat(1,2)字符串连接。strcmp(1,2)比较,返回0则相等。1<2 返回负数,1>2返回正数。 |
iostream |
string.h |
unsigned strlen(char *str) |
求字符串长度函数 |
|||
内存操作 |
void *memcpy( void *d, void *s, int c ) |
将s指向的内存区域的c个字节复制到d指向的区域 |
iostream |
memory.h |
类型转换 |
int atoi(char *s) |
将字符串转换成整数 |
iostream |
stdlib.h |
char *itoa( int v, char *s, int x) |
将整数v按x进制转换成字符串s |
|||
时间 |
time_t time( time_t *timer ) |
返回1970/1/1零点到目前的秒数 |
ctime |
time.h |
int rand() |
设置随机数的种子 |
|||
其他 |
exit(int) |
终止正在执行的程序 |
iostream |
stdlib.h |