标签:
c++API: http://www.cplusplus.com/ http://zh.cppreference.com/w/cpp
?
c++编译器依次执行三个任务:预处理,编译,连接。
std::cin >> x1 >>x2 >>x3;
using namespace std;
using std::cout;
?
命名规则:
字母,数字,下划线
以字母,下划线开头,最好不超过31个字符
常量大写
?
?
大小写敏感
?
const
?
short=short int 2个字节
unsigned short = unsigned short int 2字节
int 4字节
unsigned int =unsigned 4字节
long =long int 4字节(32位机器)8字节(64位机器)
unsigned long = unsigned long int 4字节(32位机器)8字节(64位机器)
float 4字节
double 8字节
long double 10字节
指针 4字节(32位机器)8字节(64位机器)
sizeof()
?
?
1234567L (long)
0xFFFF????(16进制)
010????(8进制)
1.2f = 1.2F (float)
?
static_cast<int>(value);
int i= (int)5.4;
?
\b????退格????8(ASC11)
\t????制表????9
\n????换行????10
\f????换页????12
\r????回车????13
\\????反斜线????92
\‘????单引号????39
\"????双引号 34
?
double static pow(double ,int) <cmath>
double sqrt(double)???????? <cmath>
int time(0) <ctime> 返回格林威治标准时间至当前时刻所流逝的秒数
?
!(非) && (与) ||(或)
?
unsigned rand() 伪随机数 <cstdlib>
?
srand(seed); <cstdlib>
srand(time(0)); //设置种子,真随机
?
?
流格式控制符
<iomanip>
?
setw(width)????制定打印字段宽度
setprecision(n)????设置一个浮点数的精度(保持到下一个setprecision()之前)
fixed????????将一个浮点数以定点数的形式输出
showpoint????将一个浮点数以带小数点,带结尾0的形式输出,即使其无小数部分
left????????左对齐
right????????右对齐
?
注:1.setprecision()用在fixed之后表示指定小数点后的位数
2.默认右对齐
3.小数点后保留6位(不一定)
?
enum 枚举(默认0,1,2...;可自己设置)
?
break;
continue;
?
ifstream ofstream <fstream>
?
in.eof() 检测文件尾
?
?
int &a=b;
function overloading(函数名一样)
?
int a=1;
::a 访问全局变量
?
?
static
?
inline
?
数组长度
#define GET_ARRAY_LEN(array,len){len = (sizeof(array) / sizeof(array[0]));}
?
template <class T>
int getArrayLen(T& array){
return (sizeof(array) / sizeof(array[0]));
}
?
顺序搜索:逐个比较每个元素
int ls(int a[],int k ,int s){
????for(int i=0;i<s;i++){
????????if(k==a[i])
????????????return i;
????}
????return -1;
}
二分搜索:分为两半,key与mid比较
int bs(int a[], int k, int s){
????int low=0, high=s-1;
????while(high>=low){
????????int mid=(low + high)/2;
????????if(k==a[mid])
????????????return mid;
????????if(k<a[mid])
????????????high=mid-1;
????????else
????????????low=mid+1;
????}
????return -1;
}
选择排序:依次找出最大值放到size-i
void ss(int a[], int s){
????for(int i=0;i<s;i++){
????????int t=a[i];
????????for(int j=0;j<s-i-1;j++){
????????????if(a[j]>a[j+1]){
????????????????int tt=a[j];
????????????????a[j]=a[j+1];
????????????????a[j+1]=tt;
????????????}
????????}
????}
}
插入排序:反复地将一个新元素插入到已排序的子序列中
void is(int a[],int s){
????for(int i=1; i<s; i++){
????????int k=a[i];
????????int j=i-1;
????????for(;j>-1 && k<a[j];j--){
????????????a[j+1]=a[j];
????????}
????????a[j+1]=k;
????}
}
?
二维数组作为函数参数时须指明列的大小
?
?
list[i]=plist[i]=*(list+i)=*(plist+i)
数组相当于常量指针
?
const int * const pValue = &radius //(常量数据) (常量指针)
?
delete p;
delete [] p;
?
字符串函数 <cctype> <cstring>
?
size_t 是一种数据类型,等同于unsigned int
?
?
指针函数:返回值是指针的函数,本质是一个函数
????????int * function_name(int);//返回值类型 * 函数名(形参列表)
函数指针:指向函数的指针变量,本质是一个指针
????????int (*p_name)(int); //返回值类型 (*指针变量名)(形参列表);
http://blog.csdn.net/whz_zb/article/details/6842365
?
字符串常量的本质表现是代表它的第一个字符的地址
C语言中操作字符串是通过它在内存中的存储单元的首地址进行的,这是字符串的终极本质。
char *s 只是一个保存字符串首地址的指针变量, char a[ ] 是许多连续的内存单元
深入理解:char*, char**,char a[], char* a[]
http://blog.csdn.net/daiyutage/article/details/8604720
标签:
原文地址:http://www.cnblogs.com/3013218061shang/p/5440205.html