C++入门(正在学,不断更新,主要自用复盘,如果有错误希望能帮忙指正)
2022/1/9 22:34:20
本文主要是介绍C++入门(正在学,不断更新,主要自用复盘,如果有错误希望能帮忙指正),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C++入门篇,每天复盘下所学的知识点,写下来加深下印象。
根据b站黑马的视频学习。
一、基础
1、注释
单号注释 // 注释的内容
多行注释 /* 注释的内容*/
2、变量
给内存空间起个名字,方便对这内存操作。
规则:数据类型 变量名 = 初值;
int a = 10;
创建变量必须赋初值,不然报错。
3、常量
后续不允许修改。
宏常量 #define 一般在代码文件最上面,即最前面几行。
#define 常量名 常量值 #define num1 10 没有分号。
const修饰的变量,和定义变量语法一样,就是加个const,使其成为常量。
const int a = 10;
#include<iostream> using namespace std; //常量定义 //宏常量 #define #define Day 7 int main() { // Day = 14; Day是常量,修改就报错。 //const修饰的变量 const int month = 12; //month = 24; //const修饰的变量也是常量,修改报错 cout << "一周有:"<<Day << "天" << endl; cout << "一年有:" << month << "月" << endl; system("pause"); return 0; }
一些解释
1、#include用于引用位于其他文件中的代码
C++标准库文件后面就用<>,其他文件就()
2、using namespace std; 让代码更简洁。
提示编译器在此文件中使用C++标准库中内容,不然,库中的每个关键字都必须用std::开头表示范围
如 std::cout
3、cout关键字,用于打印输出。
<<运算符,提示编译器输入右侧内容。
4、endl关键字和Enter建类似,换行。
一般建议在" "里面加\n表示换行,因为endl会刷新缓冲区,影响程序的性能,endl在非常小的应用可以增加代码可读性。
5、main()必须要有,相当于程序的入口。
4、关键字
C++内置的标识符,定义常量变量时不可用这些,具体后面会慢慢了解。
asm | do | if | return | typedef |
---|---|---|---|---|
auto | double | inline | short | typeid |
bool | dynamic_cast | int | signed | typename |
break | else | long | sizeof | union |
case | enum | mutable | static | unsigned |
catch | explicit | namespace | static_cast | using |
char | export | new | struct | virtual |
class | extern | operator | switch | void |
const | false | private | template | volatile |
const_cast | float | protected | this | wchar_t |
continue | for | public | throw | while |
default | friend | register | true | |
delete | goto | reinterpret_cast | try |
5、标识符
字面意思,一个标记符号,来命名常量、变量,命名最好要做到见到就知道含义即代表什么。
规则:1,不能是关键字。
2,字母、数字、下划线组成,首字母必须是字母或者下划线。
3,标识符区分大小写。
二、数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
数据类型存在意义:给变量分配合适的内存空间
1、整型
整型可有四种,short、int、long、long long,所占字节个数不同,表示数的范围不同。
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-215 ~ 215-1) |
int(整型) | 4字节 | (-231 ~ 231-1) |
long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-231 ~ 231-1) |
long long(长长整形) | 8字节 | (-263 ~ 263-1) |
2、sizeof关键字
可以求出数据类型所占内存空间大小。
语法,sizeof(数据类型/变量名)
short num1 = 10; cout << "short占内存:" << sizeof(short) << endl; cout << "short占内存:" << sizeof(num1) << endl;
3、实型(浮点型)
分为float和double两种,所占内存空间不同,表示有效数字位数不同。
不过,一般默认输出6位有效数字(超过6位时)。
对于float,需要在赋值的后面加个f,告诉编译器这个是float型的数据,因为一般编译器会用double。
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15~16位有效数字 |
float f1 = 3.14159265354f; //默认为double,加个f就转为float cout << "f1 =" << f1 << endl; double d1 = 3.14159265354; cout << "d1 =" << d1 << endl; //输出均为3.14159
科学计数法表示浮点数
3e2 // 3*102
3e-2 //3*10-2
4、字符型
用于显示单个字符,定义时用单引号。
语法: char 变量名 = ‘字符’;
char ch = ‘a’;
字符变量占一个字节
字符变量不是将字符放在内存中存储,而是将其对应的ASCII码放在内存中。
#include<iostream> using namespace std; int main() { //1 变量创建方式 char ch = 'A'; cout << ch << endl; //2 所占内存 cout<<sizeof(char) << endl; //3 常见错误 //char ch2 = "b";//创建字符要单引号 //char ch3 = 'dswdr';//单引号只能一个字符 //4 ASCII //a-97 A-65 大+32=小 cout << (int)ch << endl;//转为十进制的数字 system("pause"); return 0; }
ASCII 码大致由以下两部分组成:
- ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。
- ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。
记住 A 65 a 97 大写+32=小写
5、转义字符
用来显示不能显示出来的ASCII字符,目前主要先了解
\\ \t \n
#include<iostream> using namespace std; int main() { //换行 \n cout << "hello \n"; //返斜杠 \\ cout<<"\\"<<endl; //水平制表 \t 作用,整齐输出数据。 cout << "123456789\thello" << endl; // \t占8个空间,连前面的一起,比如1234\t,这样就剩下4个空格了,123 剩5个空格。 //这个会先123456789,9后面跟7个空格再hello system("pause"); return 0; }
6、字符串型
用于输出一串字符。
有两种风格:
- **C语言风格:**char 变量名[] = “字符串”;
- **C++风格:**string 变量名 = “字符串”;
C++风格,需加一个头文件 #include,不然会报错,不过我用的vs2022没有报错,建议加上,使代码有好的可移植性。
#include<iostream> using namespace std; #include<string> //使用C++风格的字符串时要加此头文件 int main() { //C风格 1、要加[]在字符名后, 2、等号后面双引号 char str[] = "hello"; cout << "str =" << str << endl; //C++风格 1、包含头文件 string str2 = "hello world"; cout << "str2 =" << str2 << endl; //加头文件,为可移植性 system("pause"); return 0; }
7、bool类型
表示真假。bool只有两个值
- true—真 1
- false—假 0
其实除了0外的所有数都是真。
bool占一个字节内存空间。
#include<iostream> using namespace std; int main() { //创建bool bool flag = true; //true为真 1 cout << flag << endl; flag = false; //flase 为假 0 cout << flag << endl; //查看内存空间 cout << "bool 空间" << sizeof(bool) << endl; system("pause"); return 0; }
8、数据输入
从键盘获取数据。
语法:cin << 变量
#include<iostream> using namespace std; int main() { //cin >> 变量 //整型 int a = 0; cout << "a =" << a << endl; cout << "请给a赋值:" << endl; cin >> a; cout << "a =" << a << endl; //浮点 float f = 3.14f; cout << "f = " << f << endl; cout << "f赋值:" << endl; cin >> f; cout << "f = " << f << endl; //字符 char ch = 'a'; cout << "ch =" << ch << endl; cout << "ch赋值:" << endl; cin >> ch; cout << "ch = "<< ch << endl; //字符串 string str = "hello"; cout << "str =" << str << endl; cout << "str赋值:" << endl; cin >> str; cout << "str =" << str << endl; //bool //赋值用0 1不是输入true或flase 0假 其他都为真 bool flag = false; cout << "flag= " << flag << endl; cout << "赋值:" << endl; cin >> flag; cout << "flag= " << flag << endl; system("pause"); return 0; }
这篇关于C++入门(正在学,不断更新,主要自用复盘,如果有错误希望能帮忙指正)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享