C++学习路程 22/3/4 AM 9:11

#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;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值