网站不兼容360浏览器,用脚手架如何搭建项目做网站,宝安建设工程交易中心,学编程可以建设网站吗在线练习#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/
总结
本文是C系列博客#xff0c;主要讲述字符类型char
字符类型char
在C编程语言中#xff0c;char是一种基本的数据类型#xff0c;它用于存储单个字符。字符可以是字母、数字、标点符号或者…
在线练习 http://noi.openjudge.cn/ https://www.luogu.com.cn/
总结
本文是C系列博客主要讲述字符类型char
字符类型char
在C编程语言中char是一种基本的数据类型它用于存储单个字符。字符可以是字母、数字、标点符号或者是转义字符等。char类型通常占用一个字节byte的内存空间。 一个字节表示八位二进制数8位无符号的二进制数可以表示为00000000-11111111,即0-255。 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2进位规则是“逢二进一”借位规则是“借一当二”。 二进制转十进制要从右到左用二进制的每个数去乘以2的相应次方 二进制的111111111271*26125……1*201286432168421255 所以一个字节表示无符号整数可以表示十进制的0-255共256个数最大值为255。 基础知识
声明声明一个char类型的变量你可以这样做char myChar A;在这里myChar是一个char类型的变量并且它被赋予了字符A。字符表示字符值需要用单引号’ 包围比如a、1、#。ASCII值每个char类型的字符都对应一个ASCII码值。例如字符A的ASCII码值是65。
案例字符转换
下面是一个简单的案例它演示了如何将小写字母转换为大写字母。这个程序会提示用户输入一个小写字母然后程序将其转换为大写字母并显示结果。
#include iostream
using namespace std;
int main() {char lowercase, uppercase;cout 请输入一个小写字母: ;cin lowercase;// 将小写字母转换为ASCII码值然后减去32得到大写字母的ASCII码值uppercase lowercase - 32;cout 大写字母是: uppercase endl;return 0;
}输出为
练习案例字符判断
现在你可以尝试一个练习案例。编写一个程序让用户输入一个字符然后判断它是大写字母、小写字母还是数字。 提示
大写字母的ASCII码范围是65到90。小写字母的ASCII码范围是97到122。数字字符的ASCII码范围是48到57。 你可以在下面的代码框架中填充代码
#include iostream
using namespace std;int main() {char inputChar;cout 请输入一个字符: ;cin inputChar;// 判断输入的字符类型if ((inputChar A) (inputChar Z)) {cout 你输入的是一个大写字母。 endl;} else if ((inputChar a) (inputChar z)) {cout 你输入的是一个小写字母。 endl;} else if ((inputChar 0) (inputChar 9)) {cout 你输入的是一个数字。 endl;} else {cout 你输入的字符不是字母也不是数字。 endl;}return 0;
}输出为
案例 输出字符的ASCII值
#include iostream
using namespace std;int main() {char myChar A; // 声明一个char类型的变量并初始化为A// 打印字符cout 字符: myChar endl;// 打印字符的ASCII码值cout ASCII码值: int(myChar) endl;return 0;
}
输出为
案例加密和解密简化版
下面是一个基本的例子它演示了如何对单个字符进行加密和解密
#include iostream
using namespace std;
int main() {char plainChar;int shift;cout 请输入一个要加密的字符: ;cin plainChar; // 输入一个字符cout 请输入加密的偏移量 (1-25): ;cin shift;// 加密字符char encryptedChar plainChar shift;cout 加密后的字符: encryptedChar endl;// 解密字符char decryptedChar encryptedChar - shift;cout 解密后的字符: decryptedChar endl;return 0;
}输出为
在这个程序中我们首先提示用户输入一个要加密的字符和一个整数偏移量范围是1-25。然后我们通过将字符的ASCII码值加上偏移量来得到加密后的字符并打印出来。接着我们通过从加密后的字符的ASCII码值中减去相同的偏移量来得到解密后的字符并打印出来。 请注意这个程序只能处理一个字符并且没有考虑加密过程中可能出现的边界情况例如字符是大写字母、小写字母还是其他特殊字符。在实际应用中加密通常会使用更复杂的算法和安全的密钥。
案例 加密和解密函数
下面是一个基于char和ASCII的简单加密案例。这个程序会将用户输入的文本进行加密然后将加密后的文本输出。加密过程将使用一个简单的算法例如对每个字符的ASCII码值进行加法操作。
#include iostream
#include string
using namespace std;
string encrypt(string text, int shift) {string encryptedText ;for (int i 0; i text.length(); i) {// 对每个字符的ASCII码值进行加法操作char encryptedChar text[i] shift;// 将加密后的字符添加到加密文本中encryptedText encryptedChar;}return encryptedText;
}
string decrypt(string encryptedText, int shift) {string decryptedText ;for (int i 0; i encryptedText.length(); i) {// 对每个字符的ASCII码值进行减法操作以解密char decryptedChar encryptedText[i] - shift;// 将解密后的字符添加到解密文本中decryptedText decryptedChar;}return decryptedText;
}
int main() {string text;int shift;cout 请输入要加密的文本: ;getline(cin, text); // 使用getline来允许输入空格cout 请输入加密的偏移量: ;cin shift;string encryptedText encrypt(text, shift);cout 加密后的文本: encryptedText endl;string decryptedText decrypt(encryptedText, shift);cout 解密后的文本: decryptedText endl;return 0;
}输出为
在这个程序中我们定义了两个函数encrypt和decrypt来分别处理加密和解密操作。加密函数通过将每个字符的ASCII码值加上一个偏移量来实现加密而解密函数则通过从加密后的ASCII码值中减去相同的偏移量来实现解密。 在main函数中我们首先提示用户输入要加密的文本和一个整数偏移量。然后我们调用encrypt函数来加密文本并打印出加密后的结果。接着我们调用decrypt函数来解密文本并打印出解密后的结果。 请注意这个加密算法非常简单并不适合真正的安全加密需求。在实际应用中加密通常会使用更复杂的算法和安全的密钥。