walston1997

导航

c++遗忘要点

Chapter1 c++面向过程基础知识

<一>头文件

一、iostream文件

旧的标准c++中使用的iostream.h已经不被支持

#include<iostream>

#include<string>

#include<cmath>

二、命名空间

a)namespace 空间名 { }

例:namespace HAN {string t="love";}

b)使用方法

      i)cout<<HAN::t;  //引用变量t

      ii)using HAN::t;  //使用using关键字,引用变量t

           cout<<t;

      iii)using namespace HAN;//使用using和namespace关键字引用空间

三、cin

以空白(空格、回车、TAB)为分隔符

<二>c++对c的扩充

一、bool类型

a)bool类型只有两个取值:true和false,true值为1,false值为0

b)bool 类型作为函数的返回类型

c)作为循环语句的判断条件

bool b=true;

while(b) { };

二、string

a)初始化方法:

    i)string s(6,'a');  //表示用6个字符'a'去初始化s,初始化后的s的值为"aaaaaa"

    ii)string s("hello world"); 

b)用[ ]来访问字符串中的字符

string word="then";

word[2]='a';

=>>修改后word的值为"than"

c)运算&输入输出

输入:cin>>string1;

输出:cout<<string1;

赋值:string1=string2;

连接:string1=string1+string2;

比较:==、>、<、!=、>=、<=

d)函数:

length()、size()、二者等同返回字符串真实长度

swap()交换两个字符串的值

例:void swap(string &s);

e)字符串的末尾自动添加'\0'

三、数组

a)初始化

int a[4]={1,2,3,4};

int a[]={1,2,3,4};

int a[4]={1,2}; //前两个元素被赋值,后两个元素被初始化为0

int a[4]; //4个元素被初始化为0

int a[2][3]={(1,2,3),(4,5,6)};

b)数组名可作为函数的参数进行传递

即fun(a,2);无需写成fun(a[2],2);

四、const

a)const int a; a=5; wrong

b)常量指针(值不可以被改变)

int a=10;

const int * p=&a;

*p=12;wrong!

a=15;right !

c)指针常量(指向不可以被改变,在定义时必须初始化)

int a=10;

int *const p=&a;

int b=6;*p=&b;wrong!

* p=15;right!

a=15;right!

d)指向常量的指针常量(值和指向都不可以改变)

int a=12;const int * const p=&a;

int b=6;*p=&b;wrong!

* p=15;wrong!

a=16;right!

五、引用

a)引用在定义时必须初始化

b)引用在初始时只能绑定左值,不能绑定常量值

c)一旦初始化,其值就不能再更改,即不能再做别的变量的引用

d)数组不能定义引用

e)const引用可以用const对象和常量值来初始化

     i)const int a=10;

         const int &b=a;

     ii)const int&a=10;

     iii)int a=4; const int&b=a; a=10; //通过变量初始化const引用,只能通过变量改变值

六、动态分配内存

int *pi=new int;delete pi;

int *pi=new int(99);delete pi;

int *pi=new int[10];delete [ ]pi;

七、牛顿迭代法

#include<iostream>

#include<cstdlib>

#include<cmath>

uaing namespace std;

void main(){

double a,b,c,d;

cout<<"please input a,b,c and d:"<<endl;

cin>>a>>b>>c>>d:

double x=1,x0,f,f1;

do{

x0=x;

f=a*pow(x0,3)+b*pow(x0,2)+c*x0+d;

f1=3*a*pow(x0,2)+2*b*x0+c;//f1为f的导数

x=x0-f/f1;

}while(abs(x-x0)>1e-5);

cout<<"方程的一个根为:"<<x<<endl;

system("pause");

}

<三>结构体、共用体和枚举类型

一、结构体

a)在结构体定义后紧接着定义变量

struct 结构体名{

成员列表

}变量名列表;

b)不能对结构体变量整体赋值或输出,只能分别对各个成员引用

c)可以将一个结构体变量整体赋给另外一个相同类型的结构体变量

d)可以在定义好结构体的同时对变量初始化,也可以先声明后初始化

 

posted on 2019-06-18 22:29  walston1997  阅读(139)  评论(0编辑  收藏  举报