C++竞赛培训:第二课 变量

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 
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 
using namespace std;

int main()
{
	int a;
	scanf("%d",&a);
	cout << a;
	return 0;
}

2.输出函数printf()

#include 
using namespace std;

int main()
{
	int a;
	scanf("%d",&a);
	cout << a;
	return 0;
}

常见的格式化字符串的占位字符: 

格式字符 意义
%d 输出int
%f 输出float
%c 输出单个字符
%lf 输出double

printf()的特殊用法:可配合ASCII码使用

#include 
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 
using namespace std;

int main()
{
	char c;
	cin >> c;
	c += 32;
	cout << c;
	return 0;
}

Part 5 字符类型转换

隐式转换(自动转换):

由编译器自动执行的类型转换过程,一般是把低精度的转换为高精度(叫小范围的数据类型转换为大范围的数据类型)再进行运算。

显式转换(强制转换):

由编码者明确指定的类型转化过程。

比如:

#include 
using namespace std;
int main()
{
	double a;
	cin >> a;
	cout << (int)a;
	return 0;
}

你可能感兴趣的:(数据结构,c++)