强调:标识符命名规则:
- 标识符不能是关键字
- 只能是由字母、数字、下划线构成
- 第一个字符不能是数字
- 区分大小写
建议:给变量起名时,争取做到见名知意!!
数据类型
数据类型的意义:给变量分配合适的内存空间
1整型
短整型 short 2字节 -2^15 ~ 2^15-1
整型 int 4字节 -2^31 ~ 2^31-1
长整型 long 4字节(win端) -2^31 ~ 2^31-1
长长整型 long long 8字节 -2^63 ~ 2^63-1
#include<iostream>
using namespace std;
int main()
{
//1.短整型
short num1 = 10;
//2.整型
int num2 = 10;
//3.长整型
long num3 = 10;
//4.长长整型
long long num4 = 10;
cout << "num1 = " << num1 << endl;
cout << "num2 = " << num2 << endl;
cout << "num3 = " << num3 << endl;
cout << "num4 = " << num4 << endl;
system("pause");
return 0;
}
运行结果:
好像也没什么区别,区别就是所能容纳的数量不一样,一般地,就是用int。
2 sizeof关键字
#include<iostream>
using namespace std;
int main()
{
//1.短整型
short num1 = 10;
//2.整型
int num2 = 10;
//3.长整型
long num3 = 10;
//4.长长整型
long long num4 = 10;
//可以用sizeof求出数据类型占用内存大小
//语法: sizeof(数据类型/变量)
cout << "short占用内存空间为" << sizeof(short) << endl;
cout << "num1占用内存空间为" << sizeof(num1) << endl;
system("pause");
return 0;
}
运行结果:
3 实型(浮点型)
单精度 float 4字节 7位有效数字
双精度 double 8字节 15~16位有效数字
只写一个小数,默认是double,定义单精度变量需要小数后面增加个f。
事实上默认一位小数,显示的有六位。
#include<iostream>
using namespace std;
int main()
{
//1.单精度
float f1 = 3.1415926f; //后面写个f表示单精度,默认使用双精度
cout << "f1 = " << f1 << endl;
//2.双精度
double f2 = 3.1425926; //后面写个f表示单精度,默认使用双精度
cout << "f2 = " << f2 << endl;
//所占内存空间
cout << "float所占的内存大小" << sizeof(float) << endl;
cout << "double所占的内存大小"<< sizeof(double)<< endl;
//科学计数法
float f3 = 3e2;
float f4 = 3e-2;
cout << f3 << endl;
cout << f4 << endl;
system("pause");
return 0;
}
4 字符型
只占用一个字符
语法: char ch = ‘a’;
注意:
1.创建字符型,不能是双引号,必须是单引号
2.单引号内必须只能有一个字符
#include<iostream>
using namespace std;
int main()
{
//1.字符型变量的创建
char ch = 'a';
cout << ch << endl;
//2.字符型变量所占内存大小
cout << "char所占内存空间为" << sizeof(char) << endl;
//3.字符型变量常见错误
// char ch2 = "b"; //创建字符型,不能是双引号,必须是单引号
// char ch2 = 'abcdefg'; //单引号内必须只能有一个字符
//4.字符型变量对应的ASCII编码 A-97 a-65
cout << (int)ch << endl;
system("pause");
return 0;
}
ASCII对照表
5 转义字符
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。看到\就要警惕!
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
\t自动补全8个位置,要是3个字符,后面就5个空格
#include<iostream>
using namespace std;
int main()
{
//换行符
cout << "hello c++\n"; //等效与endl
//反斜杠\
cout << "\\" << endl;
//水平制表符 \t
cout << "aaaabbbb\thelloworld" << endl;
system("pause");
return 0;
}
6.字符串
两种风格
1. char 变量名[] = “字符串”
2. string 变量名 = “字符串”
#include<iostream>
using namespace std;
#include<string>
int main()
{
// 1.C语言风格
// 注意事项:加中括号;等号后面要用双引号
char str[] = "Hello World";
cout << str << endl;
// 2.C++风格
//注意事项:需要包含头文件 #include<string>
string str2 = "Hello World";
cout << str2 << endl;
system("pause");
return 0;
}
7.布尔类型
true —— 真 —— 1
false —— 假 —— 0
#include<iostream>
using namespace std;
int main()
{
//创建布尔类型
bool flag = true; //true代表真
cout << flag << endl;
flag = false;
cout << flag << endl;
//查看bool类型所占内存空间
cout << "BOOL类型所占的空间" << sizeof(bool) << endl;
system("pause");
return 0;
}
8.数据的输入
语法:
cin >> 键盘输入的数;
选中需要注释的代码段,按Ctrl + K + C 即可快速注释; 选中需要取消注释的代码段,按Ctrl + K + U 即可取消注释
#include<iostream>
using namespace std;
#include<string>
int main()
{
//1.整型
/*int a = 0;
cout << "请给整型变量a赋值:" << endl;
cin >> a;
cout << "a的值为:" << a << endl;
*/
//2.浮点型
//float f = 4.1f;
//cout << "请给浮点型变量f赋值:" << endl;
//cin >> f;
//cout << "f的值为:" << f << endl;
//3.字符型
/*char ch = 0;
cout << "请给字符变量ch赋值:" << endl;
cin >> ch;
cout << "ch的值为:" << ch << endl;*/
//4.字符串 注意头文件
/*string str = "hhh";
cout << "请给字符串变量str赋值:" << endl;
cin >> str;
cout << "str的值为:" << str << endl;*/
//5.布尔类型
//布尔类型:非零即为真
bool flag = false;
cout << "请给布尔类型变量flag赋值:" << endl;
cin >> flag;
cout << "flag的值为:" << flag << endl;
system("pause");
return 0;
}