C++基本概念
一.代码框架
#include<iostream> #include<cstdio> //或者#include<stdio.h> using namespace std; int main(){ // }
二.整型常量
int n=123;//十进制 int m=0123;//八进制 int l=0x123//十六进制度 int p=123L;//或者 p=123l,表示long long型 int q=123U;//或者 q=123u,表示unsigned int型
三.实型常量
1.由整数部分和小数部分组成,可以省略其中之一(如78.或.06),但不能二者皆省略。
2.在E或e前面的尾数部分必须有数字,后面的指数部分必须为整数(表示十的次幂)
int p=-.34E-2;//表示-0.0034 int q=45e4;//表示450000
四.转义字符
cout<<"\n";//换行 cout<<"\\";//反斜线 cout<<"\'";//单引号 cout<<"\"";//双引号
五.常变量
1.常变量必须也只能在说明时进行初始化
2.常变量初始化之后,不允许再被赋值
const double PI=3.141592 const int num=1000;
六.宏定义常量
一般形式为:
# define 标识符 字符串
比如 # define PI 3.1415926(一般写在头文件之后)
七.变量定义
int n,m=2;//整型 4Byte float a1,a2=3.1;//单精度 4Byte double b1,b2=1.414//双精度 8Byte char c1,c2='A';//字符型 1Byte long long p,q=1e9+7;//长整型 8Byte
八.引用
一般格式为:
类型 &引用变量名=变量名
为一个已定义的变量起一个别名
比如 int &num=number;(num即为number)
九.逻辑运算符
逻辑表达式的过程中,一旦能确定逻辑表达式的值时,就不再逐步进行!!!
(1).逻辑非
int a=1,b=20,c=0; cout<<!a<<endl;//结果是0 cout<<!b<<endl;//结果是0 cout<<!c<<endl;//结果是1 //非0代表true,0代表false
(2).逻辑与 and 逻辑或
//a&&...等价于a!=0&&... //!a&&...等价于a==0&&... int a=0,b=4,c=5; cout<<a&&b++&&--c<<endl;//因为判断a为假,答案为0,即跳出逻辑表达式判断,"b++&&--c"没有进行 cout<<b||a++||c--<<endl;//因为判断b为真,答案为1,即跳出逻辑表达式判断,"a++||c--"没有进行
十.赋值表达式
两数交换的代码
#include<iostream> #include<cstdio> using namespace std; int main(){ int a,b,c; cin>>a>>b; c=a;a=b;b=c; cout<<a<<" "<<b<<endl; }
十一.逗号表达式
逗号表达式中的每一个表达式都会被运算,整个逗号表达式的值为最后一个表达式的值。
比如a=(x=3,x+=6,5+6); //a=11,x=9
十二.自增、自减运算符
1.使用++i,--i时,变量i的值先增加(减)1,后参加其它运算
2.使用i++,i--时,变量i先参加其它运算,等表达式计算后再使变量i的值增加(减)1
#include<iostream> #include<cstdio> using namespace std; int main(){ int a,b=3,c,d=3; a=b++;//b先赋值给a,再自增 c=--d;//d先自减,再赋值给c //a=3,d=2 }
十三.条件运算符
一般格式为:
条件表达式?表达式1:表达式2
比较两数大小代码
cin>>a>>b;
cout<<(a>b?a:b);
比较三个数大小代码
cin>>a>>b>>c;
cout<<(a>b?(a>c?a:c):(b>c?b:c));
十四.强制类型转换
一般格式为:
强制转换类型(表达式) 或 (强制转换类型)(表达式)
比如 a=(int)3.1415;c=double(a)/double(b);
十五.进制数据的输入输出
在cin或cout中指明数制后,该数制将一直有效,直到重新指明用其他数制。
cin>>oct>>i;//输入为八进制数 cin>>hex>>j;//输入为十六进制数 cin>>k;//输入仍为十六进制数 cin>>dec>>l;//输入为十进制数
cout<<dec<<endl;//恢复十进制输出状态
十六.输入输出的格式控制
(1).setw()函数
1.括号中必须给出一个表达式(值为正整数),它指明紧跟其后输出项的宽度
2.开始位置必须包含头文件iomanip
#include<iostream> #include<cstdio> #include<iomanip> int i,j; using namespace std; int main(){ cin>>i>>j; cout<<i<<setw(5)<<j<<endl; }
(2).setprecision()函数
指定输出实数的有效位数
#include<iostream> #include<cstdio> #include<iomanip> using namespace std; int main(){ const double pi=3.1415926; cout<<pi<<endl; cout<<setprecision(3)<<pi<<endl; cout<<setprecision(5)<<pi<<endl; }
结果为
3.14159
3.14
3.1416