C++

C++的应用领域:嵌入式、游戏编程、网络编程、系统编程。

C++与C的关系: 在语法上C是C++的子集。C在C++的编译环境下是可以运行的。C++从C发展而来。C面向过程,C++面向过程页面向对象。C语言的运行更加高效。

IDE环境:(Integrated Development Environment)集成开发环境。一般包括编辑器,编译器,调试器和图形用户界面

C++的数据类型:

C++的初始化方法:

C:int x=1024;

C++:int x=1024;或者int x(1024)

C++随用随定义:

C:所有变量定义必须位于函数体的最前面。

C++:左右变量随用随定义。

C++输入输出方式:

C:

C++:

C++的I/O方式不用关注占位符,不用关注数据类型,不容易出现问题。

C++命名空间(namespace)

cin、cout、endl等都在名为“std”的命名空间里面。

``#include using namespace std; namespace A{ void fun(){ cout<<"A"<<endl; } } namespace B{ void fun(){ cout<<"B"<<endl; } } int main(){ A::fun(); B::fun(); return 0; }

寻找一个数组中的最大值或者最小值。

错解1:

include

using namespace std;
namespace yxq{
int getMaxOrMin(int *a,int length,bool isMax){
int maxOrMin=a[0];
if(isMax){
for(int i=1;i<=length;i++){
if(maxOrMin<a[i]){
maxOrMin=a[i];
}
}
}else{
for(int i=1;i<=length;i++){
if(maxOrMin>a[i]){
maxOrMin=a[i];
}
}
}
return maxOrMin;
}
}
int main(){
int a[4]={1,2,3,4};
int length=4;
bool isMax=false;
cin>>isMax;
cout<<yxq::getMaxOrMin(a,length,isMax);
return 0;
}

正解:

include

using namespace std;
namespace yxq{
int getMaxOrMin(int *a,int length,bool isMax){
int maxOrMin=a[0];
for(int i=1;i<length;i++){
if(isMax){
if(maxOrMin<a[i]){
maxOrMin=a[i];
}
}
else{
if(maxOrMin>a[i]){
maxOrMin=a[i];
}
}
}
return maxOrMin;
}
}
int main(void){
int a[4]={4,2,3,4};
bool isMax=false;
cin>>isMax;
cout<<yxq::getMaxOrMin(a,4,isMax);
return 0;
}

我以为我做错了的原因是:输入bool类型的isMax的时候,我输入了 false/true,所以总是输入了最小值。但其实应该输入0/非零 0代表false 非零数字代表true。

cout<<true<<endl;` `if(true==1){` `cout<<"1"<<endl;` `}

输出结果:1 (换行) 1

if(true==3){
cout<<"1"<<endl;

}

输出结果:空

C++bool类型的输入:0代表false 非零代表true。