C++基础教程
作者:lanneret 时间:2018-06-23
1、基础语法
< >引用的是编译器的类库路径里面的头文件
" "引用的是你程序目录的相对路径中的头文件
2、命名空间
namespace;
#include<iostream>
using namespace std;
namespace A{
void fun(){
cout<<"A"<<endl;
}
}
namespace B{
void fun(){
cout<<"B"<<endl;
}
namespace C{
struct Tearche{
char name[10];
int age;
};
void fun(){
cout<<"C"<<endl;
}
}
}
int main(){
}
3、输出流
#include<iostream>
using namespace std;
int main(){
cout <<"I love C++ "<<endl;
int i=0;
cout<<"请输入一个整数:"<<endl;
cin>>i;
cout<<"输出十进制"<<endl;
cout<<dec<<i<<endl;
cout<<"输出八进制"<<endl;
cout<<otc<<i<<endl;
cout<<"输出十六进制"<<endl;
cout<<hex<<i<<endl;
cout<<"请输入布尔值(0或1):"<<endl;
bool bl=false;
cin>>bl;
cout<<boolalpha<<i<<endl;
return 0;
}
4、实用性增加
任意位置定义变量
5、函数类型检测增强
定义相同的全局或局部变量
C:相同的变量,可以被执行,指向同一个地址
C++:不允许
6、struct 类型加强
C :struct Teacher teatch;
C++:Teacher teach
7、C++中必须指明函数的类型、变量的类型
void test1(i){cout <<i<<endl;}
test2(i){return i;}
8、 Bool 类型
只有true和false,注意非0即为真,0即为假;
C++语法
if(flag) {
;
} else{}
bool flag = ture;
//flag = 5;
//flag = -5;
cout<<"flag="<<flag<<endl;
bool flag1 = false;
cout<<"flag1="<<flag1<<endl;
C语言
if(flag==1){
;
}else{}
实战应用:做标志位
9、三目运算
C语言中返回的是变量的值,放在寄存器中,所以三目运算不能当左值;
C: -----------------------------------------
int a=10,int b=10;
(a>b?a:b)=10;//错误
int fun(){return (a>b?a:b);}//可以
*(a:b?&a:&b)=15;//返回变量地址即变量本身
C++:--------------------------------------------------------
返回变量本身,即在内存取了一个地址,可以当左值;
int a=10,int b=10;
(a>b?a:b)=10;//正确
三目运算实战应用:在确认参数在正确的范围内;
10、综合练习
/*bool、输入输出流、命名空间***/
/**通过用户输入bool,实现输出最大或最小值**/
/***********************************************************/
#include<iostream>
using namespace std;
//namespace compare1{
int GetMaxorMin(int *arr,int count,isMax){
int temp = arr[0];
for(int i=1;i<count;i++){
if(isMax){
if(temp<arr[i]){
temp = arr[i]
}
}else{
if(temp>arr[i]){
temp = arr[i]
}
}
}
return temp;
}
//}
int mian()
{
int arr_t[10] = {10,7,5,1,8,4,3,60,20,16};
cout<<"输入1选择最大,输入0选择最小:"<<endl;
bool isMax = false;
cin>>isMax
if(isMax){
cout<<"数组最大值"<<GetMaxorMin(arr_t,10,isMax)<<endl;
}else{
cout<<"数组最小值"<<GetMaxorMin(arr_t,10,isMax)<<endl;
}
return 0;
}