C++笔记整理(part-1 基本语法)
Posted 我的头发可没乱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++笔记整理(part-1 基本语法)相关的知识,希望对你有一定的参考价值。
C++
01
数据类型等
//eax_1
#include<iostream>
//头文件,这些头文件包含了程序中必需的或有用的信息
using namespace std;
告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念
int main()//是主函数,程序从这里开始执行。
{
cout << "Hello word";
return 0;//终止 main( )函数,并向调用进程返回值 0。
}
数据类型
/*
1--如下使七种基本的数据类型
bool
char 1 个字节 -128 到 127 或者 0 到 255
int 4 个字节 -2147483648 到 2147483647
float 4 个字节 精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字)
double 8 个字节 双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字)
wchar_t 2 或 4 个字节 1 个宽字符
wchar_t:typedef short int wchar_t;
endl 用于插入一个换行符
<< 用于输出到屏幕
4--sizeof()用于获取各种数据类型的大小
typedef 为一个已有的类型取一个新的名字
int feet;
的另一个名称
6--枚举类型
枚举类型(enumeration)是C++中的一种派生数据类型,
它是由用户定义的若干枚举常量的集合
如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。
所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。
//举例:
enum 枚举名{
整型常数], =
整型常数], =
整型常数] =
枚举变量;
//eg:
enum color { red, green, blue } c;//变量 c 的类型为 color。最后,c 被赋值为 "blue"
c = blue;
0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面的枚举中,green 的值为 5。
enum color { red, green=5, blue };
的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1,但 red 的值依然为 0。
*/
变量类型
/*
1---
bool 储存值ture或者false
char 通常是一个字符(八位)
int 整数
float 单精度浮点值。单精度是这样的格式,1位符号,8位指数,23位小数。
double 双精度浮点值,双精度是一位符号,11位指数,52位小数
void 表示类型的缺失
wchar_t 宽字符类型
extern 使变量仅仅在某个文件中有用
*/
变量作用域
/*
(通常在函数内部 如main函数内)
在函数或一个代码块内部声明的变量,称为局部变量。
(通常在函数外部定义)
在所有函数外部定义的变量(通常是在程序的头部),称为全局变量。
在程序中,局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
*/
//exa_4常量
/*
1常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。
2常量可以是任何的基本数据类型,可分为整型数字、浮点数字、字符、字符串和布尔值。
3常量就像是常规的变量,只不过常量的值在定义后不能进行修改
#define 预处理器
#define identifier value
#define length 10;
const关键字
const 前缀声明指定类型的常量
const type variable = value;
const int length = 10;
或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。
和 L 的顺序任意。
2-浮点常量
浮点常量由整数部分、小数点、小数部分和指数部分组成。
您可以使用小数形式或者指数形式来表示浮点常量。
当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。
必须包含小数点、指数,或同时包含两者。
e 或 E 引入的。
3-布尔常量
true 值代表真。
false 值代表假。
4-字符常量
字符常量是括在单引号中。
L(仅当大写时)开头,则表示它是一个宽字符常量(例如 L'x'),
wchar_t 类型的变量中。
'x'),
char 类型的简单变量中。
'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如 '\u02C0')。
5-字符串常量
"" 中的。一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。
转义字符
\\ \ 字符
\' ' 字符
\" " 字符
\? ? 字符
\a 警报铃声
\b 退格键
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ooo 一到三位的八进制数
一个或多个数字的十六进制数
*/
//exa_5修饰符类型
/*
允许在 char、int 和 double 数据类型前放置修饰符。
修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。
signed、unsigned、long 和 short 可应用于整型,
signed 和 unsigned 可应用于字符型,long 可应用于双精度型。
signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀。例如:unsigned long int。
允许使用速记符号来声明无符号短整数或无符号长整数。
int,只写单词 unsigned、short 或 unsigned、long,int 是隐含的。
*/
类型限定符
/*
类型的对象在程序执行期间不能被修改改变。
volatile 告诉编译器不需要优化volatile声明的变量,让程序可以直接从内存中读取变量。
对于一般的变量编译器会对变量进行优化,将内存中的变量值放在寄存器中以加快读写效率。
restrict 修饰的指针是唯一一种访问它所指向的对象的方式。
C99 增加了新的类型限定符 restrict。
*/
//存储类
/*
存储类 声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。
存储类
RAM 中的局部变量。
这意味着变量的最大尺寸等于寄存器的大小(通常是一个词),
'&' 运算符(因为它没有内存位置)。
寄存器只用于需要快速访问的变量,比如计数器。
'register' 并不意味着变量将被存储在寄存器中,
它意味着变量可能存储在寄存器中,这取决于硬件和实现的限制。
存储类
存储类指示编译器在程序的生命周期内保持局部变量的存在,
而不需要在每次它进入和离开作用域时进行创建和销毁。
用于局部变量
存储类
extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的。
是用来在另一个文件中声明一个全局变量或函数。
mutable 存储类
成员可以通过 const 成员函数修改。
存储类
thread_local 说明符声明的变量仅可在它在其上创建的线程上访问。
每个线程都有其自己的变量副本。
thread_local 说明符可以与 static 或 extern 合并。
thread_local 仅应用于数据声明和定义,
thread_local 不能用于函数声明或定义。
*/
运算符
/*
1-运算符优先级
() [] -> . ++ - - 从左到右
+ - ! ~ ++ - - (type)* & sizeof 从右到左
* / % 从左到右
+ - 从左到右
<< >> 从左到右
< <= > >= 从左到右
= != 从左到右 =
AND & 从左到右
XOR ^ 从左到右
OR | 从左到右
AND && 从左到右
OR || 从左到右
?: 从右到左
+= -= *= /= %=>>= <<= &= ^= |= 从右到左 =
, 从左到右
2-杂项运算符
sizeof s izeof 运算符返回变量的大小。例如,sizeof(a) 将返回 4,其中 a 是整数。
Condition ? X : Y 条件运算符。如果 Condition 为真 ? 则值为 X : 否则值为 Y。
逗号运算符会顺序执行一系列运算。整个逗号表达式的值是以逗号分隔的列表中的最后一个表达式的值。
->(箭头) 成员运算符用于引用类、结构和共用体的成员。
Cast 强制转换运算符把一种数据类型转换为另一种数据类型。例如,int(2.2000) 将返回 2。
指针运算符 & 返回变量的地址。例如 &a; 将给出变量的实际地址。
指针运算符 * 指向一个变量。例如,*var; 将指向变量 var。
*/
XIUMI
新浪微博|我的头发可没乱
以上是关于C++笔记整理(part-1 基本语法)的主要内容,如果未能解决你的问题,请参考以下文章