首页 > 编程语言 >C++基础

C++基础

时间:2024-10-19 18:52:15浏览次数:3  
标签:字符 变量 常量 基础 数据类型 C++ ASCII 字节

1、注释

单行注释://这是注释

多行注释:/*这是注释*/

2、变量

 数据类型 变量名 = 变量初始值;

 3、常量

宏常量:通常在文件开头定义

#define 常量名 常量值

const修饰的静态变量,表示一个常量,不可修改。

const 数据类型 常量名 = 常量值

#include <iostream>

using namespace std;

#define day 30


int main()
{
    const int a = 10;

    cout << "a=" << a << endl << "day=" << day << endl;


    a = 20;
    day = 5;



    return 0;
}

上式代码最后面改变了常量day和a的值,则会发生报错。

 4、关键字

关键字是C++中预先保留的单词,在定义变量或者常量的时候要避免使用关键字。

常见关键字如下:

asmdoifreturntypedef
autodoubleinlineshorttypeid
booldynamic_castintsignedtypename
breakelselongsizeofunion
caseenummutablestaticunsigned
catchexplicitnamespacestatic_castusing
charexportnewstructvirtual
classexternoperatorswitchvoid
constfalseprivatetemplatevolatile
const_castfloatprotectedthis

wchar_t

continueforpublicthrow

while

defaultfriendregistertruedelete
gotoreinterpret_casttry

 5、标识符命名规则

C++规定给标识符(常量、变量)命名 的规则

  • 标识符不能是关键字
  • 标识符只能由数字、下划线、字母组成
  • 第一个字符必须为字母或者下划线(不能数字开头)
  • 标识符中字母区分大小写

6、数据类型

在创建变量或者常量时为方便分配内存空间,需要指定出相应的数据类型

6.1、整型
数据类型占用空间取值范围
short(短整型)2字节-2^15~2^15-1
int(整型)4字节-2^31~2^31-1
long(长整型)4字节(32位系统),8字节(64位系统)
longlong(长长整型)8字节-2^63~2^63-1

输入以下代码,定义不同类型的整型变量,通过sizeof()函数查看其所占字节大小 

    int a = 10;
    short b = 5;
    long c = 6;
    long long d = 7;


    cout <<  "int:" << sizeof(a) << endl
         << "short:" << sizeof(b) << endl
         << "long:" << sizeof(c) << endl
         << "long long:" << sizeof(d) <<endl;

输出结果:

 注:sizeof求变量所占内存空间

sizeof(数据类型/变量名);                //计算数据类型或变量占用的内存空间

6.2、实型(浮点型)

用于表示小数的数据类型。

数据类型占用空间有效数字范围
float(单精度)4字节7位有效数字
double(双精度)8字节15~16位有效数字

注1:以下两种单精度变量赋值有所不同   

float f1 = 9.526;       //这里9.526是一个双精度(double),通过转换成float才赋值给f1
float f2 = 3.141f;        //3.141f就是一个单精度,表示数字3.141

注2:默认情况下,输出一个小数最多显示6位有效数字,要想显示更多位数则需要其他操作。

 注3:科学计数法

    float f1 = 2e3; //2 * 10 ^ 3 = 2000
    float f2 = 3e-2;//3 * 10 ^ (-2) = 0.03
6.3、字符型

字符型变量用于显示单个字符,C和C++中字符型变量只占用一个字节。

char ch = 'a';

注1:字符型变量需要单引号将字符括起来,且单引号只能有一个字符,不能是字符串

注2:字符型变量不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元中

常见字符变量的ascii码如下:

由上图可知:大写字母的ASCII码值+32 = 小写字母的ASCII码值

                        数字1的ASCII码值+48 = 字符‘1’ASCII码值

                         a的ASCII码值为97,字符1的ASCII码值为49

 6.4、转义字符

表示一些不能显示出来的ASCII字符

转义字符含义ASCII码值(十进制)

\a

警报007
\b退格(BS),将当前位置移到前一列008
\f换页(FF),将当前位置移动到下页的开头012
\n换行(LF),将当前位置移到下一行开头010
\r回车(CR),将当前位置移动到本行开头013
\t水平制表(HT),跳到下一个TAB位置009
\v垂直制表(VT)011
\\反斜线字符‘\\’092
\'单引号'039
\"双引号"034
\?问号?063
\0数字0000
\ddd8进制转义字符 ,d范围为0~73位8进制
\xhh16进制转义字符,h范围0~9,a~f,A~F3位16进制

部分代码演示:

\t可以实现一个对齐效果,\t与前面的字符加起来有8位,不足的在后面补充空格

 6.5、字符串型

表示一串字符,字符串用双引号括起来。

char 变量名[ ] = "字符串值";

string 变量名 = "字符串值";

 6.6、布尔类型

布尔数据类型表示真或假的值,bool类型占1个字节大小。

  • true -----真(本质为1)
  • false----假(本质为0)

注:非0为真,0为假

 7、数据的输入

用于键盘上获取数据

cin >> 变量;

标签:字符,变量,常量,基础,数据类型,C++,ASCII,字节
From: https://blog.csdn.net/Hu3106547813/article/details/143078964

相关文章

  • 「图::连通」详解并查集并实现对应的功能 / 手撕数据结构(C++)
    目录概述成员变量创建销毁根节点访问路径压缩启发式合并复杂度Code概述并查集,故名思议,能合并、能查询的集合,在图的连通性问题和许多算法优化上着广泛的使用。这是一个什么数据结构呢?一般来讲,并查集是由一系列集合组成的集合群。其中,每个集合都有一个根节点,它的......
  • 学习记录,这该死的c++
    最近还是比较懈怠,除了老师布置的作业其他的也是匆匆过一眼至于代码方面最主要的问题还是不理解该怎么表达。总的来说还是要在多沉淀。为什么会有知道敲代码但是不知道该怎么成功表达这个问题啊?还是不能把代码敲得精简一些可以来个人教我怎么敲关系符号吗?运用的还不是很熟练......
  • Lag-Llama:第一个时间序列预测的开源基础模型
    Lag-Llamalagllama是为单变量概率预测而构建的。它使用不依赖于频率的通用方法来标记时间序列数据。这样模型可以很好地推广到不可见的频率。它利用Transformer体系结构和分布头来解析输入令牌,并将它们映射到具有置信区间的未来预测。一、具有滞后特征的标记laglllama的......
  • Python基础——类与对象
      目录  类与对象的理解:构造方法:魔术方法:封装:继承: 单继承: 多继承:复写:类与对象的理解: 在程序中我们将类看作是设计图纸,对象则是根据这个图纸生产的产品。面向对象编程就是使用对象编程,在类中我们定义成员属性和方法。 来看下面这个例子,创建student类,......
  • 【C++贪心】2086. 喂食仓鼠的最小食物桶数|1622
    本文涉及知识点C++贪心LeetCode2086.喂食仓鼠的最小食物桶数给你一个下标从0开始的字符串hamsters,其中hamsters[i]要么是:‘H’表示有一个仓鼠在下标i,或者’.’表示下标i是空的。你将要在空的位置上添加一定数量的食物桶来喂养仓鼠。如果仓鼠的左边或右边......
  • 南沙C++信奥赛陈老师解一本通题 1286:怪盗基德的滑翔翼
    ​【题目描述】怪盗基德是一个充满传奇色彩的怪盗,专门以珠宝为目标的超级盗窃犯。而他最为突出的地方,就是他每次都能逃脱中村警部的重重围堵,而这也很大程度上是多亏了他随身携带的便于操作的滑翔翼。有一天,怪盗基德像往常一样偷走了一颗珍贵的钻石,不料却被柯南小朋友识破了伪......
  • C++之子类继承与父类构造
    C++之子类继承与父类构造文章目录C++之子类继承与父类构造1.问题引出2.原则3.解析3.1单一继承3.1.1父类无参构造函数3.1.1.1子类无定义构造函数3.1.1.2子类定义构造函数3.1.2父类存在无参构造函数和有参构造函数3.1.3父类仅存在有参构造函数3.2链式继承3.3多继承......
  • Java基础(一)
    Java基础(一)1、变量与数据类型1、数据类型/*java是一门强类型语言。变量:指的是在java程序运行过程中,其值可以发生改变的量定义一个变量的语句定义格式:数据类型变量名=初始化值;数据类型:基本数据类型:整数类型:所......
  • Java基础(二)
    第三章Java基础(二)1、while循环双重for循环1、while循环:for循环语句和while循环语句可以等价转换,但还是有些小区别的使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原......
  • 设计一个可复用的 ArkWeb 基础组件架构
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。引言在华为鸿蒙开发环境中,ArkWeb组......