学习C++的第四天

  ##学习第四天

一、标识符

        1.标识符的命名规则

                通用规范:

见名思意string name = ''小明'';无论什么场景,都建议遵循
下划线命名法

string student_name = "小明";

string teacher_name = "小梁";

一般用于变量命名
小驼峰法string studentName = "小明";一般用于变量、函数(方法)命名
大驼峰法string StudentName = “小明”;一般用于类命名

         2.标识符的限制规则

     在前面说过标识符:用来标识某个实体的符号,在编程语言中表示代码中所使用的各类名称。

        1.目前接触到的标识符:符号常量名、变量名。

        2.除此之外还有:类名称、文件名、方法|函数名等等,都是标识符。

    标识符的使用限制分为两类:

        1.硬性限制,称之为:规则(必须遵守)

        2.软性限制,称之为:规范(尽量遵守)

在c++中,标识符命名的规则主要有3类:

        1.内容限定:

                即仅可使用字母、数字、下划线的组合,且数字不可开头

        2.大小写敏感

                即大写字母和小写字母的名称,是不同的可区分的。int num 不等同于int NUM

        3.不可使用关键字

                关键字是c++语言内置使用的特殊标识符,用户不可以占用,比如int,是无法用来命名变量、常量等。

二、数据类型

        1.整型

        在前面已经了解了int整型,在c++中,整型除了有int以外,还有其余的表现形式,如下表

数据类型占用空间取值范围取值范围(科学计数)
short(短整型)2字节-32768 - 32767-2^15 - 2^15-1
int(整型)4字节-2147483648 - 2147483647-2^31 - 2^31-1
long(长整型)Windows为4字节,Linux为4字节(32位),8字节(64位)4字节范围同上,8字节同下4字节范围同上,8字节同下
long long (长长整型)8字节-9223372036854775808 - 9223372036854775807-2^63 - 2^63-1

        *小知识:sizeof()函数,用法:sizeof(数据),会告知得到数据所占用的字节。

                弹幕说sizeof不是函数,是运算符/关键字,大家知道的可以评论区告诉我一下,互相学习,多谢!!!

        2.无符号和有符号数字

        在c++中,数字是有无符号和有符号之分的。

                无符号:仅仅允许正数存在。

                有符号:可以允许负数存在。 

        

类型所占bit数和字节数取值范围说明
[signed] int32bit、4字节上面有(有符号)整型
unsigned int32bit、4字节0 - 4294967295()无符号整型
unsigned short16bit、2字节无符号短 整型
unsigned long32bit、4字节或64bit、8字节无符号长整型
unsigned long long64bit、8字节无符号长长整型

       [ ] 表示可选,可写可不写。如signed int 和 int 相同。

取值范围规则(n表示位数)

        有符号:-2^(n-1)  ~ 2^(n*-1) - 1

        有符号:0 ~ 2^n - 1 

       3.实型

        前面接触过实型,了解了float。

        在c++中,实型除了有float以外,还有其余的表现形式,如下表

类型有效位数(参考)字节数说明
float6~74字节单精度浮点数
double15~168字节双精度浮点数
long double18~1916字节多(长)精度浮点数

        注意:实型数据没有signed和unsigned,默认全部有符号。

        double和long double的有效位数仅做参考,ANSI C标注仅要求它们最少实现8字节,具体有效范围取决于所用编译器对标准的实现。

        4.c++中常量类型的确定

      一、  在c++中,对于常量的类型确定遵循最小原则:

常量类型
整数int > unsigned int > long > unsigned long > long long > unsigned long long(“>”为优先级)
小数double > long double

                1.按照所书写的字面量的值,来确定类型,默认int,从小到大进行适配。

                2.或按照指定后缀确定。

        二、在c++中,常量是可以有后缀的,具有不同的功能,如:

                10L;  //指定为long类型

                123UL; //指定为 unsigned long类型

        

后缀(大小写均可)含义
U表示无符号数
L整数long类型、浮点数long double类型
ULunsigned long类型
ULLunsigned long long类型
Ffloat类型
Ddouble类型

总结:

        在c++中,字面量的类型是自动确定的

                整数默认为int,如范围不足,会自动扩容,顺序为:int -> unit -> long ->ulong ->long long -> u long long。

                浮点数默认为double,范围不足会自动扩展到 long double。

        5.字符型-char类型

                char类型用来表示字符,同时支持有符号和无符号。

类型字节数范围映射表
[signed]char1字节-128 ~ 127ASCII表
unsigned char1字节0 ~255ASCII表

        char类型其本质上是:数字,即在内存中存储的是实际上是数字。

                可储存内容:ASCII表

                无法储存中文(有别的办法)

        通过ASCII表作为对照,字符 -> 数字存入,数字 -> 字符使用

        6.转义字符

ASCII表中字符分为两类:非打印控制字符、打印字符

        非打印控制字符:无法打印出形态,但是可以用于表示各种控制功能,如换行、制表等

如果要使用非打印控制字符的功能,可以使用:转义字符 的形式。

可借鉴 C++ 常量 | 菜鸟教程https://www.runoob.com/cplusplus/cpp-constants-literals.html

        转义字符:将普通的字符使用\作为开头,将其含义进行转换,对照得到ASCII表的控制字符的功能

        \n 换行,\t 制表符,\\ 代表一个反斜杠本身,\'表示单引号, \" 表示双引号。

        \t:效果等同于键盘的tab键,一个\t可以补充到8个字符位

        6.字符串

在c++中有两种风格的字符串使用形式:

        1.C语言风格字符串(了解)

                char a[ ] = “hahaha”;//字符数组形式

                char *b = "hahahi"; //指针形式

        2.C++风格字符串

                string c = "c++";

注意:

        1.char a[ ]  = "abc"; //字符数组模式,不可更改变量值(我自己在vs中可以通过a[0] = "a",来改改变下标的第一个字母,但是这样太麻烦了)

        2.char *s = "abc"; 指针形式(vs中是这样的-const char* b = "hahihi";在vs中这个值是可以修改的,但是在clion这个指针形式是只读不可修改的)

        7.字符串的拼接

字符串的拼接只需要用“+”连接就可以了。

我用的vs,这个是在vs中的

注意:想要使用to_string(),需要在头部加上#include <string>

string name = "小明";
string major = "物理";
int score = 80;
/*std::to_string str1 = std::to_string(score);*/  (这个是在网上搜的vs中不能使用)
cout << name + "的" + major + "成绩是" + to_string(score) << endl;//to_string(s core)

to_string():用来把()里的内容转换为字符串类型。

        8.布尔型

                布尔数据类型:

                        字面量有只有两个:

                                1.true 表示真(本质上是数字1)

                                2.false 表示假(本质上是数字0)

布尔类型主要用于程序中的逻辑判断,通过真或假来决定程序的执行流程。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值