Part 1 变量的定义
*变量要先定义,在使用。
如何定义一个变量?:
数据类型 变量名
or
数据类型 变量名 = 数值 //在定义的同时初始化
注意:1.在C++中,不允许定义出现过的变量,这种现象叫 重定义 。
2.使用变量要注意初始化。(每一个变量都定义)
int a;
a = 0;
或者
int a;
cin >> a;
变量起名规则:
1.只能用字母,数字,下划线组成。
2.只能以字母或下划线作为开头。
3.不能和关键字重名。
***4.定义变量要见名知意!!!
Part 2 基本数据类型
名称 | 数据类型 | 字节数 | 数值范围 | |
短型 | short | 2B | -32768~32767 | -2^15~2^15-1 |
整型 | int | 4B | -2147483648~2147483647 | -2^31~2^31-1 |
长整型 | longlong | 8B |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | -2^63~2^63-1 |
无符号短整型 | unsigned short | 2B | 0~65535 | 0~2^16-1 |
无符号整型 | unsigned int | 4B | 0~4294967295 | 0~2^32-1 |
无符号 | unsigned long long | 8B | 0~ | 0~1.84467440737096e+19 |
占用的内存越大,可取的数值范围越大。
如何看数据类型的内存呢?
#include <iostream>
using namespace std;
int main()
{
cout << sizeof(字符类型) << endl;
return 0;
}
常用的字节计数单位:
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
实数型
名称 | 数据类型 | 字节数 | 范围 | 有些数位 |
单精度浮点数 | float | 4B | -3.4e38~3.4e38 | 6~7 |
双精度浮点数 | double | 8B | -1.7e308~1.7e308 | 16~16 |
长双精度浮点数 | long double | 16B | 3.3621e-4932~1.18973e+4932 | 18~19 |
*定义浮点型变量时建议用double
重点记忆的ASCll值
'0' --> 48
'A' --> 65
'a' --> 97
Part 3 特殊字符
转义字符:用于格式化输出,控制文本的显示.
转义字符 | 意义 |
\n | 换行 |
\t | 水平制表符(tab) |
\r | 回车 |
\\ | 反斜杠 |
\' | 单引号 |
\" | 双引号 |
\a | 响铃(ASCII 值为 7) |
\b | 退格(ASCII 值为 8) |
\f | 换页(ASCII 值为 12) |
\v | 垂直制表符(ASCII 值为 11) |
\0 | 空字符 |
Part 4 C语言的格式化输入/输出
1.输入函数scanf()
#include <iostream>
using namespace std;
int main()
{
int a;
scanf("%d",&a);
cout << a;
return 0;
}
2.输出函数printf()
#include <iostream>
using namespace std;
int main()
{
int a;
scanf("%d",&a);
cout << a;
return 0;
}
常见的格式化字符串的占位字符:
格式字符 | 意义 |
---|---|
%d | 输出int |
%f | 输出float |
%c | 输出单个字符 |
%lf | 输出double |
printf()的特殊用法:可配合ASCII码使用
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c = 65;
printf("%c/n", c);
printf("%d", c);
return 0;
}
设置小数输出格式的方法:两种(以下程序中n为保留的位数,a为一个小数)
1.cout中
cout << fixed << setprecision(n) << a;
2.printf中
printf("%.nlf", a)//""中的n是一个数值!!!
大写小写的转化:大写字母与小写字母之间的ASCII码的差值为32
比如我们要把A变为a
#include <bits/stdc++.h>
using namespace std;
int main()
{
char c;
cin >> c;
c += 32;
cout << c;
return 0;
}
Part 5 字符类型转换
隐式转换(自动转换):
由编译器自动执行的类型转换过程,一般是把低精度的转换为高精度(叫小范围的数据类型转换为大范围的数据类型)再进行运算。
显式转换(强制转换):
由编码者明确指定的类型转化过程。
比如:
#include <iostream>
using namespace std;
int main()
{
double a;
cin >> a;
cout << (int)a;
return 0;
}