文章目录
入门
打开编译软件,出现的第一个程序肯定是Hello Word!
#include <iostream>
using namespace std; //C++的命名空间,可以让在不同命名空间中的函数名或变量名相同
int main()
{
cout << "Hello world!" << endl;
return 0;
}
语法基础
变量的定义:变量必须先定义,才可以使用。不能重名。
变量定义的方式:
#include <iostream>
using namespace std;
int main()
{
int a=5;
int c=a,d=10/2;
return 0;
}
输入输出
整数的输入输出:
#include <iostream>
using namespace std;
int main()
{
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
字符串的输入输出:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cin>>str;
cout<<str;
return 0;
}
输入输出多个不同类型的变量:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a,b;
string str;
cin>>a;
cin>>b>>str;
cout<<str<<" !!! "<<a+b<<endl;
return 0;
}
表达式
整数的加减乘除四则运算:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a=6+3*4/2-2;
cout<<a<<endl;
int b=a*10+5/2;
cout<<b<<endl;
cout<<23*56-78/3<<endl;
return 0;
}
浮点数(小数)的运算:
#include <iostream>
#include <string>
using namespace std;
int main()
{
float x=1.5,y=3.2;
cout<<x*y<<' '<<x+y<<endl;
cout<<x-y<<' '<<x/y<<endl;
return 0;
}
整型变量的自增、自减:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a=1;
int b=a++;
cout<<a<<' '<<b<<endl;
int c=++a;
cout<<a<<' '<<c<<endl;
return 0;
}
变量的类型转换:
#include <iostream>
#include <string>
using namespace std;
int main()
{
float x=123.12;
int y=(int)x;
cout<<x<<' '<<y<<endl;
return 0;
}
Printf语句与判断结构
printf输出格式
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
//注意:使用printf 时最好添加头文件 #include <cstdio>。
printf("Hello World!");
return 0;
}
Int、float、double、char等类型的输出格式:
(1)Int:%d
(2)Float: %f, 默认保留6位小数
(3)Double: %lf, 默认保留6位小数
(4)Char: %c, 回车也是一个字符,用’\n’表示
(5)Float, double等输出保留若干位小数时用:%.4f, %3lf
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a=3;
float b=3.12345678;
double c=3.12345678;
printf("%5d\n",a);
// %8.3f, 表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空格。
printf("%8.3f\n",b);
// %-8.3f,表示最小宽度为8,保留3位小数,当宽度不足时在后面补上空格
printf("%-8.3f\n",b);
//%08.3f, 表示最小宽度为8,保留3位小数,当宽度不足时在前面补上0
printf("%08.3f\n",b);
printf("%7.3f\n",c);
return 0;
}
if 语句
1.基本if-else语句,当条件成立时,执行某些语句;否则执行另一些语句。
2.Else 语句可以省略。
3.当只有一条语句时,大括号可以省略。
常用比较运算符
(1) 大于 >
(2) 小于 <
(3) 大于等于 >=
(4) 小于等于 <=
(5) 等于 ==
(6) 不等于 !=
判断闰年,闰年输出Yes,反之输出No
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int year;
cin>>year;
if(year%400==0 || (year%4==0 && year%100))
puts("Yes");
else puts("No");
return 0;
}
循环结构
while循环
可以简单理解为循环版的if语句。If语句是判断一次,如果条件成立,则执行后面的语句;while是每次判断,如果成立,则执行循环体中的语句,否则停止。
求斐波那契数列的第n项。f(1)=1, f(2)=1, f(3)=2, f(n)=f(n-1) + f(n-2)。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
cin>>n;
int a=1,b=1,i=1;
while(i<n)
{
int c=a+b;
a=b;
b=c;
i++;
}
cout<<a<<endl;
return 0;
}
死循环:循环永久执行,无法结束。我们要避免写出死循环。
do while循环
do while循环不常用。
do while语句与while语句非常相似。唯一的区别是,do while语句限制性循环体后检查条件。不管条件的值如何,我们都要至少执行一次循环。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int x=1;
while(x<1)
{
cout<<"x!"<<endl;
x++;
}
int y=1;
do
{
cout<<"y!"<<endl;
}while(y<1);
return 0;
}
for 循环
基本思想:把控制循环次数的变量从循环体中剥离。
for (init-statement : condition: expression)
{
statement
}
init-statement可以是声明语句、表达式、空语句,一般用来初始化循环变量;
condition 是条件表达式,和while中的条件表达式作用一样;可以为空,空语句表示true
expression 一般负责修改循环变量,可以为空
init-statement可以定义多个变量,expression也可以修改多个变量。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
for(int i=0;i<10;++i)
cout<<i<<endl;
return 0;
}
跳转语句
break可以提前从循环中退出,一般与if语句搭配。
判断一个大于1的数是否是质数。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int n;
cin>>n;
bool is_prime=true;
for(