#include <iostream>
using namespace std;
#include <string>
int main()
{
//数据输入 从键盘得到输入
int a=0;
cout<<"请给a赋值"<<endl;
cin >> a;// cin >> 变量名
cout<<"a的值是"<<a<<endl;
//加减乘除
int a1 = 10;
int b1 = 3;
cout<<a1 + b1<<endl;
cout<<a1 - b1<<endl;
cout<<a1 * b1<<endl;
cout<<a1 / b1<<endl;//两个整数做除法,结果还是整数,小数部分去除
// 例如 5/10=0.5 但是输出为0
double d1=3.14;
double d2=0.5;
//cout<<d1%d2<<endl;//小数之间不能做取模运算
//前/后置 递增/减
int num1=10;
int sum1=++num1 + 10;//前置递增 先加1成新数据,然后进行下面的运算
cout<<sum1<<endl;
int num2=10;
int sum2=num2++ + 10;//后置递增 先进行下面的运算,然后再加1
cout<<sum2<<endl;
a+=2// a = a+2
a-=2// a = a-2
a*=2// a = a*2
a/=2// a = a/2
a%=2// a = a%2
// if语句
int score = 0;
cout<<"输入分数"<<endl;
cin>>score;
cout<<"您的分数为"<<score<<endl;
if(score>=600)
{
cout<<"恭喜"<<endl;
}
// if-else语句
int score=0;
cout<<"输入分数"<<endl;
cin>>score;
cout<<"分数为"<<score<<endl;
if(score>=600)
{
cout<<"恭喜"<<endl;
}
else
{
cout<<"不恭喜"<<endl;
}
// 多条件if
int score=0;
cout<<"输入分数"<<endl;
cin>>score;
cout<<"分数为"<<score<<endl;
if(score>=600)
{
cout<<"恭喜"<<endl;
}
elseif(score>=500)
{
cout<<"半恭喜"<<endl;
}
elseif(score3 <= 400 && score3 > 100)
{
cout<<"半半恭喜"<<endl;
}
else
{
cout<<"不恭喜"<<endl;
}
// 嵌套if
int score3 = 0;
cout << "输入分数" << endl;
cin >> score3;
cout << "分数为" << score3 << endl;
if (score3 >= 600)
{
cout << "恭喜" << endl;
if(score >= 650)
{cout<<"完美"<<endl;}
else if(score >=630)
{cout<<"半完美"<<endl;}
else
{cout << "一般完美" << endl;}
}
else if(score3 >= 500)
{
cout << "半恭喜" << endl;
}
else if(score3 <= 400 && score3 > 100)
{
cout << "半半恭喜" << endl;
}
else
{
cout << "不恭喜" << endl;
}
// 案例 称体重
int weight1=10;
cout<<"输入1号体重"<<endl;
cin>>weight1;
int weight2=10;
cout<<"输入1号体重"<<endl;
cin>>weight2;
int weight3=10;
cout<<"输入1号体重"<<endl;
cin>>weight3;
if(weight1>weight2 )
{
if(weight1>weight3)
{
cout<<"最重的是1号为"<<weight1<<endl;
}
else
{
cout<<"最重的是3号为"<<weight3<<endl;
}
}
else if( weight2>weight1)
{
if( weight2>weight3)
{
cout<<"最重的是2号为"<<weight2<<endl;
}
else
{
cout<<"最重的是3号为"<<weight3<<endl;
}
}
else
{
cout<<"最重的是3号为"<<weight3<<endl;
}
//三目运算符 A?B:C 满足条件A 就返回B,否则返回C
int num1=10;
int num2=20;
int ans=0;
ans=(num1>num2?num1:num2);
cout<<ans<<endl;
//三目运算之后的变量可以再赋值
(num1>num2?num1:num2)=0;
cout<<"num1"<<num1<<endl;
cout<<"num2"<<num2<<endl;
// switch 语句
/* switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;
case 结果3:执行语句;break;
default :执行语句;break;
}*/
cout << "请输入分数" << endl;
int score = 0;
cin >> score;
cout << "您的评分为" << score << endl;
switch (score)
{
case 10:
cout << "您觉得完美" << endl;
break;
case 9:
cout << "您觉得很好" << endl;
break;
case 8:
cout << "您觉得还行" << endl;
break;
default:
cout << "您觉得不好" << endl;
break;
}
// if 和 switch 的区别是if可以表示出区间,switch只能判断整型、字符型
// while循环
int num =0;
while(num<10)
{
cout<<num<<endl;
num++;
}
do...while语句
int num = 0;
do
{
cout << num << endl;
num++;
}
while (num<10 );*/
案例 水仙花数
int num = 100;
do
{
int ans = 0;//个位
int ans1 = 0;//十位
int ans2 = 0;//百位
ans = num % 10;//个位
ans1 = num/10 % 10;//十位
ans2 = num/100;//百位
if (ans*ans*ans+ ans1* ans1* ans1+ ans2* ans2* ans2 == num )
{
cout << num << endl;
}
num++;
}
while (num < 1000);
//for循环 for(起始表达式 ; 条件表达式 ; 末尾循环)
for (int a = 0; a < 10; a++)
{
cout << a << endl;
}
//敲桌子
for (int a = 1; a < 100; a++)
{
if (a % 7 == 0 || a % 10 == 7 || a / 10 == 7)// 7的倍数、个位是7、十位是7
{
cout << "敲桌子" << endl;
}
else
{
cout << a << endl;
}
}
//嵌套循环
//外层循环
for (int a = 0; a < 10; a++)
{
//内层循环
for (int i = 0; i < 10; i++)
{
// cout << "* " << endl;/后面带有endl,则循环一次另起一行 成列
cout << "* ";后面没有endl,则循环的结果都在一行 成行
}
cout << endl;
}
//案例 乘法口诀表
for (int h = 1; h <10; h++)//行
{
//cout << h << endl;
for (int l = 1 ;l <= h; l++)//列
{
cout << l<<"*"<<h<<"="<<l*h<<"\t";
}
cout << endl;
}
// break使用
//1.switch
cout << "请选择" << endl;
cout << "1" << endl;
cout << "2" << endl;
cout << "3" << endl;
int a = 0;
cin >> a;
cout<<"选择是:" <<a<< endl;
switch (a)
{
case 1: cout << "1" << endl; break;//最后的break 运行完即可跳出
case 2: cout << "2" << endl; break;
case 3: cout << "3" << endl; break;
default:cout << "无" << endl; break;
}
//2.在 for中
//3.在 嵌套循环中,在内循环加break,只能跳出内循环,会继续执行外循环指令
// continue语句
for (int a = 0; a < 100;a++)
{//只输出奇数
if (a % 2 == 0) {
continue; //contionue只会停止执行下面的指令,会进入下一次循环,不会跳出
//break; // break直接跳出
}
cout << a << endl;
}
// goto 语句
cout << "111111" << endl;
cout << "222222" << endl;
goto A;/// goto 标记: 是分号
cout << "333333" << endl;
cout << "444444" << endl;
A://goto的跳转标记: 是冒号
cout << "555555" << endl;
//数组
//一维数组
//一维数组 1、顺序是 0 1 2 3 4... , 第一个是零号元素 2、每个元素都是相同的数据类型
//方式一:数据类型 数据名[长度]
int arr[5];//先定义长度
arr[0] = 1;//在定义内容
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
arr[4] = 5;
//方式二:数据类型 数据名[长度]={元素,元素,。。。}
int arr2[5] = { 1,2,3};//没填写完直接 补零
cout<<arr2[4] << endl;//长度 和 顺序 不一样
for (int i = 0; i <= 4; i++)
{
cout << arr2[i] <<endl;
}
//方式三:数据类型 数据名[]={元素,元素,。。。}
int arr3[] = { 1,2,3 };// 没填写数据长度,会直接识别长度
for (int i = 0; i <= 2; i++)
{
cout << arr3[i];
cout << "数组的元素个数" << sizeof(arr) / sizeof(arr[0]) << endl;// 数组的元素个数
cout << "数组的首地址" << (int)arr << endl;
cout << "数组第一元素的地址" << (int)&arr[0] << endl;//首地址 = 第一元素的地址
cout << "数组第二元素的地址" << (int)&arr[1] << endl;// 前后差 4 个字节
}
//数组名是常量,不可赋值
system ("pause");
return 0;
}
C++学习路程 22/3/4 AM 9:11
于 2022-03-04 10:02:48 首次发布