C++学习笔记(1)--- 常量、数据类型、运算符

目录

一、常量:

1、宏常量:

2、const常量:

 二、标识符命名规则:

三、数据类型:

1、整型:

2、 sizeof与typeid关键字:

 3、浮点型:

4、字符型:

5、 转义字符:

6、字符串类型:

7、布尔类型bool

8、数据的输入:

四、运算符:

1、算数运算符:

2、赋值运算符:

3、比较运算符

4 逻辑运算符


一、常量:

1、宏常量:

#define 宏常量: #define 常量名 常量值

  • 通常在文件上方定义,表示一个常量。

  • 宏常量可以放于数组定义中。

  • 宏常量也不可以修改。

  • 定义时末尾没有分号

2、const常量:

const修饰的变量 const 数据类型 常量名 = 常量值

  • 通常在变量定义前加关键字const,修饰该变量为常量,不可修改,必须在定义时赋予初值

//1、宏常量
#define day 7
#define n 10

int main() {
    //1、宏常量
	cout << "一周里总共有 " << day << " 天" << endl;
	//day = 8;  //报错,宏常量不可以修改
    //定义数组
    int arr[n];

	//2、const修饰变量
	const int month = 12;
	cout << "一年里总共有 " << month << " 个月份" << endl;
	//month = 24; //报错,常量是不可以修改的
	
	system("pause");
	return 0;
}

 二、标识符命名规则:

  • 标识符不能是关键字

  • 标识符只能由字母、数字、下划线组成

  • 第一个字符必须为字母或下划线

  • 标识符中字母区分大小写

三、数据类型:

1、整型:

不同类型的整型所占空间不同:

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

2、 sizeof与typeid关键字:

sizeof作用:利用sizeof关键字可以==统计数据类型所占内存大小==

语法: sizeof( 数据类型 / 变量)

int main() {
	cout << "short 类型所占内存空间为: " << sizeof(short) << endl;
	return 0;
}

typeid作用:判断数据属于什么类型。

语法:typeid(判断的数据)

int main()
{
	//两个小数相除
	double d1 = 0.5;
	double d2 = 0.25;

	if (typeid(d1/d2) == typeid(double))
	{
		cout << "是浮点类型" << endl;
	}
	else if (typeid(d1 / d2) == typeid(int)) {
		cout << "是整数类型" << endl;
	}
	cout <<  d1 / d2 << endl; //double浮点类型

	return 0;
}

 3、浮点与科学计数法:

浮点型变量用于表示小数分为两种,二者的区别在于表示数字的范围不同

  1. 单精度float

  2. 双精度double

数据类型 占用空间 有效数字范围
float 4字节 7位有效数字(包括整数部分)
double 8字节 15~16位有效数字(包括整数部分)
int main() {

	float f1 = 3.14f;
	double d1 = 3.14;

	//科学计数法
	float f2 = 3e2; // 3 * 10 ^ 2 
	float f3 = 3e-2;  // 3 * 0.1 ^ 2

	system("pause");
	return 0;
}

4、字符型:

作用:字符型变量用于显示单个字符

语法:char ch = 'a';

注意1:在显示字符型变量时,用引号将字符括起来,不要用双引号

注意2:单引号内只能有一个字符,不可以是字符串

  • C和C++中字符型变量只占用1个字节。

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

  • A的ASCII是65,a是97,0是48。

int main() {
	
	char ch = 'a';
	cout << ch << endl;
	cout << sizeof(char) << endl;

	//ch = "abcde"; //错误,不可以用双引号
	//ch = 'abcde'; //错误,单引号内只能引用一个字符

    // 将字符转化为对应的ascll值
	cout << (int)ch << endl;  //查看字符a对应的ASCII码
	ch = 97; //可以直接用ASCII给字符型变量赋值
	cout << ch << endl;
    
	// 将int转化为对应的ASCII字符
	cout << (char)65 << endl;

	// 将数字转化为对应的ASCII值
	cout << 65 + '0' << endl;

	system("pause");

	return 0;
}

5、 转义字符:

作用:用于表示一些不能显示出来的ASCII字符。用  \ 来进行转义:

  • 转义字符可以使用 ” “双引号或' '单引号括起来
int main() {
	
	// \
	cout << "\\" << endl;
    // 在一个tab的距离之后输出Hello
	cout << "\tHello" << endl;
    //换行相当于打了一个endl
	cout << "\n" << endl;

	system("pause");

	return 0;
}

6、字符串类型:

1、C风格字符串char 变量名[] = "字符串值"

2、C++风格字符串 string 变量名 = "字符串值"  使用前必须导入#include<string>头文件

int main() {

    //C语言的字符串类型
	char str1[] = "hello world";
	cout << str1 << endl;
    
    //C++上的字符串类型
	string str = "hello world";
	cout << str << endl;
    
	system("pause");

	return 0;
}

7、布尔类型bool

作用:布尔数据类型代表真或假的值,bool类型只有两个值: 1个字节

  • true --- 真(本质是1)

  • false --- 假(本质是0)

int main() {

	bool flag = true;
	cout << flag << endl; // 1

	flag = false;
	cout << flag << endl; // 0

	cout << "size of bool = " << sizeof(bool) << endl; //1
	
	system("pause");

	return 0;
}

8、数据的输入:

关键字:cin

语法: cin >> 变量

除了字符串类型,其余类型的输入必须赋予初值才能使用cin,否则就会报错。

字符串输入:

  • 不能输入空格,输入空格表示输入结束

bool类型输入:

  • 输入数字时,只有输入0时才为0,其余数字全是1
  • 输入字符串,最终都会返回0
int main(){
	//字符串型输入
	string str;
	cout << "请输入字符串型变量:" << endl;
	cin >> str;
	cout << str << endl;

	//布尔类型输入
	bool flag = true;
	cout << "请输入布尔型变量:" << endl;
	cin >> flag;
	cout << flag << endl;

	system("pause");
	return EXIT_SUCCESS;
}

四、运算符:

我们主要介绍以下运算符:

运算符类型 作用
算术运算符 用于处理四则运算
赋值运算符 用于将表达式的值赋给变量
比较运算符 用于表达式的比较,并返回一个真值或假值
逻辑运算符 用于根据表达式的值返回真值或假值

1、算数运算符:

作用:用于处理四则运算

运算符 术语 示例 结果
+ 正号 +3 3
- 负号 -3 -3
+ 10 + 5 15
- 10 - 5 5
* 10 * 5 50
/ 10 / 5 2
% 取模(取余) 10 % 3 1
++ 前置递增 a=2; b=++a; a=3; b=3;
++ 后置递增 a=2; b=a++; a=3; b=2;
-- 前置递减 a=2; b=--a; a=1; b=1;
-- 后置递减 a=2; b=a--; a=1; b=2;

1、\是转义符号,/是除

2、无论是前置还是后置运算,a的值都会发生变化。

加减乘除:

int main()
{

	int a1 = 10;
	int b1 = 3;

	cout << a1 + b1 << endl;
	cout << a1 - b1 << endl;
	cout << a1 * b1 << endl;
	cout << a1 / b1 << endl;  //两个整数相除结果依然是整数

	int a2 = 10;
	int b2 = 20;
	cout << a2 / b2 << endl;

	int a3 = 10;
	int b3 = 0;
	//cout << a3 / b3 << endl; //报错,除数不可以为0


	//两个小数可以相除
	double d1 = 0.5;
	double d2 = 0.25;

	if (typeid(d1/d2) == typeid(double))
	{
		cout << "是浮点类型" << endl;
	}
	else if (typeid(d1 / d2) == typeid(int)) {
		cout << "是整数类型" << endl;
	}
	cout <<  d1 / d2 << endl; //还是浮点类型

	system("pause");
	return 0;
}

取模:

1、只有整数才能取模运算

2、取模运算同样不支持除数为0

//取模
int main() {

	int a1 = 10;
	int b1 = 3;

	cout << 10 % 3 << endl;

	int a2 = 10;
	int b2 = 20;

	cout << a2 % b2 << endl;

	int a3 = 10;
	int b3 = 0;

	//cout << a3 % b3 << endl; //取模运算时,除数也不能为0

	//两个小数不可以取模
	double d1 = 3.14;
	double d2 = 1.1;

	//cout << d1 % d2 << endl;

	system("pause");

	return 0;
}

2、赋值运算符:

作用:用于将表达式的值赋给变量

运算符 术语 示例 结果
= 赋值 a=2; b=3; a=2; b=3;
+= 加等于 a=0; a+=2; a=2;
-= 减等于 a=5; a-=3; a=2;
*= 乘等于 a=2; a*=2; a=4;
/= 除等于 a=4; a/=2; a=2;
%= 模等于 a=3; a%2; a=1;

3、比较运算符

作用:用于表达式的比较,并返回一个真值或假值。

返回值是真或假,即0或1。

运算符 术语 示例 结果
== 相等于 4 == 3 0
!= 不等于 4 != 3 1
< 小于 4 < 3 0
> 大于 4 > 3 1
<= 小于等于 4 <= 3 0
>= 大于等于 4 >= 1 1

4 逻辑运算符

作用:用于根据表达式的值返回真值或假值

在C++中除了0是假之外,所有的数都是真即1

运算符 术语 示例 结果
! !a 如果a为假,则!a为真; 如果a为真,则!a为假。
&& a && b 如果a和b都为真,则结果为真,否则为假。
|| a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
//逻辑运算符  --- 非
int main() {

	int a = 10;

	cout << !a << endl; // 0

	cout << !!a << endl; // 1

	system("pause");

	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_60414376/article/details/126819565
今日推荐