c++基础语法(一)

一、输入输出语法

1、使用方法

在C++中,cout用于输出内容到控制台,cin用于从控制台输入内容。

#include <iostream>

using namespace std;

int main()
{
    int num;
    cout<<"请输入一个数字:"<<endl;
    cin>>num;
    cout<<"您输入一个数字是:"<<num<<endl;

    string str;
    cout<<"请输入一段话:"<<endl;
    cin>>str;
    cout<<"您输入的话是:"<<str<<endl;

    return 0;
}

输出结果:

请输入一个数字:
25
您输入一个数字是:25
请输入一段话:
您好!
您输入的话是:您好!

2、和printf()/scanf()的区别

1)cout和cin是类型安全的,会在编译时检查数据类型是否匹配;而printf()和scanf()是不安全的,需要开发人员自行确保格式化字符串与传入参数的类型匹配。

2)cout和cin可以通过重载实现更灵活的输出和输入操作;printf()和scanf()则需要根据格式化字符串来匹配参数类型。

综上所述,cout和cin更适合C++编程风格,提供了类型安全和更灵活的输入输出操作;而printf()和scanf()则更适合传统的C语言编程风格,使用起来更为灵活但需要开发人员自行确保数据类型匹配。

二、流程控制语句

流程控制和C语言一样。

1、goto语句使用方法:

在C++中,同样不推荐使用goto语句,但如果你确实需要使用,可以按照以下方式进行:

  1. 标记位置: 在需要跳转的地方,使用标签(label)来标记位置。例如:
    start: // 代码
  2. 跳转到标记: 使用goto语句跳转到标记位置。例如:
    goto start;

需要注意的是,尽量避免在C++中使用goto语句,因为它会导致程序逻辑混乱、难以维护和调试。通常情况下,可以使用更结构化的控制语句(如ifwhilefor等)来替代goto语句。

代码示例:

#include <iostream>

using namespace std;

int main()
{
    cout<<"1"<<endl;
    goto FLAG;
    cout<<"2"<<endl;
    cout<<"3"<<endl;
    cout<<"4"<<endl;

    FLAG:
    cout<<"5"<<endl;
    return 0;
}

运行结果:

1
5

2、综合案例

《游戏说明》

1、系统生成一个1~100之间的随机数

2、用户输入一个数字,命名:num

3、比较两者的大小,输出三种结果。     您猜大啦     您猜小啦     您猜对啦

4、如果猜错了,可以一直猜,直到猜中为止

代码示例;

#include <iostream>
#include <stdio.h>
#include <random>
#include <chrono>

using namespace std;

int main()
{
    //使用随机设备生成种子(使用时间戳,保证每次运行程序生成的随机数都不同)
    // random_device rd;
    mt19937 gen(std::chrono::system_clock::now().time_since_epoch().count());
    // default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());

    //定义随机数分布范围
    uniform_int_distribution<int> dis(1,100);
    //生成随机数
    int random_num = dis(gen);
    
    //随机数判断
    while(1)
    {
        int num = 0;
        cout<<"请输入数字:"<<endl;
        cin>>num;
        if(num == random_num)
        {
            cout<<"输入数字等于随机数!"<<endl;
            break;
        }
        else if(num > random_num)
        {
            cout<<"输入数字大于随机数!请重试"<<endl;
        }
        else
        {
            cout<<"输入数字小于随机数!请重试"<<endl;
        }
    }
    
    return 0;
}

运行结果:

75
输入数字小于随机数!请重试
请输入数字:
85
输入数字小于随机数!请重试
请输入数字:
95
输入数字小于随机数!请重试
请输入数字:
100
输入数字大于随机数!请重试
请输入数字:
97
输入数字大于随机数!请重试
请输入数字:
96
输入数字等于随机数!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值