、认识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表示

}