C++:基本知识

4-1 c++的新特性(与c语言比较)

一、数据类型:
在这里插入图片描述
在这里插入图片描述
二、初始化方法:
在这里插入图片描述
三、随用随定义:
在这里插入图片描述
在这里插入图片描述


4-2 c++的输入输出方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


4-3 c++新特性以及输入输出演示

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

//要求:提示用户输入一个整数,将整数分别以8进制、10进制、16进制打印在屏幕上
//要求:提示用户输入一个布尔值(0或1),以布尔方式将值打印在屏幕上

int main()
{
	cout<<"请输入一个整数:"<<endl;
	int x = 0;
	cin>>x;
	cout<<oct<<x<<endl;
	cout<<dec<<x<<endl;
	cout<<hex<<x<<endl;

	cout<<"请输入一个布尔值(0/1):"<<endl;
	bool y = false;
	cin>>y;
	cout<<boolalpha<<y<<endl;

	system("pause");

}

按F5执行


4-4 c++命名空间(namespace)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
命名空间的名字是不可以重复的

演示:

#include<iostream>
using namespace std;

std是iostream库中的命名空间,里面包含cin cout endl 等;
如果只#include<iostream>而不using namespace std 则会报错;

同名变量下的引用:

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

namespace A
{
	int x = 0;
	void fun()
	{
		cout<<"A"<<endl;
	}
}

namespace B
{
	int x = 1;
	void fun()
	{
		cout<<"B"<<endl;
	}
}

int main()
{
	cout<<A::x<<endl;
	B::fun();
	system("pause");
}

如果B中有个函数A中没有,比如B有fun2,main函数调用的时候还是得加B::fun2(),如果不加B::则会报错;

另外一种解决办法:
在main函数前

using namespace B;
int main()
{
......
}

这样默认命名空间是B的,调用跟A重名的函数也不用加:

	cout<<A::x<<endl;
	fun();
	fun2();

也可以不加using namespace std;而在每个cin cout endl前加std::


4-5 章节练习

定义一个命名空间为myNum,在该命名空间中定义一个整型变量x,并给该变量赋值为105;使用C++新特性判断myNum命名空间下的变量是奇数还是偶数。

#include <iostream>
#include <stdlib.h>
using namespace std;
namespace myNum            //填写命名空间的关键字
{
    int x = 105;
}
int main()
{
    // 使用bool类型定义isOdd,作为状态位
    bool isFlag = false;       
	
	if(myNum::x % 2 == 0)
	{
		//改变状态位的值,使其为false
        isFlag = false; 
	}
	else
	{
	    //改变状态位的值,使其为true
       isFlag = true; 
	}
    // 判断状态位的值
	if(isFlag)
	{
		// 如果状态位的值为true,则打印变量x是奇数
        cout<<"变量x是奇数"<<endl;
	}
	else
	{
        // 如果状态位的值为false,则打印变量x是偶数
		cout<<"变量x是偶数"<<endl;
	}
	return 0;
}

输出结果:

变量x是奇数

4-6 综合练习

使用一个函数找出一个整型数组中的最大值或最小值

#include<iostream>
#include<stdlib.h>
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 n=5;
	int array[5];
	for(int i=0;i<n;i++)
	{
		cin>>array[i];
	}
	cout<<CompA::getMaxorMin(array,n,0)<<endl;
	system("pause");
	return 0;
}
发布了30 篇原创文章 · 获赞 36 · 访问量 677

猜你喜欢

转载自blog.csdn.net/qq_42745340/article/details/104448369