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 阅读(140) 评论(0) 编辑 收藏 举报