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。