欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++:入门学习

程序员文章站 2022-07-09 23:54:04
...
#include "head.h"

/// 定义常量,不可修改
#define Day 7
const int DAy = 7;

int main2101() {
	/*
		* 1、cout :std库中的一个类对象,std::cout实现调用
		* 2、cin >> :获取键盘输入的数据
		* 3、cout << :打印内容
		* 4、endl :实现换行输出并截止输出
	*/
	int i2101;
	cin >> i2101;
	cout << i2101 << endl;

	cout << "hello!" << endl;
	//cout << strlen("abc\\\123\0a") << std::endl;
	//cout << sizeof("abc\\\123\0a") << "\n";
	// 在读取的最后还有一个\0的结束字符

	//  浮点数定义
	float a = 3.2f;
	float a1 = 3e2;
	double a2 = 3e-2;
	cout << a << "_" << a2 << endl;

	//  字符串定义
	//	1、c风格:字符数组
	char b[] = "123";
    //	2、c++风格:字符串
	string b1 = "123";

	//	布尔类型比较
	if ((213>0) > (21<12))
	{
		//	true:1, false : 0;
	}

	//	取模运算不可以是小数,被取模数不可为0
	double c = 3.3, c2 = 3.4, c3 = 0;
	//cout << c % c2 << c % c3 << endl;

	//前置递增与后置递增
	//入栈操作,先加后赋值与先赋值再加,顺序执行,一个执行语句,5个子执行语句
	int i = 1;
	cout << ++i << i++ << i << i++ << ++i << endl;

	//函数传递,实参传递给形参
	//函数执行的时候编译系统才会给参数分配内存,而当函数执行完毕后分配的内存就会被释放
	//调用函数,将实参压入堆栈,然后跳转到函数的地址执行,执行完后跳回去时,堆栈弹出,内存释放
	int a2101 = add2((int)123);
	cout << "函数定义" << a2101 << endl;

	return 0;
}

关于前置+和后置+:

对于整形数据,在进行数据操作的时候,它是以入栈和出栈的方式进行的,以代码中的对于 i++ 和  ++i 为例,入栈(1)~ (5),出栈(6):

(1)、++i:先运算再赋值,对于第一个,则是 1+1 为 2,但此时不为 2,因为先入栈,就要最后出栈,结果以最后面的数为主,i 保持不动;

(2)、i++:先赋值再运算,对于第二个,则是先 i 赋值为 2,输出也为 2,再进行 2+1 为 3,进行保存下来;

(3)、i:保持不动,不做任何运算,结果暂存;

(4)、i++:先赋值再运算,此时 i 赋值为 3,输出为 3,同时进行 3+1 为 4,也进行保存下来;

(5)、++i:先运算再赋值,此时 4+1为 5,入栈完毕;

(6)进行出栈操作,i 赋值为 5,(5)输出为 5,(4)输出为 3,(3)输出为 5,

                                (2)输出为 2,(1)输出为 5;