j
j
literal 字面值,写在代码里的常量。
long long ll = 5ll;
float f =3.14f;
int a = 0xF; //16进制 0x开头 F表示15
int a = 017;//8进制 0开头 8的1次方和7的0次方。就是15
int a = 0b1111;//2进制
类型转换:
宽向转换,是小位到大位,比如char到int
窄向转换,是大位到小位,不安全,有可能被截断。
浮点数转化为整数 为窄向转换。
编辑器不会警告,除非用C++11的写法。
int num =98;
char ch{num} ;//这样写会检查
char ch =num;//这个不会检查
报错信息:
coversion from int to char requires a narrowing conversion.
对象是内存中的一段数据。
对象的类型解释了数据的含义,并限定了对象(数据)的操作。
变量是有名字的对象。
比如字符串可以用+号,表示链接
但是用减号乘法就没有意义,但是int整数可以。
类型分为:
1.内置类型:int(32),bool(8位),short(16位),long, char(8位)
2.类类型:结构体啊,和自定义的class
运算符有优先级:比如=不是等于,是赋值运算符号,优先级比+号低。
a=a+1. 是指a加1后赋值给a.
编译:把代码code变成可执行程序program的过程。
1.预处理(需要右击代码选择属性打开):就是把include文件全包含在中间文件中,产生了.i为结尾的文件,比较大。
比如source.i (i就是include的意思)
2.编译阶段(需要右击代码选择属性打开),这里的编译是另一个意思。
就是把预处理文件变成汇编语言,为.asm为结尾的汇编语言。
比如source.asm
3.汇编阶段(默认生成):就是把asm的汇编语言变成.obj的机器语言(目标文件)
比如source.obj
4.链接,Link
分离编译!两个cpp文件分别变成.obj文件。
链接就是把多个obj文件连成一体。
还有标准库的obj文件,比如cout屏幕输出函数(内部代码是与操作系统底层的代码)
标准输入流:键盘》
标准输出流:屏幕《
endline
token
identifer
输出运算符
字符串
类型就是让使用者 比如cin可以让用户的输入解释
成你想要的数据。
token是源代码中最小的不可分割的单位
同等identifier.
#include "iostream" 双引号优先去Source.cpp先找iostream,然后去系统的标准库里找iostream
token标记是最小单位,中间不可以添加东西。
#include<iostream>
#include<vector>
#include<string>
using namespace std;
int main()
{
//录入同学姓名和成绩,回车记录所有信息
//然后开始查成绩
string name = "phone";
float score = 65.5f;
vector<string>name_list;
vector<float>score_list;
cout << "请在一行种输入学生姓名与成绩并用空格隔开。\n例如:张三 100 李四 200.\n回车结束输入" << endl;
while (cin >> name>>score)
{
name_list.push_back(name);
score_list.push_back(score);
if(cin.get()=='\n')//回车输入退出循环
{
break;
}
}
cout << "输入姓名可查成绩" << endl;
cin >> name;
for (int i = 0; i < name_list.size(); ++i)
{
if(name ==name_list[i])
{
name = name_list[i];
score = score_list[i];
break;
}
}
cout << "学生 " << name << " 的成绩为 " << score << endl;
system("pause");
return 0;
}
Vector 一种容器
int main() {
string name;
vector<string>name_list;
while(cin>>name){
name_list.push_back(name);
}}
for(int i =0;i<name_list.size();++i) {
cout<<name.list[i]<<endl;}
range for
#include<iostream>
using namespace std;
int main()
{
//200*112% (200*112%-20)*112%
float my = 200;//本金
float ban = 0;//银行现有
int year = 0;
my = 200 * 1.12;
ban = 200 * 1.12;
while(true)
{
year++;
ban = (my - 20) * 1.12;
my = ban - 20;
cout << ban << endl;
if(ban <0)
{
break;
}
}
cout << "花费 " << year << "年取完" << endl;
system("pause");
return 0;
}
#include<iostream>
using namespace std;
#include<math.h>
int main()
{
//64个棋盘 1 2 4 8 16 ....求一共多少
//1 2 4 8 16
//2
//0 1 2 3 4
uint64_t num1 = 0, num2 = 0;
for(int i =0;i<64;i++)
{
num1 = pow(2, i);
cout << num1 << endl;
num2 = num1 + num2;//总数量
}
cout <<"一共需要米粒 " << num2 << endl;
system("pause");
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a = 0, min = 0, max = 0, in = 0;
float sum = 0;
char b = 'a';
cout << "结束输入z z" << endl;
while(b!='z')
{
cin >> a>>b;
in++;
if(in==1)
{
min = a;
}
else if(a<min )
{
min = a;
}
if(max<a)
{
max = a;
}
sum = (sum + a)/in;
}
cout << "最大值为 " << max << endl;
cout << "最小值为 " <<min << endl;
cout << "平均值为 " << sum << endl;
system("pause");
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int num = 0, sum = 1;
cout << "请输入一个数" << endl;
cin >> num;
for(int i =1;i<=num;i++)
{
sum = i * sum;
}
cout << sum;
system("pause");
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int a = 0, b = 0;
cout << "请输入两个数字" << endl;
cin >> a >> b;
if(a>b)
{
for(b=b+1;b<a;b++)
{
cout << b << endl;
}
}
else if(a<b)
{
for(a=a+1;a<b;a++)
{
cout << a << endl;
}
}
else
{
cout << a << b << endl;
}
system("pause");
return 0;
}
#include<iostream>
using namespace std;
#include<string>;
int main()
{
int q = 97;
for(;q<123;q++)
{
cout << (char)q << endl;
}
system("pause");
return 0;
}
#include<iostream>
using namespace std;
int main1()
{
int n;
cout << "请输入一个数字" << endl;
cin >> n;
for(int i = 1; i <= n;i++)
{
cout << i<<endl;
}
system("pause");
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int num = 0;
int temp = 0;
int temp2 = 0;
int temp3 = 0;
cout << "请输入一个两位数" << endl;
cin >> num;
if (num < 100)
{
temp = (num % 10 == 0 ? 0 : num % 10) * 10 + num / 10;
cout << num << " 翻转数为 " << temp << endl;
}
else
{
temp2 = num / 100;
temp2 = temp2 * 100;
temp3 = num - temp2;
temp = ((temp3 % 10 == 0 ? 0 : temp3 % 10) * 10 + temp3 / 10 )*10+ num / 100;
cout << num << " 翻转数为 " << temp << endl;
}
system("pause");
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int num = 0;
int temp = 0;
cout << "请输入一个两位数" << endl;
cin >> num;
temp = (num % 10 == 0 ? 0: num % 10)*10+num/10;
cout << num << " 翻转数为 " << temp << endl;
system("pause");
return 0;
}