一、基础代码
#include<iostream>//调用cin、cout
#include<cstdio>//调用printf、scanf
#include<string>//调用字符串类型的变量
#include<cmath>//调用数学函数
#include<bits/stdc++.h>//万能头文件,包括绝大部分的头文件(编译时间略长)
using namespace std;//使用了std命名空间
int main()//函数的入口
{
cout<<"Hello World"<< endl;
return 0;//返回0
}
二、变量
1.变量类型
布尔型bool:存储两种值,true或false 1byte
字符型char:存储字符,例'c' 1byte
整型int:存储整数,范围在-2147483648(-2^31) ~ 2147483647(2^31-1) 4byte
浮点型(单精度)float:存储小数,6~7位有效数字,例1.23,2.5,1.235e2 4byte
浮点型(双精度)double:存储小数,15~16位有效数字 8byte
long long int:-2^63 ~ 2^63-1 8byte
long doble:18~19位有效数字 12byte
KB B:Byte b:bit 1Byte=8bit
2.定义变量
int a,b=2,c=b;
float d=1.5,e=1,f=1.235e2;
bool g=true,h=false;
char j='a',k='b';
long long l=1231231LL;(int存不下特别大的数,需在后面加LL表示long long类型的整数)
long double m=123.45;
3.变量的类型转换
ASCII字符表
int a=5;
float b=(float)a;
cout<<b<<endl;// 5
printf("%f",b);// 5.000000
float a=5.23;
int b=(int)a;
printf("%d",b);// 5
int t=97;
char c=(char)t;
cout<<c<<endl;// a
char c='a';
int t=(int)c;
cout<<t<<endl;// 97
char c='A';
cout<<(char)(c+32)<<endl;// a
两种不同类型进行运算,结果默认为精度高的类型
int a=6;
float b=1.3;
cout<<a*b<<endl;// 7.8
运算类型 | 结果类型 |
---|---|
int和float/double | float/double |
char和int | int |
int和long long | long long |
float和double | double |
三、输入输出
1.输入输出变量
#include<iostream>
using namespace std;
int main()
{
int a,b;//定义两个变量
cin>>a>>b;//输入(把cin的值流到ab中去)
cout<<a+b<<endl;//输出(把a+b的值流到cout里,再把回车流到cout里)
return 0;
}
2.输出多个变量
int a,b;
cin>>a>>b;
cout<<a+b<<' '<<a*b<<endl;
int a,b;
cin>>a;
cin>>b;
cout<<a+b;
cout<<' ';
cout<<a*b;
cout<<endl;
3.scanf、printf
用scanf、printf时一定要加#include<cstdio>
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int a,b;
scanf("%d%d",&a,&b);//输入
printf("a+b=%d\na*b=%d\n",a+b,a*b);//输出
return 0;
}
类型 | 输入 | 输出 |
---|---|---|
int | %d | %d |
float | %f | %f |
char | %c | %c |
double | %lf | %lf |
long long | %lld | %lld |
printf("%.2f",a);//a保留2位小数
printf("%5d!",a);//占用5个宽度(不足5位补空格)
printf("%05d!",a);//占用5个宽度(不足5位补0)
四、表达式
1.整数的加减乘除四则运算
int a=6+3;//6加3=9
int a=9-3;//9减3=6
int a=2*5;//2乘5=10
int a=10/3;//10整除3=3(int型整除,浮点型正常除)
float a=5.0/2.0;//5.0除以2.0=2.5
int a=10%3;//10取余3=1,%后不能为0
在C++中,被除数可以小于除数,C语言中被除数必须大于除数
int a=-5/2;//-5除以2=-1
结果取决于被除数的正负
2.整数的自增、自减
只对整数有效果
int a=6;
int c=a++;
// 7 6,先把a的值赋给c,然后再a+1
int b=6;
int d=++b;
// 7 7,先把b+1,再把b+1后的值赋给d
3.简写
b=b+a; b+=a;
b=b-a; b-=a;
b=b*a; b*=a;
b=b/a; b/=a;
b=b%a; b%=a;
五、顺序语句
求反三位数:
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
cin>>n;
int a=n%10;
n=n/10;
int b=n%10;
n=n/10;
int c=n;
cout<<a<<b<<c<<endl;
return 0;
}
例题
1.一辆汽车每行驶 1212 公里需要消耗 11 升汽油,现在告诉你该汽车的行驶速度 S𝑆(km/h𝑘𝑚/ℎ)和行驶时间 T𝑇(hℎ),请你计算该车在行驶过程中一共消耗了多少升汽油。
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
long long T,S;
double n;
cin>>T>>S;
n=T*S/12.0;
printf("%.3lf",n);
return 0;
}
2.读取对应于一个人的年龄(以天为单位)的整数值,并转化为年,月和日表示方式输出,年、月、日分别对应 ano(s)
, mes(es)
, dia(s)
。
注意:为了方便计算,假设全年 365365 天,每月 3030 天。 数据保证,不会出现 1212 个月和几天的情况,例如 360,363360,363 或 364364。
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
int N,a,b,c;
cin>>N;
a=N/365;
N-=a*365;
b=N/30;
N-=b*30;
c=N;
printf("%d ano(s)\n",a);
printf("%d mes(es)\n",b);
printf("%d dia(s)\n",c);
return 0;
}
3.读取三个浮点数 A,B𝐴,𝐵 和 C𝐶 的值,对应于三个学生的成绩。
请你计算学生的平均分,其中 A𝐴 的成绩的权重为 22,B𝐵 的成绩的权重为 33,C𝐶 的成绩的权值为 55。
成绩的取值范围在 00 到 1010 之间,且均保留一位小数。
#include<cstdio>
#include<iostream>
using namespace std;
int main(){
double A,B,C,X;
cin>>A>>B>>C;
X=(A*2+B*3+C*5)/10;
printf("MEDIA = %.1lf",X);
return 0;
}