C++day01

从C到C++

1.1 基本程序框架

C++来源于C,其基本程序框架相同:头文件+main函数,有时会自定义函数在main函数中调用

#include <iostream> 
using namespace std; //命名空间 
int main() { 
    //写自己的代码 
    return 0; 
}

注:任何 C语言的关键字和头文件函数都可在C++中使用

定义变量的方法和C 语言一模一样

1.2 C++的输入输出

C++的输入cin和输出cout定义在头文件iostream中,注意必须导入命名空间(using namespace std;)

#include <iostream> 
using namespace std;
int main() { 
    int a, b; 
    cin >> a >> b; //输入 
    cout << a + b << endl; //输出,endl表示换行 
    return 0; 
}

注:C++ 的输入输出不需要指定数据类型,但很难对输入输出做格式控制

例如计算三位整数的和,用scanf很容易直接取到各位数字

#include <iostream> 
using namespace std; 
int main() { 
    int a, b, c; 
    scanf("%1d%1d%1d", &a, &b, &c); 
    cout << a + b + c << endl; 
    return 0; 
}

这是一个小技巧,有时候很有用。PTA跨年赛最后一题就是

Tips

真正在做题编程时,往往是两种输入输出方式混用的

scanf指定输入的格式,printf指定输出的格式

其实这些C语言都学习过,再此提醒下这个小技巧,应用到真正的编程中

1.3 布尔类型(不重要)

布尔类型bool是C++的新变量,它只有true和false两个值,由比较运算得到,用于条件判断

#include <iostream> 
using namespace std; 
int main() { 
    bool flag = 7 > 6; //7确实大于6,flag被赋值true 
    if(flag) { 
        cout << "true" << endl; 
    }
    else { 
        cout << "false" << endl; 
    }
    return 0; 
}

C++的字符串string

1、字符串的输入和输出

需导入头文件<string>,在C++11版本后不需导入

C++字符串的输入只能使用cin或getline,getline能够输入带空格的字符串

#include <iostream> 
#include <string> //头文件 
using namespace std; 
int main() { 
    string str; 
    getline(cin, str); //输入带空格的字符串 
    cout << str << endl; 
    return 0; 
}

且C++的字符串可以直接相加进行拼接,但不能减法

#include <iostream> 
#include <string> //头文件 
using namespace std; 
int main() { 
    string s1 = "hello"; 
    string s2 = "world"; 
    string s = s1 + s2; //直接相加拼接 
    cout << s << endl; 
    return 0; 
}

2、常用函数

  • str.size(),获取字符串长度

  • str[i],获取索引i位置的字符

  • str.substr(a,len),从str字符串中索引a截取长度为len的字符串

  • str.find(t),判断t是否在str中存在(返回的整数在[0,str.size()-1]时表示存在)

3、字符(串)和数字间转换

字符转为对应的数字,直接char-'0'即可。每个字符对应一个ASCII的值

字符串转为数据

  • stoi,转为int

  • stol,转为long

  • stof,转为float

  • stod,转为double

数据转为字符串

  • to_string,整数和小数均可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张张张鱼小丸子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值