C++入门基础学习小实例Chapeter02

一、以下整理了几个基础知识的小案例
1、输入输出练习

int main()
{
	double attack1 = 272;
	double attack2 = 250;
    double attack3 = 240;
    
    cout << left;
    cout << setfill('_');
    cout << setw(8) << attack1 <<
       		setw(8) << attack2 <<
    		setw(8) << attack3 << endl;
}

输出结果:272_____250_____240_____

PS:小结
1)cout << left; 这段代码代表着后面的输出代码都是左对齐
2)setfill(’_’); 这段代码代表空白的字符由‘下划线’填充

2、运算符与表达式
运算符:赋值运算符、算术运算符、关系运算符、逻辑运算符
表达式:符号与操作数的组合

//--------------运算符练习1--------------
	int num1 = -5, num2 = 2;
	cout << num1 / num2 << endl;
	cout << num1 % num2 << endl;

求商(/)
正负根据正正得正,正负得负,负负得正的原则
经常用于:
1、去掉某个数字的个位 1234 % 10 = 4
求余数(取模)(%)
正负跟随第一个参数的符号进行变化
经常用于:
1、取某个数字的个位 1234 % 10 = 4
2、取零数 45天是一个月零几天 45 & 30 = 15

//--------------运算符练习2--------------
int num1 = -5, num2 = 2;
num1 = (num2++) - (--num2);
cout << num1 << '\t' << num2 << endl;

输出结果:0 2

3、类型转换
自动类型转换:把表示范围小的类型的值转换到表示范围大的类型的值(short->int->long->float->double)

int num1 = 5, num2 = 2;
double result = num1 / num2;
cout << "num1 / num2 = " << result << endl;

输出结果:2

强制类型转换:语法:(类型名)变量或数值

int num1 = 5, num2 = 2;
double result = (double)num1 / num2;
cout << "num1 / num2 = " << result << endl;

输出结果:2.5

4、赋值运算符

扫描二维码关注公众号,回复: 16810736 查看本文章
int num = 1024;
num += 90;
num -= 90;
num *= 90;
num /= 90;
num %= 90;
cout << num << endl;

5、sizeof运算符
结果以字节为单位,可以获得数据类型占用空间内存的大小

cout << sizeof(string) << endl;//28
cout << sizeof(bool) << endl;//1

示例:

int num = 5;
cout << sizeof(num++) << endl;
cout << num << endl;

输出结果是:4 5
原因:sizeof() 只对其括号内的数据进行判断占用空间,里面的所有的对值的操作都不会执行

6、条件判断练习
使用程序判断用户输入的字符是否是合法的硬盘盘符
默认值设置为空字符(默认的空字符为ASCII表为0)

char pan = '\0';	
cout << "请输入一个字符,我来判断是否合法:";
cin >> pan;
//'A' ~ 'Z'  65~65+26
if (pan >= 'A' && pan <= 'Z')
{
	cout << "是合法盘符!" << endl;
}
else
{
	cout << "不是合法盘符!" << endl;
}

7、循环练习(while)
使用循环计算1-100的累加和

int num = 1;
int all = 0;
while (num <= 100)
{
	all += num;
	num++;
}
cout << all << endl;

8、函数练习(逻辑、面向对象)
//1、例题一:
//π = 16acrtan(1/5) - 4arctan(1/239);
//arctanx = x - x * x * x / 3 + x * x * x * x * x / 5 - …
//直到级数某项绝对值不大于10的-15次方为止,π和x均为double类型(循环停止条件)
//用公式的方式计算π的值

	int main()
	{
		double a = 16.0 * arctan(1 / 5.0);
		double b = 4.0 * arctan(1 / 239.0);
		//注意:因为整数相除结果取整,如果参数写1/5,1/239,结果就都是0
		cout << "PI = " << a - b << endl;
		//运行结果:PI = 3.14159
		cout << "a = " << a << endl;
	}

	double arctan(double x) {
		//起始的被减数的倍数(x的平方)
		double sqr = x * x;
		//当前输入的x的值(用于计算级数绝对值限制)
		double e = x;
		//(用于确定符号)
		double r = 0;
		//当前arctanx被减数的被除数(有数值+2的变化并且符号变化)
		int i = 1;
		//判断当前值
		while (e / i > 1e-15)
		{
			double f = e / i;
			r = (i % 4 == 1) ? r + f : r - f;
			e = e * sqr;
			i += 2;
		}
		return r;
	}

猜你喜欢

转载自blog.csdn.net/qq_43036676/article/details/99861995
今日推荐