2021-08-02

c++学习记录

一、字符串的应用


```cpp
#include <iostream>
#include <string>           //标准库
using std::string;          //string定义在命名空间std中
int main()
{
        char s1[] = "4s5s";   //c风格定义
        string s2 = s1;       //c++风格定义
        std::cout << s2<< std::endl;
}

二、布尔类型
#include <iostream>
int main()
{
        bool flag = true;
        std::cout << flag << std::endl;   //1
        flag = false;
        std::cout << flag << std::endl;   //0
        std::cout << sizeof(flag) << std::endl;   //占一个字节大小
        
}
三、三只小猪称体重
#include <iostream>
int main()
{
        int a, b, c = 0;
        int d = 0;
        std::cout << "请输入小猪a的体重 "<< std::endl;
        std::cin >> a;
        std::cout << "请输入小猪b的体重 " << std::endl;
        std::cin >> b;
        std::cout << "请输入小猪c的体重 " << std::endl;
        std::cin >> c;
        if (a > b)
        {
               if (a > c) {
                       d = a;
               }
               else
               {
                       d = c;
               }
        }
        else if (b > c) {
               d = b;
        }
        else
        {
               d = c;
        }
        std::cout << d << std::endl;
        return 0;
}
四、猜数字
#include <iostream>
int main() {
        int num = rand()%100+1;
        //std::cout << num << std::endl;
        int val = 0;
        while (1) {     //代表死循环
               std::cin >> val;
               if (val > num)
               {
                       std::cout << "大了" << std::endl;
               }
               else if (val < num) {
                       std::cout << "小了" << std::endl;
               }
               else {
                       std::cout << "猜对了" << std::endl;
                               break;    //用来跳出当前循环(while)
               }
        }
}
五、do-whiled循环
/*水仙花数是指一个3位数,他的每个位上的数字的3次幂之和等于它本身
例如:1^3+5^3+3^3=153
请利用do...while语句,求出所有3位数中的水仙花数*/
#include <iostream>
int main()
{
        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)
               {
                       std::cout<<num<<std::endl;
               }
               num++;
        } while (num<160);
}
六、for循环
/*敲桌子
从1数到100,如果数字个位含7,或者十位含7,或者该数字是7的倍数,则打印敲桌子,其余数字直接打印*/
#include <iostream>
int main()
{
        int i = 0;
        for (i = 1; i <= 100; i++) {
               if (i /10 == 7 || i % 10 == 7 || i % 7 == 0) {
                       std::cout << "敲桌子" << std::endl;
                       
               }
               else {
                       std::cout << i << std::endl;
               }
        }
        return 0;
}
七、for循环嵌套(待解决)
#include<iostream>
using namespace std;
int main() {
        for (int i = 1; i <= 9; i++) {
               for (int j = 1; j <= i; j++) {
                       std::cout << i<< "*" << j << "=" << i * j <<"\t"<< std::endl;
                       //std::cout << " " << std::endl;
               }
               cout <<"\n"<< endl;
        }
        return 0;
}
八、break
/*break的使用时机:
1、出现在switch语句中
2、出现在循环语句中
3、出现在嵌套循环语句中
1*/
#include <iostream>
int main()
{
        std::cout << "请选择游戏难度" << std::endl;
        std::cout << "1.普通" << std::endl;
        std::cout << "2.中等" << std::endl;
        std::cout << "3.困难" << std::endl;
        int select = 0;
        std::cin >> select;//等待用户输入
        switch (select)
        {
        case 1:
               std::cout << "您选择的是普通难度" << std::endl;
               break;
        case 2:
               std::cout << "您选择的是中等难度" << std::endl;
               break;
        case 3:
               std::cout << "您选择的是困难难度" << std::endl;
               break;
        default:
               break;
        }
        //2.出现在循环语句中
        int i = 0;
        for (i = 0; i <= 10; i++)
        {
               if (i = 5) {    //当i等于5时跳出循环
                       break;
                       std::cout << i << std::endl;
               }
        }
        int m, n ,p= 0;
        for (m = 0; m < 10; m++) {
               for (n = 0; n < 10; n++) {
                       if (p == 5)
                       {
                              break;   //退出内层循环
                       }
                       std::cout << "*" << std::endl;
               }
               std::cout << " " << std::endl;
        }
}

九、continue
#include <iostream>
int main()
{
        //continue语句
        for (int i = 0; i <= 100; i++)
        {
               if (i % 2 == 0)
               {
                       continue;//可以用来筛选条件,执行到此就不在向下执行,执行下一次循环
               }
               std::cout << i << std::endl;
        }
        system("pause");
}

十、goto语句
/*goto无条件跳转语句
 如果标记的名称存在,执行到goto语句时,会跳转到标记的位置*/
#include <iostream>
int main() {
        int flag = 1;
        std::cout << "1" << std::endl;
        goto flag;
        std::cout << "2" << std::endl;
        std::cout << "3" << std::endl;
        std::cout << "4" << std::endl;
        flag;
        std::cout << "5" << std::endl;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值