首页 > 编程语言 >二、认识C++

二、认识C++

时间:2023-11-09 13:00:13浏览次数:34  
标签:std include cout 认识 C++ 内存 main CPU

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

}

标签:std,include,cout,认识,C++,内存,main,CPU
From: https://www.cnblogs.com/piaolaipiaoqu/p/17819058.html

相关文章

  • c++数组最大长度(干货)
    ​    在编译器里,每种类型的变量定义数组的时候都有一个数组大小,而这个大小对于不同的变量而言有不同的上限,这里的最大长度更准确的来说应该是系统堆的最大值。字符类型数组一个字符占1byte大小,八位,所以,理论上,在一个64位的编译器中,一个字符数组的最大长度是2147483648,......
  • 记录一次C++内存泄露的检测过程
    线上游戏长时间运行后,占用内存比以前大很多,发现游戏对象也得变多很多.主程尝试从最近改动过的代码检测,做了小改动,更新上线,内存还是不断增加.我提出用服务端根据聊天做个GM命令,输出当前对象个数信息到日记.更新上线,手动输入gm命令,比较几次日记,方现对象是变多,......
  • CMake多个CMakeLists.txt共同合作编译一个C++项目
    一、概述在C++项目比较大或者要根据不同的规则生成不同的执行文件或者动态库/静态库的时候。单独的CMakeLists.txt会变的比较复杂,此时可以利用CMakeLists.txt的父子关系分目录分模块的进行编译及输出。就相当于项目模块化编译参考博客:【大丙课堂】二、具体实现......
  • C++跨DLL内存所有权问题探幽(一)DLL提供的全局单例模式
    最近在开发的时候,特别是遇到关于跨DLL申请对象、指针、内存等问题的时候遇到了这么一个问题。问题跨DLL能不能调用到DLL中提供的单例?问题比较简单,就是我现在有一个进程A,有DLLBDLLC,这两个DLL都依赖DLLD的单例,这个时候如果A调用了DLLB和DLLC,那么B和C能否正确引用到这个指......
  • 关于C++链接的一些理解
    无论是.h还是.cpp,都可以写声明或者实体,而且.h和.cpp的前面的名字相同不相同没有任何的影响最终一系列要连接的程序中,必须有且只有一个源文件有main函数,然后从这个main函数开始运行include的作用其实是跟define一样的,是纯文本替换进行替换之后,如果替换的内容是实体,那么就可以直......
  • c++简单的二分查找
    ints(intshuzu[],intlen,intx){ intlow=0,hight=len-1,mid; while(low<=hight) { mid=(low+hight)/2; if(shuzu[mid]==x)returnshuzu[mid]; elseif(shuzu[mid]<x)hight=mid-1; elselow=mid+1; } return-1;}i......
  • UE4 c++重构简单死亡之眼的效果
    虚幻社区中有蓝图教学视频使用C++重构,主要用到UGameplayStatics类中的SetGlobalTimerDilation方法,以及角色的相机管理器的调用,之后通过StartCameraFade方法实现显示效果UE4中的时间膨胀参考全局方法:SetGlobalTimerDilation(GetWorld(),Timer);对单个对象的时间膨胀:this->Cus......
  • 2309 c/c++二级
    5.话题焦点人物#include<bits/stdc++.h>usingnamespacestd;map<int,int>x;intmain(){intn,maxx=0,c;cin>>n;inta[n+1],b[n+1],k[n+1];for(inti=1;i<=n;i++){cin>>a[i]>>b[i];for(intj=1......
  • C++笔记 -- 使用STL的function实现回调机制(回调函数)
    1.使用普通函数示例一 代码:#include<iostream>#include<functional>//定义一个回调函数类型usingCallback=std::function<void(int)>;//定义一个函数,用于演示回调函数的使用voidperformOperation(intdata,Callbackcallback){//执......
  • C++中main(int argc, const char* argv[])的意义和命令参数的添加
    在C++程序中经常会看到main函数有两个输入参数,经常疑惑main不是C++入口吗,在调试的过程中有很少用到。最近查看一些工程时发现有些工程使用这两个参数,查资料得知这是命令,在没有UI但是又需要外部参数输入时极为方便。在VS中,该命令的设置在:项目"属性"->"调试"->"命令参数" ......