【每天学一点】C++基础03

  明天早上8点就要出差,而且似乎说晚上可能回不来……这好烦啊,一天又要浪费掉了,昨天晚上看了些面经,发现我真的差了好多。然后看了点leetcode,似乎说很有用啊。等过几天去好好看下,还有一星期要考6级,到现在都没过,感觉好难。看了点阅读今天。


string
当把string对象和字符字面值混在一条语句中时,必须确保每个运算符的两侧至少有个是string

string s1="hello";
string s2=s1+"world"; //正确,把一个string与一个字面值相加
string s3="hello"+"world"+s1  //错误,字面值不能直接相加

处理单字符

//cctype头文件
isalnum(c)  //当c是字母或数字时为真
isalpha(c)  //当c是字母时为真
iscntrl(c)  //当c是控制字符时为真
isdigit(c)  //当c是数字时为真
isgraph(c)  //当c不是空格但可以打印时为真
islower(c)  //当c是小写字母时为真
isprint(c)  //当c是可打印字符时为真(c是空格或c具有可视形式)
ispunct(c)  //当c是标点符号时为真
isspace(c)  //当c是空白时为真(空格,横向制表,纵向制表,回车,换行,进纸)
isupper(c)  //当c是大写字母时为真
isxdigit(c)  //当c是十六进制数字时为真
tolower(c)  //当c是大写字母输出对应小写字母,否则原样输出
toupper(c)  //当c是小写字母输出对应大写字母,否则原样输出 

//编程测试了一下
#include<iostream>
#include<cctype>
using namespace std;
void main(){
    char s[4] = { 'A', 'B', 'b', 'A'};
    char s1[4] = { 0 };
    for (int i = 0; i < 4; i++){
        s1[i] = tolower(s[i]);
        cout << s1[i] << endl;
    }
    getchar();

}

输出结果为:
a
b
b
a

可以实现的样子。

范围for:for(定义一个变量,访问序列中基础元素 : 表示一个序列)
decltype :返回操作数的数据类型

//输出标点个数
    string s = "hi,i am reimu!!";
    int count = 0;
    for (auto a:s) //变量a会迭代访问s的每个元素,每次迭代后a会被初始化为s的下一个元素
    if (ispunct(a))
        ++count;
    cout << count << endl;
    getchar();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值