#include
#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;
//取模运算的本质就是求余数
cout << a1 % b1 << endl;
cout << 10 % 20 << endl;//10
//10%0 报错,两数相除除数不为0,所以也做不了取模运算
//10/0会报错,除数不为0
double d1 = 0.5;
double d2 = 0.25;
double d3 = 0.22;
cout << d1 / d2 << endl;
cout << d1 / d3 << endl;
//cout << d1 % d2 << endl;//小数不能进行%运算
return 0;
}
#include
#include
using namespace std;
int main()
{
//前置递增
int a = 10;
++a;//让a加一
cout << "a:" << a << endl;
//后置递增
int b = 10;
b++;
cout << "b:" << b << endl;
//前置和后置区别
//前置递增:先让变量+1,然后进行表达式计算
//后置递增:先进行表达式计算,然后让变量+1
int a2 = 10;
int b2 = ++a2 * 10;
cout << "b2" << b2 << endl;//110
int a3 = 10;
int b3 = a3++ * 10;
cout << "b3:" << b3 << endl;//100
return 0;
}
三目运算符练习代码:
#include
#include
using namespace std;
int main()
{
int a = 10;
int b = 20;
//如果a>b成立,则输出a,否则输出b
int c = a > b ? a : b;
cout << c << endl;//20
int d = a < b ? a : b;
cout << d << endl;//10
//三目运算符返回一个变量
return 0;
}
#include
using namespace std;
int main()
{
int a = 10;
int b = 0;
cout << !a << endl;//0
cout << (a && b) << endl;//0
cout << (a || b) << endl;//1
return 0;
}
C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构
作用:执行满足条件的语句
if语句的三种形式:
练习代码如下:
#include
using namespace std;
int main()
{
//单行格式if语句
//用户输入一个分数,分数》600,考上一本大学
int score = 0;
cout << "请输入分数:" << endl;
cin >> score;
cout << "您输入的分数为:" << score << endl;
if (score > 600)
{
cout << "恭喜考上一本大学" << endl;
}
return 0;
}
#include
using namespace std;
int main()
{
//多行格式if语句
//用户输入一个分数,分数》600,考上一本大学
int score = 0;
cout << "请输入分数:" << endl;
cin >> score;
cout << "您输入的分数为:" << score << endl;
if (score > 600)
{
cout << "恭喜考上一本大学" << endl;
}
else
{
cout << "很遗憾,您没有达到一本分数线" << endl;
}
return 0;
}
#include
using namespace std;
int main()
{
//多条件的if语句
//输入一个分数,如果>600,视为考上一本
//如果>500,视为考上二本
//如果>400,视为考上三本
//如果<=400,视为没有考上大学
int score = 0;
cout << "请输入您的分数" << endl;
cin >> score;
cout << "您输入的分数为:" << score << endl;
if (score > 600)
{
cout << "恭喜考上一本大学" << endl;
}
else if (score > 500)
{
cout << "恭喜考上二本大学" << endl;
}
else if (score > 400)
{
cout << "恭喜考上三本大学" << endl;
}
else
{
cout << "很遗憾您没有考上大学!" << endl;
}
return 0;
}
#include
using namespace std;
int main()
{
int score = 0;
cout << "请输入您的分数" << endl;
cin >> score;
cout << "您输入的分数为:" << score << endl;
if (score > 600)
{
cout << "恭喜考上一本大学" << endl;
if (score > 700)
{
cout << "恭喜考入北京大学" << endl;
}
else if (score > 650)
{
cout << "恭喜考入清华大学" << endl;
}
else
{
cout << "恭喜考入人民大学" << endl;
}
}
else if (score > 500)
{
cout << "恭喜考上二本大学" << endl;
}
else if (score > 400)
{
cout << "恭喜考上三本大学" << endl;
}
else
{
cout << "很遗憾您没有考上大学!" << endl;
}
return 0;
}
有三只小猪ABC,请分别输入三只小猪的体重,并且判断哪只小猪最重?
代码如下:
#include
using namespace std;
int main()
{
//三只小猪称体重
//创建三只猪的体重变量
int num1 = 0;
int num2 = 0;
int num3 = 0;
//输入三只猪的重量
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;
//判断哪只最重?
if (num1 > num2)//A比B重
{
if (num1 > num3)//A比C重
{
cout << "小猪A最重" << endl;
}
else//C比A重
{
cout << "小猪C最重" << endl;
}
}
else//B比A重
{
if (num1 > num3)//A比C重
{
cout << "小猪B最重" << endl;
}
else//C比A重
{
cout << "小猪C最重" << endl;
}
}
return 0;
}
作用:执行多条件分支语句
练习代码如下:
#include
using namespace std;
int main()
{
//给一个电影进行评分
//10 9 经典
// 7 8 非常好
//6 5 一般
//5分以下 烂片
int score = 0;
cout << "请输入你电影的评分:" << endl;
cin >> score;
cout << "你打的分数为:" << score << endl;
switch (score)//依据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结构非常清晰,执行效率高
//通常情况下,switch执行效率比if高一些
return 0;
}
作用:满足循环条件,执行循环语句
练习代码如下:
#include
using namespace std;
int main()
{
//while循环,在写循环的时候一定要避免死循环
//在屏幕中打印0-9十个数字
int num = 0;
while (num < 10)
{
cout << num << endl;
num++;
}
return 0;
}
案例练习:系统随机生成一个1-100之间的数字,玩家进行猜测,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并退出游戏
案例流程图如下:
#include
#include
using namespace std;
int main()
{
//添加随机数种子,保证每次随机数不同
srand((unsigned int)time(NULL));
//rand()%100 生成一个0-99的随机数
int num = rand() % 100 + 1;
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;
}
}
return 0;
}
练习代码如下:
#include
using namespace std;
int main()
{
//给屏幕打印0-9
int num = 0;
do
{
cout << num << endl;
num++;
} while (num < 10);
return 0;
}
案例:水仙花数
水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身,利用do…while语句,求出所有3位数中的水仙花数
案例代码如下:
#include
using namespace std;
int main()
{
//将所有的三位数输出100-999
//在所有的三位数中找到水仙花数
int num = 100;
do
{
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);
return 0;
}
作用:满足循环条件,执行条件语句
练习代码如下:
#include
using namespace std;
int main()
{
//打印0-9
int i = 0;
for (i; i < 10; i++)
{
cout << i << endl;
}
for (int i = 0; i < 10; i++)
{
cout << i << endl;
}
return 0;
}
练习案例:从1-100,如果数字个位含有7,或者数字十位含有7,或者数字是7的倍数,我们打印敲桌子,其余数字直接打印输出
案例代码如下:
#include
using namespace std;
int main()
{
for (int i = 1; i <= 100; i++)
{
if (i % 10 == 7 || i / 10 % 10 == 7 || i % 7 == 0)
{
cout << "敲桌子" << endl;
}
else
{
cout << i << endl;
}
}
return 0;
}
作用:在循环中再嵌套一层循环,通常用来解决一些实际性问题
练习代码如下:
#include
using namespace std;
int main()
{
//在屏幕上打印一个8*8的星号矩阵
for (int i = 0; i < 8; i++)
{
for (int j = 0; j < 8; j++)
{
cout << "*" << " ";
}
cout << endl;
}
return 0;
}
案例:乘法口诀表
案例代码如下:
#include
using namespace std;
int main()
{
//打印九九乘法表
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
cout << j << "*" << i << "=" << i * j << " ";
}
cout << endl;
}
return 0;
}
练习代码如下:
#include
using namespace std;
int main()
{
//出现在switch语句中
cout << "请选择副本难度" << endl;
cout << "1、普通" << endl;
cout << "2、中等" << endl;
cout << "3、困难" << endl;
int select = 0;
cin >> select;
switch (select)
{
case 1:
cout << "选择了普通难度" << endl;
break;
case 2:
cout << "选择了中等难度" << endl;
break;
case 3:
cout << "选择了困难难度" << endl;
break;
default:
break;//这个break用来退出switch语句
}
//出现在循环语句中
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break;//此时break可以退出该循环
}
cout << i << endl;
}
//出现在嵌套循环中
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 5)
{
break;//退出内层循环(根据就近原则)
}
cout << "*" << " ";
}
cout << endl;
}
return 0;
}
作用:在循环语句中,跳过本次循环中余下的尚未执行的语句,执行下一次循环
练习代码如下:
#include
using namespace std;
int main()
{
for (int i = 0; i <= 100; i++)
{
//如果是奇数输出,偶数不输出
if (i % 2 == 0)
{
continue;//遇到continue,该次循环中该条语句以后的语句不执行,重新进行新一轮循环
}
cout << i << endl;
}
return 0;
}
作用:可以无条件跳转语句
练习代码如下:
#include
using namespace std;
int main()
{
cout << "1" << endl;
cout << "2" << endl;
cout << "3" << endl;
cout << "4" << endl;
cout << "5" << endl;
cout << "6" << endl;
//goto语句
cout << "1" << endl;
cout << "2" << endl;
goto FLAG;
cout << "3" << endl;
cout << "4" << endl;
cout << "5" << endl;
FLAG:
cout << "6" << endl;
return 0;
}