一、变量和常量
变量存在的意义:给一段指定的内存空间起名,方便我们管理、操作内存空间
变量创建的语法:数据类型 变量名 = 变量初始值;例如:int a=10;
常量:用于记录程序中不可修改的数据
C++定义常量的两种方式:
1、#define宏常量
- 通常在文件的上方,表示一个常量
2、const修饰的常量
- const 数据类型 常量名=常量值
- 通常在变量定义前加const关键字,修饰该变量为常量,不可修改
有关两个知识点的练习如下:
#include <iostream>
using namespace std;
//宏常量
#define DAY 7
/*
main函数是一个程序的入口
每个程序都必须只有一个
有且只有一个
*/
int main()
{
//const修饰的变量
const int month = 12;
//month=14;//报错,常量不可以被修改
cout << "一年共有:" << month << "月份" << endl;
//变量创建的语法:数据类型 变量名 = 变量初始值
int a = 10;
//打印一周有几天
cout << "一周总共有:" << DAY << "天" << endl;
//如果修改DAY的值
//DAY = 14;//报错,DAY是一个宏常量,不可被修改
//向屏幕输出变量
cout << "a=" << a << endl;
//第7行代码表示给屏幕输出一个Hello World
cout << "Hello world" << endl;
return 0;
}
二、关键字和标识符
作用:关键字是C++中预先保留的单词(标识符)
- 在定义变量或者常量的时候不要用关键字,否则系统产生歧义而报错
C++关键字如下:
- auto
- bool
- int
- inline
- sizeof
- default
- char
- float
- false
- continue
- 。。。后面遇到了再做详细介绍
标识符命名规则
- 标识符不能是关键字
- 标识符只能由字母、数字、下划线组成
- 第一个字符必须是字母或下划线
- 标识符中的字母区分大小写
- 建议:起名时最好做到见名知义
三、数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
数据类型存在的意义:给变量分配合适的内存空间
(一)整型
作用:整型变量表示的是整数类型的数据
C++中能够表示整型数据的类型有以下几种方式,区别在于所占内存空间不同
练习代码如下:
#include <iostream>
using namespace std;
int main()
{
//短整型 -32768~32767
short num1 = 10;
short num11 = 32768;
short num111 = 32769;
//整型
int num2 = 10;
//长整型
long num3 = 10;
//长长整型
long long num4 = 10;
cout << "num1:" << num1 << endl;
//当越界时,将会从它的下界继续输出,看运行结果就明白了。
cout << "num11:" << num11 << endl;
cout << "num111:" << num111 << endl;
cout << "num2:" << num2 << endl;
cout << "num3:" << num3 << endl;
cout << "num4:" << num4 << endl;
return 0;
}
运行结果如下:
(二)sizeof关键字
作用:利用sizeof关键字可以统计数据类型所占内存的大小
语法:sizeof(数据类型/变量)
练习代码如下:
#include <iostream>
using namespace std;
int main()
{
//放数据类型
cout << "short:" << sizeof(short) << endl;
cout << "int:" << sizeof(int) << endl;
cout << "long:" << sizeof(long) << endl;
cout << "long long:" << sizeof(long long) << endl;
//放变量
int a = 10;
cout << "a:" << sizeof(a) << endl;
long long b = 10;
cout << "b:" << sizeof(b) << endl;
//比较大小:shrot<int<=long<=long long
return 0;
}
运行结果如下:
(三)实型【浮点型】
作用:用于表示小数
浮点型变量分为两种:
- 单精度:float
- 双精度:double
两者的区别在于表示的有效数字的范围不同
练习代码如下:
#include <iostream>
using namespace std;
int main()
{
//创建单精度变量
float f1 = 3.14159267;//编译器会将其认为是一个双精度类型
float f2 = 3.14159267f;//清楚的告诉编译器f2是一个单精度类型变量
//创建双精度变量
double d1 = 3.14159267;
cout << "f1:" << f1 << endl;
cout << "f2:" << f2 << endl;
cout << "d1:" << d1 << endl;
//在C++编译器中,默认会输出6位有效数字
//3.13是3位有效数字
//3.1是2位有效数字
//计算float和double所占内存空间的大小
cout << "flaot占用内存的空间为:" << sizeof(float) << endl;
cout << "double占用内存的空间为:" << sizeof(double) << endl;
//科学计数法表示小数
float f3 = 3e2;//3*10^2
cout << "f3:" << f3 << endl;
float f4 = 3e-2;//3*0.1^2
cout << "f4:" << f4 << endl;
return 0;
}
运行结果如下:
(四)字符型
作用:字符型变量用于显示单个字符
语法:char ch='a';
注意:单引号内只能有一个字符,不能有多个
- C和C++中字符型变量只用占一个字节
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元中
练习代码如下:
#include <iostream>
using namespace std;
int main()
{
char ch = 'a';
cout << "ch:" << ch << endl;
cout << "char所占用内存的大小:" << sizeof(char) << endl;
//查看字符型变量对应的ASCII编码值
//a-97
//A-65
cout << "a的ASCII编码值:" << (int)ch << endl;
char cha = 'b';
cout << "b的ASCII编码值:" << (int)cha << endl;
//字符型变量常见的错误
//char ch2 = "b";//字符型变量要用单引号
//char ch3 = 'abc';//单引号内只能用有一个字符
return 0;
}
运行结果如下:
ASCII大致由以下两部分组成
- ASCII非打印控制字符:ASCII表上的数字0-31分配给了控制字符,用于控制像打印机等一些外围设备
- ASCII打印字符:数字32-126分配给了能在键盘上找到的字符,当查看成打印文档时就会出现。
(五)转义字符
作用:用于表示一些不能显示出来的ASCII字符
现阶段常用的有:\n ,\t, \\
转义字符 | 含义 |
---|---|
\a | 警报 |
\b | 退格,将当前位置移到前一列 |
\n | 换行 |
\r | 回车 |
\t | 水平制表 |
\ | 代表一个反斜线字符\ |
\ ? | 代表一个问号 |
练习代码如下:
#include <iostream>
using namespace std;
int main()
{
// \n的作用是换行
cout << "hello world\n";
// 输出\
cout << "\\" << endl;
// \t:可以整齐的输出数据
cout << "aaa\thelloworld" << endl;
cout << "aaaa\thelloworld" << endl;
cout << "aaaaa\thelloworld" << endl;
cout << "aaaaaa\thelloworld" << endl;
cout << "aaa helloworld" << endl;
cout << "aaaa helloworld" << endl;
cout << "aaaaa helloworld" << endl;
cout << "aaaaaa helloworld" << endl;
return 0;
}
运行结果如下:
(六)字符串型
作用:用于表示一串字符
两种风格
- C语言风格:
char ch[] = "abcg";
- C++风格:
string ch="abcd";
练习代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
//C语言
char str[] = "abcd helloworld";
//C++,需要用到头文件#include <string>
string str1 = "abcg helloworld";
cout << str << endl;
cout << str1 << endl;
return 0;
}
运行结果如下:
(七)布尔类型bool
作用:布尔数据类型代表真或假的值
bool类型的值,只要是非0的值都是真
bool类型只占一个字节大小的内存空间
bool类型只有两个值:
- true:真【本质是1】
- false:假【本质是0】
bool类型占一个字节大小
练习代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()

{
int flag1 = true;
int flag2 = false;
cout << flag1 << endl;//1
cout << flag2 << endl;//0
cout << "bool类型所占内存大小:" << sizeof(bool) << endl;//1
return 0;
}
运行结果如下:
(八)数据输入
作用:用于从键盘获取数据
关键字:cin
语法:cin>>x;
练习代码如下:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int a = 0;
cout << "请给a进行赋值操作:" << endl;
cin >> a;
cout <<"整型变量a的值为:" << a << endl;
return 0;
}
✨✨✨
从头开始!坚持!