续前节C++学习记录1
#include
using namespace std;
int main() {
// 加减乘除
int a1 = 10;
int b1 = 3;
cout << a1 + b1 << endl;
cout << a1 - b1 << endl;
cout << a1 * b1 << endl;
cout << a1 / b1 << endl; // 两个整数相除 结果依然是整数,将小数部分去除
int a2 = 10;
int b2 = 20;
cout << a2 / b2 << endl;
int a3 = 10;
int b3 = 0;
//cout << a3 / b3 << endl; //错误!两个数相除,除数不可以为0
//两个小数可以相除
double d1 = 0.5;
double d2 = 0.25;
cout << d1 / d2 << endl;//运算的结果也可以是小数
system("pause");
return 0;
}
#include
using namespace std;
int main() {
int a1 = 10;
int b1 = 3;
cout << a1 % b1 << endl;
int a2 = 10;
int b2 = 20;
cout << a2 % b2 << endl;
int a3 = 10;
int b3 = 0;
// 两个数相除 除数不可以为0 所以也做不了取模运算
//cout << a3 % b3 << endl; // 错误
// 两个小数是不可以做取模运算的
double d1 = 3.14;
double d2 = 1.1;
//cout << d1 % d2 << endl; 错误
system("pause");
return 0;
}
运算符 | 术语 | 示例 | 结果 |
---|---|---|---|
++ | 前置递增 | a2 = 10;b2 = ++a2 * 10; | a2 = 11;b2 = 110 |
++ | 后置递增 | a2 = 10;b2 = a2++ * 10; | a2 = 11;b2 = 100 |
#include
using namespace std;
int main() {
//一、递增
//1、前置递增
int a = 10;
++a; //让变量+1
cout << "a = " << a << endl;
//2、后置递增
int b = 10;
b++; //让变量+1
cout << "b = " << b << endl;
//3、前置和后置的区别
// 前置递增 先让变量+1 然后进行表达式运算
int a2 = 10;
int b2 = ++a2 * 10;
cout << "a2 = " << a2 << endl;
cout << "b2 = " << b2 << endl;
// 后置递增 先进行表达式运算,后让变量+1
int a3 = 10;
int b3 = a3++ * 10;
cout << "a3 = " << a3 << endl;
cout << "b3 = " << b3 << endl;
//二、递减
//1、前置递减
int c = 10;
--c; //让变量-1
cout << "a = " << a << endl;
//2、后置递减
int d = 10;
d--; //让变量-1
cout << "d = " << d << endl;
//3、前置和后置的区别
// 前置递减 先让变量-1 然后进行表达式运算
int c2 = 10;
int d2 = --c2 * 10;
cout << "c2 = " << c2 << endl;
cout << "d2 = " << d2 << endl;
// 后置递减 先进行表达式运算,后让变量-1
int c3 = 10;
int d3 = c3-- * 10;
cout << "c3 = " << c3 << endl;
cout << "d3 = " << d3 << endl;
system("pause");
return 0;
}
#include
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
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;
// >=
cout << (a >= b) << endl;
// <=
cout << (a <= b) << endl;
system("pause");
return 0;
}
#include
using namespace std;
int main() {
//逻辑运算符 非 !
int a = 10;
// 在C++中除了0 都为真
cout << !a << endl;
cout << !!a << endl;
system("pause");
return 0;
}
#include
using namespace std;
int main() {
//一、逻辑运算符 非 !
int a = 10;
// 在C++中除了0 都为真
cout << !a << endl;
cout << !!a << endl;
//二、逻辑运算符 与 &&
int b = 10;
cout << "逻辑运算符“与”输出:" << endl;
cout << (a && b) << endl;
a = 0;
b = 10;
cout << (a && b) << endl;
a = 0;
b = 0;
cout << (a && b) << endl;
// 同真为真,其余为假
system("pause");
return 0;
}
#include
using namespace std;
int main() {
int a = 10;
int b = 10;
cout << (a || b) << endl;
a = 0;
b = 10;
cout << (a || b) << endl;
a = 0;
b = 0;
cout << (a || b) << endl;
//逻辑或: 同假为假,其余为真
system("pause");
return 0;
}
C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构
作用:执行满足条件的语句
if语句的三种形式
#include
using namespace std;
int main() {
// 选择结构 单行if语句
// 用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出
//1、用户输入分数
int score = 0;
cout << "请输入一个分数: " << endl;
cin >> score;
//2、打印用户输入的分数
cout << "您输入的分数为:" << score << endl;
//3、判断分数是否大于600,如果大于,那么输出
//注意事项:if条件后面不要加分号
if (score > 600)
{
cout << "恭喜您考上了一本大学" << endl;
}
system("pause");
return 0;
}
#include
using namespace std;
int main() {
// 选择结构-多行if语句
// 用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出,
// 如果未考上一本大学,打印未考上一本大学
//1、输入考试分数
int score = 0;
cout << "请输入一个考试分数: " << endl;
cin >> score;
//2、提示用户输入的分数
cout << "您输入的分数为:" << score << endl;
//3、判断 如果分数大于600,打印考试一本,否则打印未考上一本
//注意事项:if条件后面不要加分号
if (score > 600)// 大于600分执行下面大括号中的内容
{
cout << "恭喜您考上了一本大学!" << endl;
}
else//不大于600分,执行else后大括号里面的内容
{
cout << "未考上一本大学" << endl;
}
system("pause");
return 0;
}
#include
using namespace std;
int main() {
// 选择结构-多条件if语句
// 用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出
// 大于500分,视为考上二本大学,屏幕输出
// 大于400分,视为考上三本大学,屏幕输出
// 小于等于400分,视为未考上本科,屏幕上输出
//1、输入考试分数
int score = 0;
cout << "请输入一个考试分数: " << endl;
cin >> score;
//2、提示用户输入的分数
cout << "您输入的分数为:" << score << endl;
//3、判断
// 如果大于600,考上一本
// 如果大于500,考上二本
// 如果大于400,考上三本
// 前三个都没有满足,未考上本科
if (score > 600)
{
cout << "恭喜您考上了一本大学!" << endl;
}
else if(score >500) //第二个判断
{
cout << "恭喜您考上了二本大学!" << endl;
}
else if (score > 400) //第二个判断
{
cout << "恭喜您考上了三本大学!" << endl;
}
else
{
cout << "未考上本科大学,请再接再厉" << endl;
}
system("pause");
return 0;
}
案例需求:
#include
using namespace std;
int main() {
/*
- 提示用户输入-个高考考试分数,根据分数做如下判断;
- 分数如果大于600分视为考上一本,大于500分考上二本,大于400考上三本,其余视为未考上本科;
- 在一本分数中,如果大于700分,考入北大,大于650分,考入清华,大于600考入人大。
*/
// 1、提示输入高考分数
int score = 0;
cout << "请输入一个高考分数" << endl;
cin >> score;
// 2、显示高考分数
cout << "您输入的高考分数为; " << score << endl;
// 3、判断
// 如果大于600, 一本
// 大于700 北大
// 大于650 清华
// 其余 人大
// 如果大于500, 二本
// 如果大于400, 三本
// 其余情况, 未考上本科
if (score > 600)
{
cout << "恭喜您考上了一本!" << endl;
if (score > 700)
{
cout << "您能考入北京大学" << endl;
}
if (score > 650)
{
cout << "您能考入清华大学" << endl;
}
else
{
cout << "您能考入人民大学" << endl;
}
}
else if (score > 500)
{
cout << "恭喜您考上了二本!" << endl;
}
else if (score > 400)
{
cout << "恭喜您考上了三本!" << endl;
}
else
{
cout << "很遗憾,您没有考上本科,请再接再厉。" << endl;
}
system("pause");
return 0;
}
有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?
#include
using namespace std;
int main() {
// 三只小猪称体重,判断哪只最重
//1、创建三只小猪的体重变量
int num1 = 0;
int num2 = 0;
int num3 = 0;
//2、让用户输入三只小猪的重量
cout << "请输入小猪A的体重:" << endl;
cin >> num1;
cout << "请输入小猪B的体重:" << endl;
cin >> num2;
cout << "请输入小猪C的体重:" << endl;
cin >> num3;
cout << "小猪A的体重为:" << num1 << endl;
cout << "小猪B的体重为:" << num2 << endl;
cout << "小猪C的体重为:" << num3 << endl;
//3、判断哪只最重
// 先判断A和B重量
if (num1 > num2) //A比B重
{
if (num1 > num3) //A比C重
{
cout << "小猪A最重" << endl;
}
else //C比A重
{
cout << "小猪C最重" << endl;
}
}
else //B比A重
{
if (num2 > num3) //B比C重
{
cout << "小猪B最重" << endl;
}
else //C比B重
{
cout << "小猪C最重" << endl;
}
}
system("pause");
return 0;
}
作用: 通过三目运算符实现简单的判断
语法: 表达式1? 表达式2:表达式3
解释:
#include
using namespace std;
int main() {
//三目运算符
//创建三个变量a b c
//将a和b做比较,将变量大的值赋值给变量c
int a = 10;
int b = 20;
int c = 0;
c = (a > b ? a : b);
cout << "c = " << c << endl;
//在C++中三目运算符返回的是变量,可以继续赋值
(a < b ? a : b) = 100;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
#include
using namespace std;
int main() {
//switch语句
//给电影打分
// 10-9分 经典
// 8-7分 非常好
// 6-5分 一般
// 5分以下 烂片
//1、提示用户给电影评分
cout << "请给电影进行打分" << endl;
//2、用户开始进行打分
int score = 0;
cin >> score;
cout << "您打的分数为:" << score << endl;
// 3、根据用户输入的分数来提示用户最后的结果
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;
break;
}
//if 和 switch区别?
//switch 缺点,判断时候只能是整型或者字符型,不可以是一个区间
//switch 优点,结构清晰,执行效率高
system("pause");
return 0;
}
**作用:**满足循环条件,执行循环语句
**语法:**while (循环条件) { 循环语句 }
解释:== 只要循环条件为真,就执行循环语句 ==
#include
using namespace std;
int main() {
//while循环
//在屏幕中打印0-9 这10个数字
int num = 0;
//while()中填入循环条件
//注意事项:在写循环一定要避免死循环的出现
while (num < 10)
{
cout << num << endl;
num++;
}
system("pause");
return 0;
}
案例描述:系统随机生成一个1到100的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并退出游戏。
#include
using namespace std;
//time系统头文件包含
#include
int main() {
// 添加随机数种子
//1、系统生成随机数种子 作用:利用当前系统时间生成随机数,防止每次随机数都一样
srand((unsigned int)time(NULL)); //需要写一个头文件
int num = rand() % 100 + 1; //rand()%100 + 1 生成 0+1 ~99+1 的随机数
//cout << num << endl;
//2、玩家进行猜测
int val = 0; //玩家输入数据
while (1)
{
cin >> val;
//3、判断玩家的猜测
//猜错 提示猜的结果 过大或者过小 重新返回第2步
if (val > num)
{
cout << "猜测过大" << endl;
}
else if (val < num)
{
cout << "猜测过小" << endl;
}
else
{
cout << "恭喜您猜对了" << endl;
//猜对 退出游戏
break;// break,可以利用关键字来退出当前循环
}
}
system("pause");
return 0;
}
#include
using namespace std;
int main() {
//do...while语句
//在屏幕中输入0到9这10个数
int num = 0;
do
{
cout << num << endl;
num++;
}
while (num < 10);
//do...while和while循环区别在于:do...while先执行一次循环结构,再判断循环条件
system("pause");
return 0;
}
#include
using namespace std;
#include
int main() {
//1、先打印所有三位数字
int num = 100;
do
{
//2、从所有三位数中知道水仙花数
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;
}
#include
using namespace std;
#include
int main() {
//for循环
//从数字0 打印到 数字9
for (int i = 0; i<10; i++)
{
cout << i << endl;
}//可以看成是下面代码的简化版
//15行到25行可以看做是上面四行代码的具体解释
/*int i = 0;
for (; ; )
{
if (i >= 10)
{
break;
}
cout << i << endl;
i++;
}*/
system("pause");
return 0;
}
案例描述:从1开始数到数字100,如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,
我们打印敲桌子,其余数字直接打印输出。
#include
using namespace std;
#include
int main() {
//敲桌子案例
//1、先输出1~100数字
for (int i = 1; i <= 100; i++)
{
//2、从100个数字中找到特殊数字,打印“敲桌子”
//如果是7的倍数、个位有7、或者十位是7,打印敲桌子
if (i % 7 == 0 || i % 10 == 7 || i / 10 == 7)//如果是特殊数字,打印敲桌子
{
cout << "敲桌子" << endl;
}
else //如果不是特殊数字,才打印数字
{
cout << i << endl;
}
}
system("pause");
return 0;
}
#include
using namespace std;
#include
int main() {
//利用嵌套循环实现星图
for (int i = 0; i < 10; i++)//外层循环
{
// 内层循环
//打印一行星图
for (int j = 0; j < 10; j++)
{
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}
#include
using namespace std;
#include
int main() {
//乘法口诀表
//打印行数
for (int i = 1; i <= 9; i++)
{
//cout << i << endl;
for (int j = 1; j <= i; j++)
{
cout << j << "*" << i << "=" << j*i << " ";
}
cout << endl;
}
system("pause");
return 0;
}
作用:用于跳出选择结构或者循环结构
break使用的时机:
#include
using namespace std;
#include
int main() {
//break的使用时机
//1、出现在switch语句中
//cout << "请选择副本难度" << endl;
//cout << "1、普通" << endl;
//cout << "2、中等" << endl;
//cout << "3、困难" << endl;
//int select = 0; //创建选择结果的变量
//cin >> select;
//switch (select)
//{
//case 1:
// cout << "您选择的是普通难度" << endl;
// break;//退出switch语句
//case 2:
// cout << "您选择的是中等难度" << endl;
// break;
//case 3:
// cout << "您选择的是困难难度" << endl;
// break;
//default:
// break;
//}
//2、出现在循环语句中
//for (int i = 0; i < 10; i++)
//{
// //如果i等于5,退出循环,不再打印
// if (i == 5)
// {
// break;//退出循环
// }
// cout << i << endl;
//}
//3、出现在嵌套循环语句中
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 5)
{
break; //退出内层循环
}
cout << "* ";
}
cout << endl;
}
system("pause");
return 0;
}
作用:在循环语句中,跳过本次循环中余下未执行的语句,继续执行下依稀循环
#include
using namespace std;
#include
int main() {
//continue语句
for (int i = 0; i <= 100; i++)
{
//如果是奇数输出,偶数不输出
if (i % 2 == 0) //0 2 4 6...
{
continue; //可以筛选条件,执行到此就不再向下执行,执行下次循环
//break会退出循环,而continue不会
}
cout << i << endl;
}
system("pause");
return 0;
}
作用:可以无条件跳转语句
语法:goto标记;
解释:如果标记的名称存在,执行到goto语句时,会跳转到标记的位置
#include
using namespace std;
#include
int main() {
//goto语句
cout << "1、xxxx" << endl;
cout << "2、xxxx" << endl;
goto FLAG;
cout << "3、xxxx" << endl;
cout << "4、xxxx" << endl;
FLAG:
cout << "5、xxxx" << endl;
system("pause");
return 0;
}
时隔一个月终于把C++学习2写完了,中间帮老师写东西是真的难,尤其还有毕业一堆事,回到家里学习状态也不是很好。