二、认识C++
二、认识C++
1、项目创建
1)创建项目
①控制台应用
②创建项目及解决方法
③项目创建成功页面
2、内容输出
#include <iostream>
int main()
{
std::cout << "认识C++\n"; //可以理解为把双引号中的字符串,通过<<流入到了屏幕上
}
"\n"表示换行,若要输入\n,需要输出"\n"
3、换行
①使用\n进行换行
#include <iostream>
int main()
{
std::cout << "认识C++\\n";
}
②使用std::endl进行换行
#include <iostream>
int main()
{
std::cout << "认识C++" << std::endl; //一个语句结束后必须要有英文分号
}
总结:
文字要放在双引号内 | "认识C++" |
---|---|
换行 | "\n" |
换行 | std::endl |
显示 | std::cout |
反斜杠规则 | 两个顶一个 |
符号字母要用英文模式 | "" |
4、练习:导弹控制
1)需求:你负责为火星反抗军设计一套导弹控制系统,要求你在控制台上设计出它的界面,按照司令部的要求,界面是这个样子的:
火星反抗军第一司令部导弹控制系统1.0
\1\加载导弹
\2\发射导弹至冥王星
\3\发射导弹至白马星座X20行星
输入\\\\和对于功能编号发射导弹\(例如:\\\\3)
2)代码如下
#include <iostream>
int main()
{
std::cout << "火星反抗军第一司令部导弹控制系统1.0\n";
std::cout << "\n";
std::cout << "\\1\\加载导弹" << std::endl;
std::cout << "\\2\\发射导弹至冥王星" << std::endl;
std::cout << "\\3\\发射导弹至白马星座X20行星" << std::endl;
std::cout << std::endl;
std::cout << "输入\\\\\\\\和对于功能编号发射导弹\\(例如:\\\\\\\\3)\n";
}
5、C/C++语法解析
//两个正斜杠代表注释,用于注释代码,便于阅读方便,不执行C/C++语法
#include <iostream> //预处理指令,告诉编译器调用iostream文件
int main() //main函数,控制台程序都是从main()函数开始执行,范围为{}
{
std::cout << "火星反抗军第一司令部导弹控制系统1.0\n"; //把内容输出至屏幕
std::cout << "\n"
; //每一个语句必须以分号结束,不是以回车结束,一个分号算一个语句
std::cout << "\\1\\加载导弹" << std::endl;
std::cout << "\\2\\发射导弹至冥王星" << std::endl;
std::cout << "\\3\\发射导弹至白马星座X20行星" << std::endl;
std::cout << std::endl;
std::cout << "输入\\\\\\\\和对于功能编号发射导弹\\(例如:\\\\\\\\3)\n";
} //大括号成对出现,第二个大括号表示程序结束
/*这也表示注释
可以进行换行*/
//C++中大小写敏感,如std:cout Std:cout std:COUT互相不相同
总结
每一条语句以;结束 | std::cout << std::endl; |
---|---|
大小写敏感 | std:cout Std:cout std:COUT互相不相同 |
文字(字符串)放在双引号内 | "这是文字" |
//表示注释,//后面的字符并不执行 | //这是注释 |
/*和*\内的内容是注释 | /*这是注释*/ |
控制台程序是由main函数开始的 | int mian() {} |
#include程序是一条预处理指令 | "#include"用于加载头文件,就相当于说明书 |
关键字是C++中含有特殊意义的保留字符 | 如int,main |
6、C/C++常用基础指令
1)常见基础指令
函数(指令名) | 功能功能 | 示例 |
---|---|---|
printf | 屏幕上显示文字 | printf("要显示的文字"); |
system | 执行系统命令 | system("pause"); //暂停 |
①printf函数
#include <iostream>
int main()
{
printf("这是一个测试,关于print\n");
std::cout << "这是一个测试,关于print\n";
}
//std:cout本质是一个类,用于C++的字符输出,printf是一个函数
②system函数:输入的命令在操作系统中有才能执行
#include <iostream>
int main()
{
system("pause"); //暂停
system("cls"); //清屏 clean screen
system("mode con cols=100 lines=80"); //设置控制台大小,cols=宽 lines=高
system("color 02"); //设置控制台颜色,用两个16进制的数表示
system("C:\\Users\\Administrator\\Pictures\\shell.jpg"); //打开某个文件
}
2)特殊字符显示:特殊字符输出使用转义字符反斜杠\
字符 | 显示结果 |
---|---|
"\" | \ |
"\"" | '' |
"'" | '' |
"\n" | 换行 |
7、"麟江湖"界面设计
#include <iostream>
int main()
{
system("color 84"); //黑色背景为color 04
std::cout << "===========================================\n";
std::cout << " 麟江湖“控制台”版v1.0 \n";
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << " 正在加载游戏... \n";
std::cout << " 进度[8/100] \n";
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << " 官方网站http://www.ljh.com \n";
std::cout << "===========================================\n";
system("pause");
}
8、计算机基础知识
1)计算机主要元器件
CPU | 运算 | 中央处理器,擅长整数加减乘除,GPU擅长小数计算 |
---|---|---|
内存 | 内部储存器 | 离cpu近,读写速度快,断电后数据丢失 |
硬盘 | 外部存储器 | 离cpu远,读写速度快,断电后数据不丢失 |
键盘/鼠标 | 输入设备 | |
显示器 | 删除设置 |
2)内存模拟
内存就是一个一个的小格,用于存储电流的高低电平,小格越多,则储存器的容量越大,8个小格称为一个字节,8个1表示255,即2^8=256-1=255
3)CPU和内存关系(计算250+450)
①内存中的第0个小格放置250,第1个小格放置450,第3个小格放置+号,第四个小格放置结果
②CPU会先向内存获取数据,首先CPU通过控制总线告诉内存是读操作还是写操作,读就是让内存给予CPU数据
③CPU通过地址总线告诉内存要第几格里的数据,例如CPU向内存获取第0格中的数据250
④内存将第0格中的数据250,通过数据总线传输给CPU
⑤依次循环,CPU获取到需要的内存中所有数据,
⑥CPU完成运算后,通过控制总线告诉内存,进行写操作,同时告诉内存将运算后的数据放置在哪个格
4)CPU设计
总线传输的数据,有线的数量决定
32位CPU有32条总线,CPU从内存获取数据,一次最多传输2^32=4GB的数据
64位CPU有64条总线,CPU从内存获取数据,一次最多传输2^64的数据
9、进制(万物皆数字)
255和-1在内存中的存放形式都是一样的,都是11111111,只是编码方式不同
在计算机中,万物皆数字,即所有的视频、文字、音频在计算机中都是以0、1二进制数表示
十进制 | 99,10'250 |
---|---|
二进制 | 0b11,0B11111111 |
八进制 | 011 |
十六进制 | 0xF1,0xFE |
#include <iostream>
int main()
{
std::cout << 123456 << std::endl;; //输出数字123456,不需要加双引号
std::cout << 123456 + 1 << std::endl;; //数字可以进行加法
std::cout << 123'456'789 << std::endl; //对于大数字可以使用单引号分开,方便阅读,含义不变
std::cout << 0b11<<std::endl; //二进制数在开始位置使用0b表示(0b大小写不分)
std::cout << 011 << std::endl; //八进制数表示在开始位置使用0表示
std::cout << 0x10 << std::endl; //十六进制表示在开始位置使用0x表示
}