C++ 入门学习经验 11——字符串中:单引号和双引号别再混着用了 大家好啊这里是土豆的博客一个正在努力学习技术的大学生。上一篇我们聊了字符数组和string的区别那今天这篇我们继续聊字符串里一个特别容易写错的地方单引号和双引号。很多同学刚开始写 C 时经常分不清a和a。好了废话不多说咱们直接开始。1.字符和字符串先分清在 C 里字符通常用char保存比如char c a;这里的a表示一个字符。它可以是字母、数字字符也可以是符号char c1 A; char c2 7; char c3 #;字符串一般用string保存比如string s hello;这里的hello是一串字符里面有h、e、l、l、o。即使字符串里只有一个字符比如string s a;它依然是字符串。这个地方刚开始容易绕因为我们平时看文字时不会刻意区分“一个字符”和“一段字符串”。但写程序时C 会严格区分它们。先记一个简单规则a // 字符 a // 字符串2.单引号一般配合 char单引号一般用来表示字符。比如char ch x;这行代码表示定义一个字符变量ch里面保存字符x。很多同学刚开始会写成char ch a;这个写法通常会报错。因为a是字符串不能直接放进char变量里。正确写法是char ch a;我觉得可以这样理解char像一个很小的小盒子只能放一个字符。单引号里的内容刚好是一个字符所以能放进去。双引号里的内容属于字符串就算里面只有一个字母也已经换成另一种类型了。3.双引号一般配合 string双引号一般用来表示字符串。比如string s hello;如果只有一个字母也可以写成string s a;这没有问题因为一个字符也可以组成长度为 1 的字符串。初学阶段可以先养成一个习惯看到char右边优先写单引号看到string右边优先写双引号。比如char c A; string s A;输出的时候它们看起来都可能是A但变量类型不一样。不要只看输出结果还要看它到底是什么类型。4.a和a的区别很多同学最容易卡住的地方就是a和a。char c a; string s a;第一行里a是一个字符适合放进char。第二行里a是一个字符串适合放进string。5.常见错误写法这里整理几个很常见的错误大家写代码时可以对照看一下。第一种char c A;右边用了双引号表示字符串。正确写法是char c A;第二种char c AB;char只能保存一个字符AB已经有两个字符了。可以改成string s AB;第三种string s hello;字符串要用双引号string s hello;第四种if(ch a) { cout yes; }如果ch是char类型就应该和字符比较if(ch a) { cout yes; }这个错误特别常见。很多同学写判断时变量明明是char右边却随手写成了a。代码看起来只差一个引号但编译器会把它们当成不同类型。6.字符可以参与简单运算字符在 C 里还可以参与一些简单运算。比如char c a; c c 1; cout c;输出通常是b这是因为字符在计算机里有对应编号a后面就是b。这个特点后面处理大小写转换时很常用char ch c; ch ch - a A; cout ch;输出C如果是字符串里的字符也可以通过下标取出来再处理string s abc; s[0] s[0] - a A; cout s;输出Abc这里的s[0]是字符所以可以参与字符运算。7.写代码时先看类型我觉得字符和字符串这块最实用的方法就是先看变量类型。如果是char ch;那它一般和单引号配合ch a;如果是string s;那它一般和双引号配合s abc;判断时也一样。char ch a; if(ch a) { cout yes; }string s abc; if(s abc) { cout yes; }刚开始写代码时多做这一步检查能少很多奇怪的报错。总结今天这篇我们主要聊了字符和字符串的区别以及单引号和双引号的用法。对于刚开始学 C 的同学来说这个地方容易混很正常。因为a和a从视觉上看太像了但程序会把它们当成不同类型来处理。这篇先记住几个点char通常保存一个字符用单引号。string保存字符串用双引号。a是字符a是字符串。判断char变量时一般和a这种字符比较。判断string变量时一般和abc这种字符串比较。不用因为单双引号写错几次就怀疑自己。这个问题几乎每个刚开始学 C 的同学都会遇到多敲几遍代码慢慢就会顺手。希望这篇文章能帮你把字符和字符串分清楚也能减少一些因为引号写错导致的报错。那这篇就先到这里。如果觉得有帮助记得点赞、关注和收藏谢谢有什么问题欢迎在评论区留言我们一起交流。我们下篇见