2020-08-16

布尔类型

//bool类型只有两个值:true--真(1);false--假(0)
//bool类型只有一个字节

#include<iostream>
using namespace std;

int main() {
	bool flag = true;
	bool flag2 = false;
	cout << flag << endl << flag2 << endl;
	cout << sizeof(bool) << endl;

	system("pause");
	return 0;

}


数据的输入

//关键字:cin 语法:cin >> 变量

#include<iostream>
#include<string>
using namespace std;

int main() {
	//1,整型
	int a = 0;
		cout << "请给整数a赋值" << endl;
		cin >> a;
		cout << "a的数值为" << a << endl;

	//2,浮点型
		float f = 3.14f;
		cout << "给浮点型变量赋值" << endl;
		cin >> f;
		cout << "浮点型变量的数值为" << f << endl;

	//3,字符型
		char ch = 'A';
		cout << "字符型变量赋值" << endl;
		cin >> ch;
		cout << "字符型变量的数值为" << ch << endl;

	//4,字符串(申明头 #include<string>)
		string str = "hello";
		cout << "给字符串赋值" << endl;
		cin >> str;
		cout << "字符串包含" << str << endl;

	//5, 布尔数据类型(布尔非零值都代表真,赋值只能数字)
		bool flag = false;
		cout << "给布尔类型赋值" << endl;
		cin >> flag;
		cout << "布尔数值 =" << flag << endl;


	system("pause");
	return 0;
}

算数运算符

//运算符类型:算数运算符,赋值运算符,比较运算符,逻辑运算符
//算数运算符:+-*/,%(取余), ++,--


#include<iostream>
using namespace std;
int main() {
	int a = 10;
	int b = 3;
	cout << a + b << a - b << a * b << a / b << endl;
	//讲两个整数相除,其结果也是整数,将小数部分舍去
	// 10/20 得到结果 0,10/0 得到结果 报错,除数不可以为零
	double c = 0.5;
	double d = 0.25;
	double e = 0.22;
	cout << c / d << c * d << c / e << e / d;
	//两个小数相除,可以是整数,可以是小数;

	int a1 = 10;
	int a2 = 3;
	cout << a1 % a2 << endl;
	//取模运算本质就是求余数 : 10 % 3 = 1,10 % 20 = 10,10 % 0 报错
	//两个小数之间是不可以做取模运算

	int a3 = 10;
	int b3 = ++a3 * 10;
	cout << a3 << b3 << endl;
	
	int a4 = 10;
	int b4 = a4++ * 10;
	cout << a4 << b4 << endl;
	//前置/后置递增,前置/后置递减
    //前置递增 先让变量+1 然后进行表达式运算
    //后置递增 先进行表达式的运算 后让变量+1
    //可以对表达式进行拆成两句来进行理解
    //相似的原理来理解--前置/后置

	system("pause");
	return 0;
}

赋值运算符

//赋值运算:=,+=,-=,/=,*=,%=

#include<iostream>
using namespace std;
int main() {
	//=
	int a = 10;
	a = 100;
	cout << "a =" << a << endl;

	//+=
	a = 10;
	a += 2;    // a = a + 2;
	cout << "a =" << a << endl; 

	//-=
	a = 10;
	a -= 2;    // a = a / 2;
	cout << "a =" << a << endl;

	//  /=
	a = 10;
	a /= 2;    // a = a / 2;
	cout << "a =" << a << endl;

	//  *=
	a = 10;
	a *= 2;    // a = a * 2;
	cout << "a =" << a << endl;

	// &=
	a = 10;
	a %= 2;    // a = a % 2;
	cout << "a =" << a << endl;


	system("pause");
	return 0;
}

比较运算符

//用于表达式的比较,返回一个真值或假值 
//==相等于,!=不等于,<小于 ,>大于,<=小于等于,>=大于等于

#include<iostream>
using namespace std;

int main() {
	// ==
	int a = 10;
	int b = 20;
	cout << (a == b) << endl;//括号优先级

	// !=
	cout << (a != b) << endl;

	// <
	cout << (a < b) << endl;

	// >=
	cout << (a >= b) << endl;


	system("pause");
	return 0;
}

逻辑运算符

//用于根据表达式返回真值还是假值
// ! 非,&&与,||或


#include<iostream>
using namespace std;
int main() {
	// !
	int a = 10;           //在C++中只要不是零都是真
	cout << !a << endl;
	cout << !!a << endl;

	// && 同真为真,其余为假
	 a = 10;
	int b = 20;
	int c = 0;
	cout << (a && b) << endl;
	cout << (a && c) << endl;

	// || 同假为假,其余为真
	a = 10;
	b = 20;
	c = 0;
	cout << (a || b) << endl;
	cout << (a || c) << endl;
	system("pause");
	return 0;
}

程序流程结构:1,选择结构 if语句

//if语句三种形式:单行格式if语句,多行XXXX,多条件XXXXX
//单行格式 : if(条件){执行语句}
//多行格式:  if(条件){执行}else{执行}
// 多条件:    if (条件1) {执行}else if(条件2){执行}...else{执行}
//嵌套式if语句: 在if执行中对具体范围内进行二次划分,并且可以输出两份具体结果
#include<iostream>
using namespace std;
int main() {
	/*
	
	//实例,如果分数大于350,视为考上一本,在屏幕上输出
	//1,用户输入分数
	int score = 0;
	cout << "请输入您的分数" << endl;
	cin >> score;

	//2,打印用户输入的分数
	cout << "您输入的分数是" << score << endl;
	
	//3,判断分数是否大于350,如果大于,则输出结果
	if (score > 350) {
		cout << "恭喜您考上一本" << endl;

	}//4,分数未达到350,也输出结果
	else {
		cout << "很遗憾未考上一本" << endl;
	}
	*/

	/*
	// 多条件情况:如果分数大于350,输出考上一本,如果分数大于300.输出考上二本
	//如果考生250,输出考上三本,如果没有250,输出未考上本科
	//复制上述代码进行改编

	//1,用户输入分数
	int score = 0;
	cout << "请输入您的分数" << endl;
	cin >> score;

	//2,打印用户输入的分数
	cout << "您输入的分数是" << score << endl;

	//3,判断分数是否大于350,如果大于,则输出结果
	if (score > 350) {
		cout << "恭喜您考上一本" << endl;
	}
	//4,分数大于300,也输出结果
	else if(score > 300){
		cout << "恭喜您考上二本" << endl;
	}
	//5,分数大于250,也输出结果
	else if (score > 250) {
		cout << "恭喜您考上三本" << endl;
	}
	//6,分数未达到250,也输出结果
	else {
		cout << "未能考上本科" << endl;
	}
	*/
 
	//上述示例补充条件:如果在一本线以上,420分以上可以被清华录取
	//390以上可以被南大录取,370以上可以被苏大录取,其余只能被普通一本录取

	int score = 0;
	cout << "请输入您的高考分数" << endl;
	cin >> score;
    cout << "您的高考分数为" << score << endl;
	if (score > 350) {
		cout << "恭喜您考上一本" << endl;
		if (score > 420) {
			cout << "你被清华录取" << endl;
		}
		else if (score > 390) {
			cout << "你被南大录取" << endl;
		}
		else {
			cout << "你被普通本一学校录取" << endl;
		}

	}
	else if (score > 300) {
		cout << "恭喜您考上二本" << endl;
	}
	else if (score > 250) {
		cout << "恭喜您考上三本" << endl;
	}
	else {
		cout << "很遗憾您未考上本科" << endl;
	} 
	system("pause");
	return 0;
}

程序流程结构:1,选择结构 案例

//三只小猪称体重,输入三只小猪体重,根据两两比较的方法最终获得最终的小猪是那一只

#include<iostream>
using namespace std;
int main() {
	//创建三个变量
	int a = 0;
	int b = 0;
	int c = 0;
	//输入三只小猪的体重数字
	cout << "输入A小猪的体重" << endl;
	cin >> a;
	cout << "输入B小猪的体重" << endl;
	cin >> b;
	cout << "输入C小猪的体重" << endl;
	cin >> c;
	cout << "A小猪的体重是" << a << endl;
	cout << "B小猪的体重是" << b << endl;
	cout << "C小猪的体重是" << c << endl;
	//三只小猪的体重进行排序
	if (a > b) { //A比B重
		if (a > c) {
			cout << "小猪A体重是最重的" << endl;
		}
		else {
			cout << "小猪C体重是最重的" << endl;
		}
		}
	else{B比A重
		if (b > c) {
			cout << "小猪B体重是最重的" << endl;
		}
		else {
			cout << "小猪C体重是最重的" << endl;
		}
	}

	system(" pasue");
	return 0;
}

三目运算符

//三目运算符号,比较两数的大小
//语法: 表达式1 ? 表达式2 :表达式3;
//1真执行2,1假执行3
#include<iostream>
using namespace std;
int main() {

	//3个变量abc,把大的数值赋给c
	int a = 10;
	int b = 20;
	int c = 0;
	c = (a > b ? a : b);
		cout << "c =" << c << endl;
	//三目运算符返回值是变量,可以继续赋值
	(a > b ? a : b) = 100;
	cout << "a=" << a << endl;
	cout << "b= " << b<< endl;

}

程序流程结构:1,选择结构 Switch语句

//switch语句:执行多条件语句
//基本的语法: switch(){  case 结果1: 执行;break; case 结果2: 执行;break;
//case 结果3: 执行;break;...... default:执行;break; }
//swtich表达式类型只能是整数或者字符型,不能表示区间,但是结构清晰执行效率高
//case必须要加break;

#include<iostream>
using namespace std;
int main() {
	//对电影进行打分评价 : 8-10 好,5-7不错, 5以下烂片

	int score = 0;
	cout << "您对电影的评分" << endl;
	cin >> score;
	switch (score) {
	case 10: {
		cout << "好" << endl;
		break;
	}
	case 9: {
		cout << "好" << endl;
		break;
	}

	case 8: {
		cout << "好" << endl;
		break;
	}
	case 7: {
		cout << "不错" << endl;
		break;
	}
	case 6: {
		cout << "不错" << endl;
		break;
	}
	case 5: {
		cout << "不错" << endl;
		break;
	}
		default: {
			cout << "烂片" << endl;
	}
	}

	system("pause");
	return 0;
}

程序流程结构:2,循环结构 while语句

//while循环语句 
//语法while(循环条件){},只要循环条件结果为 真 ,就执行循环语句
//在写循环时避免死循环


#include<iostream>
#include<ctime>
using namespace std;
int main() {

	/*
	//输出0-9数字
	int num = 0;
	while (num < 10) {
		cout << num << endl;
		num++;
	}
	*/

	//猜数字游戏
	//1,系统随机生成一个数字
	//添加一个随机数种子,利用系统时间来生成随机数,防止每次随机数一样
	srand((unsigned int)time(NULL));//系统需要添加系统时间头文件

	int num = rand() % 100 + 1;// 随机生成一个1到100的数字
	cout << num << endl;
	int val = 0;
	
	while (1) { //判断为真,所以不停的循环
		cin >> val;
		if (val > num) {
			cout << "数字过大" << endl;
		}
		else if (val < num) {
			cout << "数字过小" << endl;
		}
		else {
			cout << "你猜对了" << endl;
			break;
		//用break来退出循环
		}
	}

	system("pause");
	return 0;
}

程序流程结构:2,循环结构 do while语句

//dowhile语句,先执行一次,再判断是否需要继续循环
//语法:do{}while();,与while的区别在于dowhile会先执行一次循环语句

#include<iostream>
using namespace std;
int main() {
	/*
	int num = 0;//输出0到9
	do {
		cout << num << endl;
		num++;
	} while (num < 10);

	while(num) {
		cout << num << endl;
		num++;
	}
	//不会执行因为num为0,所以判断为假,不会进行循环
	*/

	//水仙花数,三位数个位十位百位,三个数字的三次幂和是三位数本身
	//先列出100-999所有数字,求取数字的个位,十位,百位

	int num = 100;
	do {
		//cout << num << endl;
		
		int a = 0;
		int b = 0;
		int c = 0;
		a = num % 10;
		b = num / 10 % 10;
		c = num / 100;
		if (a*a*a + b * b*b + c * c*c == num) {
			cout << num << endl;
		}
		num++;
	} while (num < 1000);

	system("pause");
	return 0;

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值