一、语法:
1.using namespace std:
代表我们可以使用标准库中的对象和变量名称,几乎出现在C++的任何代码中
2.int main(){}:
①主函数,也叫入口函数
②C++从这里开始执行程序,几乎出现在任何C++的代码中 ,{}不能忘!
③对比JAVA的主函数:
public static main void(){}
3.cout <<" 输出内容";
输出语句
4.C++以“;”为结尾(JAVA同)
5.若无using namespace std,写输出语句可以使用:
std::cout<<"输出内容";
二、输出:
1.输出语句不换行:
一个输出语句一行: C++中的多个输出语句之间无回车符号endl
多个输出语句一行:用<<隔开多个输出语句
2.输出语句换行:
在前一个输出语句的" "中的输出内容的末端加上一个 \n,
加上X个\n,就换X行
在''''后输出 <<endl:
表示回车换行
3.注释(和JAVA一样):
单行注释://+注释文字 注释文字不会输出
多行注释:/*
注释文字
......
......
注释文字
*/
三、变量:
1.定义变量以及赋值(与JAVA相同):
①数据类型 变量;
变量=值;
ps:int a,b;
a=3;
b=4;
②数据类型 变量=值;
ps:int a=3,b=4;
③当变量的值改变,直接在用于定义变量以及赋值的代码下重新给变量赋值:
ps:
int a=3,b=4;
a=4,b=5;
2.变量的计算(接一下1 ):
①
定义计算的变量;
运用输出语句是输出计算的变量。
ps:int c=a+b;
cout<<c;
②
直接运用输出语句计算并且输出变量
ps:cout<<a+b;
3.常量(显然是赋值之后,不能再改变值):
const 数据类型 变量=值;
ps:
const int d=7;
4.变量名要求:
四、输入:
cin>> 变量;
表示当代码运行时要填入变量,一般与输出语句配合使用
五、数据类型:
1.int整数型 :整数
2.float单精度浮点型
3.double双精度浮点型
float和double都可以接 E/e+数字X 表示10的X次方
4.char字符型:'单个字符' 或者 字母(不管输入的是大写还是小写,输出的都是大写)
5.bool布尔型:true输出为1,false输出为0(规定)
(JAVA里 布尔型是 boolean)
6.String字符串:
①#include<string>
②String 定义变量名="多个字符内容"
③cout<<变量名
输出结果结果:多个字符内容
六、运算符 :
1.赋值运算符=:
变量=值 说白了就是给变量赋值
图中最后一个输出的结果是0
2.算术运算符(二元运算符):
+:加; -:减; *:乘; /:除,当xy均为整型时,就只保留整数部分;
当xy均为实型(浮点型) ,就会有小数部分;注意区分!
%(模):取余数 ;
运算顺序:先乘除模,再加减
3.复合赋值运算符(计算完再赋值)(二元运算符):
x+=值——x=x+值
x-=值——x=x-值
x*=值——x=x*值
x/=值——x=x/值
x%=值——x=x%值
x>>=值——x=x>>值
x<<=值——x=x<<值
以此类推
4.增量减量运算符(++,--)(一元运算符)
x++:后缀加,在输出x后+1 ++x:在+1后输出
y--:后缀减,在输出x后-1 y--:在-1后输出
前缀方式的效率更高,推荐使用
5.条件运算符(可用条件语句代替)(三元运算符,在C语言中使用较广):
①结构:
条件?结果1:结果2
②解析:
条件:条件表达式
?:必要成分,不准省略(理解记忆:表示疑问)
结果1:当条件表达式为true或者非0,返回结果1
结果2:当条件表达式不同上,返回结果2
这种规则适用于所有需要布尔值的上下文,包括循环条件、if 语句以及逻辑运算符(如 && 和 ||)
“:”:用来隔开结果1和结果2
例1:a==b?5:6;
当a==b为true时,该表达式返回为5,反之,返回6.
输出为:5
例2:
rest1输出结果是:3
rest2输出结果是:5
rest3输出结果是:8
6.关系运算符(二元运算符):
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于
7.逻辑运算符(//在这里是注释):
①!非:
(1==1)//该表达式的值为true
!(1==1)//该表达式的值为false
!true //该表达式的值为false
!false //该表达式的值为true
②&&与:
a&&b 当a、b都为true(两个运算数都为真),则表达式的值为true,其他情况为false
③||或:
a||b 当a、b都为false(两个运算数都为假),则表达式的值为false,其他情况为true
8.位运算符:
①&与:
二进制中,同1取1,不同或者同0取0
例子:
10110011
11011010
——————
10010010
②|或:
二进制中,只要有1就取1
例子:
10110011
11011010
——————
11111011
③^异或:
二进制中,相同取0,不同取1
例子:
10110011
11011010
___________
01101001
④ ~取反:
将一个数的二进制取反,0变成1,1变成0
例子:
10110011
——————
01001100
注意:
a、在编程语言中,逻辑取反使用“!”,位运算符取反使用“~”
!:用于逻辑取反,他将布尔值取反。例:bool a=true;→!a=false;
~:用于位取反,它会将一个数的所有二进制位取反。
b、注意位运算符和逻辑运算符的区别(a为详细的例子)
9.位移运算符(移位运算:在数的二进制的基础上进行位移,故要使用,需要先将数化成二进制):
①<<左移运算:
数>>x
a:将数转化为二进制 (正数用原码,负数用补码)
补充:正数的原码、反码,补码都一样;
负数的反码=她的原码符号位(二进制的最高位,说白了就是二进制最前面的数字)不变, 其他位取反(0→1,1→0)
负数的补码=她的反码+1
——————————————————————————
b:将转化后的数补齐八位
c:补齐后,将数整体向左移x位,并且在数后面补x个0
d:最后,将数转化为十进制(负数要先转化为原码)y→数<<x=y
②>>右移运算:
数>>x
a:将数转化为二进制 (正数用原码,负数用补码)
b:将转化后的数补齐八位
c:补齐后,将数整体向右移x位,在正数前补x个0
在负数前补x个1
d:最后,将数转化为十进制(负数要先转化为原码)y→数<<x=y
注意:当右移 移出1时→(对应)结果有小数,小数部分会被舍弃,结果不精确
③>>>无符号右移(与右移运算相比较)(较少运用):
a:将数转化为二进制 (正数用原码,负数用补码)
b:将转化后的数补齐八位
c:补齐后,将数整体向右移x位,在正数前补x个0
在负数前1补x个0
d:最后,将数转化为十进制(负数要先转化为原码)y→数<<x=y
————————————————————————————————
总结:除了右移运算符补位:正1负0,其他两个运算符补位:均是0
————————————————————————————————
补充:对于非基本变量,左移运算符可以表示输出,右移运算符可表示输入,当其体现这个功能时,他们就被称为插入运算符和提取运算符
10.类型转换运算符:
第一步:
定义变量或者常量
数据类型1 a;
数据类型2 b=值;
例:int a;
float b=1.618;
第二步:
转换数据类型,并且赋值给被转化变量或常量a
①写法一:被转换变量或者常量a=(被转换的数据类型:数据类型1)转换的变量或常量b
②写法二:被转换变量或者常量a= 被转换的数据类型:数据类型1 (转换的变量或常量b)
例:①a=(int)b;
②a=int(b);
转换结果:
被转换的变量或者常量b,按照新的数据类型规则输出:
例:
输出:a=1;(延续第一步里的例子)
11.sizeof运算符:
在C和C++语言中,sizeof是一个编译时运算符,用于获取一个变量或者数据类型在内存中所占的字节数。可用于内置类型、结构体、联合体、类等。
在JAVA中没有直接等价于C/C++中的sizeof运算符。不过可通过java.lang.Class类的getsize()方法来获取基本类型的大小,或者通过Datatype枚举来获取
七、条件语句:
1.if语句:
格式:
if(条件1){
输出代码 cout<<"Tomorrow will be a new day!"<<endl;
}else if(条件2){
输出代码
}else if(条件3){
输出代码
}else{
输出代码
}
Java与C++在这个语句的不同之处,仅仅是输出语句不同
2.switch语句(结合上图例子看):
格式:
数据类型 变量名(霸王茶姬)=某个值(值1/值2/值3......);
switch(一个值:常量或者变量){
case 值1://此冒号后面就是要执行的
cout<<"在变量名旗下的一个变量(伯牙绝弦)" //输出的语句
break;//跳出的意思
case值2:
cout<<"同上(金乌扶摇)"
break;
case值3:
cout<<"同上(郁郁幽龙)"
break;
......
default://当以上的某个值 在case中无对应的值n 就会输出default后面的输出语句中的句子
cout<<"welcome to the healthier you"<<endl
}
八、循环语句:
1.while语句(只要条件成立就循环执行代码):
①while(条件){ 代码 }
int i=0; while(i<10){ cout<<i<<"\n"; i++; }
②do{代码}while(条件); //别忘记这个'';''
int i=0;do{cout<<i<<"\n";i++}while(i<10);
2.for语句:
① for(定义变量并赋值 ; 设定条件;更新变量的值 ){代码}
for(int n=0; n<10; n++){ 代码;}
② for(定义变量并赋值 ; 设定条件;更新变量的值 ){
if(变量赋值:变量==值){
break;
}代码
}
—解释———————————————————————
当变量等于值时,就跳出for循环
—例子———————————————————————
③for(定义变量并赋值 ; 设定条件;更新变量的值 ){
if(变量==值){
continue;
}代码;
}
—解释———————————————————————
当变量等于值时,不执行代码,并且从下一个值继续执行代码
—例子———————————————————————