目录
一.C++是什么
1.C++简述
C++(c plus plus)
是一种计算机高级程序设计语言,由C语言扩展升级而产生。
最早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。
C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。
C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。
C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。
而学生,主要是用于参加有助于升学的比赛一类,例如CSP、NOI、NOIP等。
2.C++可以使用那些编译器?
DEVC++ 下载地址 墙裂推荐
Code::Blocks 下载地址
Visual Studio Code 下载地址
Visual Studio 链接:下载地址
二.c++部分实例详解
1.c++怎么打印“闲腚摸史干”?
灰常简单
#include<bits\stdc++.h>
using namespace std;
int main(){
cout<<"闲腚摸史干"<<endl;
return 0;
}
雀食灰常简单
解释一哈子
#include<bits\stdc++.h>//系统万能头。
using namespace std;//定义std输出类型。
int main(){//定义主程序
cout<<"闲腚摸史干"<<endl;//cout输出<<“(直接输出内容)”<<1+1(数字或运算直接输出)<<a(输出变量)<<endl(换行)。
return 0;//返回值为0,正式退出(可有可无)。
}//完美结束。
这样还是太简单了。
2.c++怎么实现加法运算?
灰常简单
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a+b;
return 0;
}
雀食灰常简单
解释一哈子
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;//定义整数变量a,b。
/*
int 整型变量
long long 长整型变量
char 字符类型变量
float 单精度浮点数变量
double 双精度浮点数变量
bool 布尔判断变量
*/
cin>>a>>b;//输入变量a,b。
cout<<a+b;//输出相加后的结果。
return 0;
}
再插入一条
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;//取值范围为-32768~32767。
long long b;//取值范围为-9223372036854775808~9223372036854775807。
char c;//取值范围不确定。
float d;//取值范围为(1.17549e-038)~(3.40282e+038)。
double e;//取值范围为(2.22507e-308)~(1.79769e+308)。
bool f;//只能取两个值false或者true,所以最小值是0,最大值是1。
//以上是常用的,不是所有的。
a=100;
b=100000;
c='a';
d=3.14;
e=3.14159;
f=true;
//以上6行为直接定义,也可以在定义变量时定义,也可以通过输入。
cout<<"int a="<<a<<endl;
cout<<"long long b="<<b<<endl;
cout<<"char c="<<c<<endl;
cout<<"float d="<<d<<endl;
cout<<"double e="<<e<<endl;
cout<<"bool f="<<f<<endl;
return 0;
}
再来一个关于char的小东西。
#include<bits/stdc++.h>
using namespace std;
int main(){
//打印ASCLL码
char a;
cin>>a;
cout<<(int)a;//使用(变量类型)变量使原来的变量类型转化为括号内的变量类型。
//小写转大写
cin>>a;
a-=32;//利用字符在ASCLL码的数值进行加减即可,大写转小写同理。
cout<<a;
return 0;
}
3.c++怎么判断是否为复数?
也是被官方关注了,好开心。
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
if(a%2==0){
cout<<"YES";
}
return 0;
}
细细品味一下
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;//设置变量a。
cin>>a;
if(a%2==0){//进行判断。
/*
给大家补充一下:
+ 加法;
- 减法;
* 乘法;
/ 非取余除法;
% 取余除法。
这里,我们巧妙的运用了偶数除以2时余数为零的规律。
*/
cout<<"YES";//输出"YES"。
}
return 0;
}
我们再来了解一下else
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
if(a%2==0){
cout<<"YES";
}
/*
if(a%2!=0){
cout<<"NO";
}
*/
else{
cout<<"NO";
}
return 0;
}
你品,你细品
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;
cin>>a;
if(a%2==0){
cout<<"YES";
}
/*
if(a%2!=0){
cout<<"NO";
}
! 不,!> 不大于 !< 不小于 !=不等于;
看了上面,想必聪明的你也都知道去掉!是什么意思了。
== 等于(必须有两个'=') <= 小于等于 >=大于等于
||(Shift+\) 或者 && 并且
*/
else{//else是除前面if,else if外的所有可能性
//注意,if和else之间不能超过一行(除了注释//和空行)。
/*
一般格式为:
if(***){
***;//***为代码。
***;
......
}else if(***){
***;
***;
......
}else{
***;
***;
......
}
*/
cout<<"NO";
}
return 0;
}
我们使用else让额外增加判断是否是偶数更加简便了。
4.怎么输出1-10?
这个呢,有两种方法。
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"1 2 3 4 5 6 7 8 9 10";
return 0;
}
#include<bits/stdc++.h>
using namespace std;
int main(){
for(int i=1;i<=10;i++){
cout<<i<<" ";
}
return 0;
}
第一种方法也可行,可要是1-100呢?
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100";
return 0;
}
要是1-10000,阁下又将怎么应对?
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"1-10000";
return 0;
}
I 服了 you.
还是正经点。
#include<bits/stdc++.h>
using namespace std;
int main(){
int i,a,b;
for(int i=1;i<=10;i++){//for循环
/*
不管在内部写什么,都会重复执行;
格式:
for(int i或直接用i(前提是前面定义过);i<=...(范围或其他判断类型如:a==b,'<='可以改变,当有多个判断类型时,要用','隔开);i++(变量变化)){
***;
***;
......;
}
典型无限循环格式:
for(;;){}//无法判断循环次数 。
for(int i=1;;i++){}
for(int i=1;i>=0;i++){}//以上两种可以判断循环次数 。
*/
cout<<i<<" ";//输出在循环中定义的数。
}
//循环外循环!单独定义的变量! 无法输出。
return 0;
}
给大家附赠一个循环嵌套,俗称循环里面套循环,建议copy然后运行一下,挺有趣的。
#include<bits/stdc++.h>
using namespace std;
int main(){
for(int i=1;i<=10;i++){
for(int j=1;j<=10;j++){
cout<<i*j<<" ";
}
cout<<endl;
}
return 0;
}
这个代码我就不详细解释了,给大家说一下,嵌套除非特殊原因,内部循环设置的变量名不能和外面的一样。
5.c++反序输出输入的数。
这里涉及到无法运行的情况,我们后面再说。
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[10001],i=1;
while(cin>>a[i]){
i++;
}
for(int j=i-1;j>=1;j--){
cout<<a[j]<<" ";
}
return 0;
}
运行时,你会发现,你不管输入多少个数,这个程序都不会输出。
这是为什么呢?
这里涉及到了文件输入输出(这里没有是因为网络提交本身就是文件输入输出)。
freopen("xxx.in","w",stdin);//定义输入文件
freopen("xxx.out","r",stdout);//定义输出文件
‘xxx’部分填写自己喜欢或题目要求的名字
解释一下前面的代码
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[10001],i=1,x;//设置了一个数组a,一个变量i。
//数组是一种可以存储很多变量的数组,有一维数组,二维数组等,高出二维的也有,但很少用。
/*
数值定义方法:
1.a[1]==1;
2.cin>>a[1]
3.while(cin>>a[i]){
i++;
}
4.for(int i=1;i<=x;i++)cin>>a[i];
*/
while(cin>>a[i]){//无限循环输入(需使用文件输入)。
i++;//用来当做存储数字和长度。
}
for(int j=i-1;j>=1;j--){//循环倒序输出。
cout<<a[j]<<" ";
}
return 0;
}
三.C++练习网站
咳咳,good东西:
四.总结
本文无限更新,知道欧想不出来。
希望可以多回来看看,说不定我更新了呢!