《C++远征之起航篇》学习笔记

《C++远征之起航篇》学习笔记

思维导图待添加

1. C++入门

语法角度:C是C++的子集
历史角度:C++是在C的基础上发展而来的,C是面向过程,C++是面向对象+面向过程

2. C++ IDE初体验
2.1 新建项目

开环环境IDE:VC2013
新建 >> 项目 >> Win32 控制台应用程序 >> 位置、名称设置>> 确定、下一步 >> 勾选空项目 >> 完成
图文链接

开环环境IDE:VC++6.0
字体设置:工具 >> 选项 >> 格式
路径设置:工具 >> 选项 >> 目录
在这里插入图片描述
第一个程序 Holle World

#include <iostream>
using namespace std;     //  使用命名空间
int main()
{
	cout << " hello world " << endl;  // 输出语句
	return 0;
}
2.2 报错解决
Linking... 
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 
Debug/test.exe : fatal error L

工程 >> 设置 >> 连接 >> 分类:调试 / windows 改为 console
在这里插入图片描述

3. C++ 语言新特性
3.1 新的数据类型

在这里插入图片描述
除了C语言的数据类型外,还提供了 bool 类型
bool 真值 True 假值 False

bool flag = 0;   // bool 类型
if(flag)
{
  // To do
}
else
{
  // To do
}
3.2 新的初始化方法

C语言只有一种初始化方法:赋值初始化

int x = 1024;   // 赋值初始化

C++中提供了两种初始化方法

int x = 1024 // 赋值初始化

int x (1024) // 直接初始化
3.3 随用随定义

C语言中所有变量必须定义在函数体最前面
C++所有变量随用随定义

4. C++ 输入输出方式

在这里插入图片描述
在这里插入图片描述
C++ 输入输出与 C 语言的流程是相同的,但是方式不同
scanf ==== cin
printf ==== cout

cout << x << endl;  // 1.不需要区分数据类型; 2. endl 与 C 语言中的 \n 等效
cout << "x + y =" << x + y <<endl;  // 字符串,表达式

cin >> x;
cin >> x >> y;  // 多个变量赋值

带来的便利:

  • 不用关注占位符,%d %c等
  • 不用关注数据类型
  • 不易出现问题

示例

#include <stdio.h>
#include <iostream>
using namespace std;
int main(void)
{
	int x = 0;    // 整型变量用于存储输入值
	cout << "请输入一个整数" << endl;
	cin >> x;
	cout << oct << x << endl;  // 输出8进制
	cout << hex << x << endl; // 输出16进制
    
	bool y = false;       // 随用随定义特性,bool值
	cout << "请输入一个布尔值" << endl;
	cin >> y;
	cout << boolalpha <<  y << endl; // 输出布尔值

	cout << "hello" << endl;
	return 0;

}
5. 命名空间

简言之:为程序划片取名字
命名空间关键字:namespace
在这里插入图片描述

#include <stdlib.h>
#include <iostream>
using namespace std;

namespace A
{
	int x = 1;
	void fun()
	{
		cout << "A" << endl;
	}
}
namespace B
{
	int x = 2;
	void fun()
	{
		cout << "B" <<endl;
	}
	void fun2()
	{
		cout << "FUN2" << endl;
	}
}
int main()
{
	cout << A::x << endl;
	B::fun();
	using namespace B;
	fun2();
}
5. 综合练习
// 知识点: bool 类型、命名空间、输入输出
// 题目要求:使用一个函数找出一个整型数组中的最大值和最小值

#include <stdlib.h>
#include <iostream>
using namespace std;
namespace CompA
{
	int getMaxorMin(int *arr,int count, bool isMax)
{
	int temp = arr[0];
	for (int i = 1; i < count; i++)
	{
		if (isMax)
		{
				if (temp < arr[i])
			{
				temp = arr[i];
			}
		}
		else
		{
				if (temp > arr[i])
			{
				temp = arr[i];
			}
		}
	}
	return temp;
}
}


int main()
{
	int arr1[4] = {3,5,7,9};
	bool isMax = false;
	cin >> isMax;
	cout << CompA::getMaxorMin(arr1,4,isMax) << endl;
	system("pause");
	return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

la_fe_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值