码迷,mamicode.com
首页 > 编程语言 > 详细

C++基础

时间:2016-04-27 20:40:02      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

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

C++基础

标签:

原文地址:http://www.cnblogs.com/3013218061shang/p/5440205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!