C语言 字符基本说明 对于计算机来说本身并不存在字符(char)这种东西,计算机存储的只是一个个的值,但是单纯的值对于我们来说并不适合表达阅读信息,所以人为的将值和字母符号等联系起来,常见的比如ASCII...ASCII码将0~127的值对应为英语环境下的字母符号等,见下图: http://www.asciima.com/ 字符基本声明与使用可以看下图,注意单个字符用单引号''包围: 根据上面说明和演示可以知道单个的...s4[6] = {'1', '2', '\0', '4', '5', '\0'}; //这里中间出现了'\0',所以当字符串使用时表示"12" char s5[] = {'a','b','c','d'...string对象的加入使操作字符串变得方便许多,可以直接进行赋值与加法操作或是比较操作,使用示例见下面代码: #include #include //引入头文件...endl; //打印输出 string str5(5, 'E'); //声明一个由5个E组成的字符串 cout << "str5: " << str5 << endl; //打印输出
在本题中,我们通过增加一些参数的设置,使字符串的展开更为灵活。...核心的思想: 根据字符串中的每一个字符,以及‘-’左右的字符之间的联系,来一个个打印输出的字符,遍历到最后一个字符的时候,可以得到一个正确的字符串 算法设计顺序遍历字符串,当遇到字符串中的某个字符是‘...否则只需要打印原来的字符。...只有当字符串中出现的某个小区间为a-5,4-a,a–f,时我们才直接输出‘-’,这里将上面说所的例子当字符不是‘-’的时候联系一起,所设计的算法如下。 if(s[i]!...if(s[i-1]==s[i+1]){ cout<<'-'; } 碰到要拓展的情况是‘-’左边的字符对应的ASCII码小于右边的ASCII码值,我们才需要拓展
它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。...字符表示:字符值需要用单引号(’ ')包围,比如'a'、'1'、'#'。 ASCII值:每个char类型的字符都对应一个ASCII码值。例如,字符'A'的ASCII码值是65。...; // 打印字符的ASCII码值 cout << "ASCII码值: " << int(myChar) << endl; return 0; } 输出为: 案例加密和解密简化版...然后,我们通过将字符的ASCII码值加上偏移量来得到加密后的字符,并打印出来。接着,我们通过从加密后的字符的ASCII码值中减去相同的偏移量来得到解密后的字符,并打印出来。...加密函数通过将每个字符的ASCII码值加上一个偏移量来实现加密,而解密函数则通过从加密后的ASCII码值中减去相同的偏移量来实现解密。
1.5 AScii码和Unicode码 Ascii码是计算机发明的时候为了在计算机中表示字符,人们制定的一种编码。...Ascii由一个字节中的7位bit位表示,范围是0x00-0x7F共128个字符 扩展ASCII,后来基于ascii表扩展的,共256个字符。...②byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。 ③当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。...使用时要加上强制转换符,例如(int),但可能造成精度降低或溢出,格外要注意。 ②通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。...:byte,short,char,int,String, 枚举; case子句中的值必须是常量,且所有case子句中的值应是不同的; default子句是可任选的,当没有匹配的case时,执行default
(int)ch << endl; //查看字符a对应的ASCII码 ch = 97; //可以直接用ASCII给字符型变量赋值 cout << ch << endl; system("pause..."); return 0; } ASCII码表格: ASCII值 控制字符 ASCII值 字符 ASCII值 字符 ASCII值 字符 0 NUT 32 (space) 64 @ 96 、 1 SOH...95 _ 127 DEL ASCII 码大致由以下两部分组成: ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。...ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。...2.5 转义字符 作用: 用于表示一些不能显示出来的ASCII字符 现阶段我们常用的转义字符有: \n \\ \t 转义字符 含义 ASCII码值(十进制) \a 警报 007 \b 退格(BS) ,将当前位置移到前一列
当 std::setprecision和std::ios::fixed一起使用时,则精度特指小数点后面保留的位数(注意和前面的区别,前面是包括小数点前面后面所有数字位数),如:上例中的 std::setprecision...型等等; 2、赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它; 3、函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参...<<result1<<endl; return 0; } 输出为: 字符数据的使用 C和C++中字符型变量只占用一个字节; 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII...ch << endl; cout << sizeof(char) << endl;//查看字符型变量所占内存大小 cout << (int)ch << endl;//字符型变量对应的ASCII...10 cout << s2 <<int(s2) ; return 0; } ASCII码 课堂练习 题目描述 字符与整数运行 #include using namespace
简单变量 程序必须记录3个基本属性 信息将存储在哪里 要存储什么值 存储何种类型的信息 1.1 变量名 C++变量命名规则 变量名只能使用字母字符、数字和下划线(_)。 名称的第一个字符不能是数字。...单位换算: 1 KB = 1024 byte 1 MB = 1024 KB 在C++种也确保了类型的最小长度 short 至少 16位 int 至少和 short一样长 long至少32位,且至少与int...一般不超过128个字符,可以表示计算机系统中的所有基本符号 -----> 所有的字母、数字和标点符号等。 ASCII字符集中的字符用数值编码(ASCII码)进行表示。如字符A的编码为65。...数字表示与特定的编码方式(如ASCII码)相关,而符号表示适用于任何编码方式,其可读性也更强。...浮点数 浮点数就是表示小数点部分的数字。计算机将值分为两部分存储,一部分表示值,另一部分则用于对值进行放大或缩小。 3.1 为什么叫浮点数? 因为小数点可移动,所以称之为“浮点数”。
字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元 示例: int main() { char ch = 'a'; cout << ch << endl; cout...(int)ch << endl; //查看字符a对应的ASCII码 ch = 97; //可以直接用ASCII给字符型变量赋值 cout << ch << endl; system("pause...95 _ 127 DEL ASCII 码大致由以下「两部分组」成: ASCII 非打印控制字符:ASCII 表上的数字 「0-31」 分配给了控制字符,用于控制像打印机等一些外围设备。...ASCII 打印字符:数字 「32-126」 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。...转义字符 「作用」:用于表示一些不能显示出来的ASCII字符 现阶段我们常用的转义字符有:\n \\ \t 「转义字符」 「含义」 「ASCII」码值(十进制) \a 警报 007 \b 退格(BS)
然后我们打印 x 的值:示例int x; cout > x; // 从键盘获取用户输入cout > x;cout << "Type another...boolean 1 字节存储 true 或 false 值 char 1 字节存储单个字符/字母/数字,或 ASCII 值int 2 或 4 字节存储整数,不带小数...足以存储 15 位小数 C++ 数值数据类型数值类型当需要存储没有小数的整数时,使用 int,例如 35 或 1000,而当需要浮点数(带小数)时,则使用 float 或 double,例如 9.99...a = 65, b = 66, c = 67;cout << a;cout << b;cout << c;提示:所有 ASCII 值的列表可以在我们的 ASCII 表参考中找到。
,因为ASCII 都是 0xxxxxxx 的形式,当识别到其他字符时,会匹配使用对应标准,比如当识别到汉字时,会使用 GBK 编码标准来进行输出(Windows) 后续随着万国码 Unicode...int main() { string s("hello"); cout << s.c_str() << endl; //获取对象s中的字符串指针 return 0; } 此时直接打印内容的原因是当指针指向对象为常量字符串时...) 和 size() 获取当前对象的容量和大小 int main() { string s(200, 'H'); //直接构造200个字符H cout << "The string capacity...,自动扩容 VS中 string 的扩容策略 默认给一个大小为 15 的数组存储数据,当数组够用时,都是用的数组 当数组容量不够时,改用指针,先 2倍 扩容至 30,后续字符都是存在指针中 之后的扩容操作...字符串当然少不了遍历操作,主要有三种遍历方式:下标、at()、迭代器,因为 下标 和 at() 区别不大,所以可以一起介绍,而 迭代器 是一个很重要的东西,后续容器学习中都会出现它的影子 ️下标访问
quote(b); //④ 打印引用数据类型的修改结果 , 结果是 b 被修改成了 888 cout << b << endl; //引用数据类型定义与使用 : // ① 引用数据类型定义...打印字符串 , cout 后的 << 后可以打印 字符串 , 也可以打印变量 // ② 输出 cout << 字符串或变量1 << 字符串或变量2 ... << endl 可以拼接 输出信息 cout...'\0' int len1 = strlen(string_c_len); //② 指定大小的字符数组长度 , 结果不是指定的大小的值 , 获取的是实际字符串长度 int len2 = strlen..._1, string_c_comp_2); // ② "Hello" 字符串 (H 对应 ASCII 72) 小于 "hello" 字符串 (h 对应 ASCII 104) , 返回值 小于 0 int..." 字符串 (H 对应 ASCII 72) , 返回值 大于 0 int cmp_result_3_1 = strcmp(string_c_comp_3, string_c_comp_1); //
0; } ASCII码表格: ASCII值 控制字符 ASCII值 字符 ASCII值 字符 ASCII值 字符 0 NUT 32 (space) 64 @ 96 、 1 SOH 33 !...95 _ 127 DEL ASCII 码大致由以下两部分组成: ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。...ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。...2.5 转义字符 作用:用于表示一些不能显示出来的ASCII字符** 现阶段我们常用的转义字符有:\n \\ \t 转义字符 含义 ASCII码值(十进制) \a 警报 007 \b 退格(BS) ,将当前位置移到前一列...; system("pause"); return 0; } 总结:函数定义里小括号内称为形参,函数调用时传入的参数称为实参 6.4 值传递 所谓值传递,就是函数调用时实参将数值传入给形参 值传递时
为什么用宽字节 Windows中所有的底层函数都是Unicode编码 C++语言中“_T”是什么意思? 一. 多字节字符 二....; > showmessage(strpas(p)); > freemem(p); > end; 返回值 如果函数成功,返回值是拷贝的字符串的字符个数,不包括中断的空字符;如果窗口无标题栏或文本,...Visual C++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。...但是考虑到栈空间的尺寸( 默认2M),使用时要注意几点: 1、只适合于进行短字符串的转换; 2、不要试图在一个次数比较多的循环体内进行转换; 3、不要试图对字符型文件内容进行转换,因为文件尺寸一般情况下是比较大的...打印信息的方式 int a = 10; TRACE("a == %d", a); CString s; s.Format(CString("a == %d"), 20); AfxMessageBox
然后cout遇到num,这是一个int类型的变量啊,里面存的是97?哦,那把97输出来吧。 所以,取决于类型啊少年们...... 回到一开始的疑问, 为什么cout 输出ch+1是98?...我们上面说了,char类型定义的变量,其存的字符,都在ASCII码表里面有一一对应的值。我们只是把值存进去了,ch本身在内存中放的是97(字符a在ASCII码表中对应97),这个没问题。...ch+1,内存中相应的值变成了98.然后cout输出ch+1的时候,不应该是b吗?(b在ASCII中对应的数字是98).我们上面说了,cout输出什么,是不是还要看类型?那么ch+1类型是什么?...卧槽回家种田去吧.....说了多少遍,当char类型和int类型运算的时候,编译器会进行隐式的转换,把char类型变成int类型再进行运算,最终运算的结果自然也是int整形了。...当cout遇到整形,那tm还管三七二十一,直接输出98了。 为什么同一个变量按照%d(整形输出)的结果是97?按照字符型%c输出又变成了'a'呢?
输出信息 //字符串打印 : // ① 打印字符串 , cout 后的 << 后可以打印 字符串 , 也可以打印变量 // ② 输出 cout << 字符串或变量1 << 字符串或变量2 ....."; //字符串打印 : // ① 打印字符串 , cout 后的 << 后可以打印 字符串 , 也可以打印变量 // ② 输出 cout << 字符串或变量1 << 字符串或变量2 ......参数是需要比较的两个字符串 , 第一个参数 str1 , 第二个参数 str2 ; 2.方法作用 : str1 和 str2 两个字符串 , 从左到右 逐个对比 ASCII 码 大小 ; 3.返回值 :..._1, string_c_comp_2); // ② "Hello" 字符串 (H 对应 ASCII 72) 小于 "hello" 字符串 (h 对应 ASCII 104) , 返回值 小于 0 int..." 字符串 (H 对应 ASCII 72) , 返回值 大于 0 int cmp_result_3_1 = strcmp(string_c_comp_3, string_c_comp_1); //
字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元 ---- ASCII码表格: ASCII值 控制字符 ASCII值 字符 ASCII值 字符 ASCII值 字符 0...95 _ 127 DEL ASCII 码大致由以下两部分组成: ASCII 非打印控制字符: ASCII 表上的数字 0-31 分配给了控制字符,用于控制像打印机等一些外围设备。...ASCII 打印字符:数字 32-126 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。...---- 转义字符 作用用于表示一些不能显示出来的ASCII字符 现阶段我们常用的转义字符有:\n \\ \t 转义字符 含义 ASCII码值(十进制) \a 警报 007 \b 退格(BS) ,将当前位置移到前一列...&& 与 a && b 如果a和b都为真,则结果为真,否则为假。 || 或 a || b 如果a和b有一个为真,则结果为真,二者都为假时,结果为假。
<< endl; } 该代码是用C++编写的,它包含了各种数据类型的声明和初始化,以及如何使用cout语句来打印这些变量的值和地址。...cout<<"Value of b : "<<b<<" Address of b : "<<&b <<endl;: 与上述类似,但打印的是变量b的值和地址。...char c1='A';: 声明一个字符变量c1并初始化为'A'。 cout<<c1<<endl;: 使用cout打印变量c1的值,也就是字符'A'。...string combineStrings=s1+", "+s2;: 将s1和s2连接在一起,创建一个新的字符串combineStrings。...浮点类型:这些类型用于存储带有小数点的值。 float: 单精度,通常为32位。 double: 双精度,通常为64位。 字符类型:这些类型用于存储单个字符或ASCII值。
IO流 一、C语言的输入输出 C语言中我们用到的最频繁的输入输出方式就是 scanf () 与 printf() : scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。...printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。 注意宽度输出和精度输出控制。C语言借助了相应的缓冲区来进行输入与输出。...在使用时候必须要包含文件并引入 std 标准命名空间。 注意: cin 为缓冲流。键盘输入的数据保存在缓冲区中,当要提取时,是从缓冲区中拿。...空格和回车都可以作为数据之间的分格符,所以多个数据可以在一行输入,也可以分行输入。但如果是字符型和字符串,则空格(ASCII码为32)无法用 cin 输入,字符串中也不能有空格。回车符也无法读入。...类型的对象,那么这里可以做逻辑条件值,源自于 istream 的对象又调用了operator bool(),operator bool() 调用时如果接收流失败,或者有结束标志,则返回 false.
:用来支持字符串的序列化与反序列化,多用于网络,与流关系不大 对于 stringsream:字符串常用这个 我们来研究下面这两段代码: 代码一: struct Student {...,打印结果就是我们想要的,原因是 printf打印字符串时是根据 ’\0’ 的位置来判断的。...注: 在使用时候必须要包含文件并引入 std 标准命名空间。 注意: cin为缓冲流。键盘输入的数据保存在缓冲区中,当要提取时,是从缓冲区中拿。...但如果是 字符型和字符串,则空格( ASCII 码为 32 )无法用 cin 输入,字符串中也不能有空格。回车符也无法读入。如果想将字符串整行读取,则要使用getline()。...operator>>,返回值是 istream 类型的对象,那么这里可以做逻辑条件值,源自于 istream 的对象又调用了 operator bool,operator bool 调用时如果接收流失败
关闭文件 如下代码运行,“print(date2)”会打印test文件内容么? ? 是不会有内容的,当运行“data = f.read()”时,文件句柄已经移动到文件末尾,再次读取是取不到内容的。...字符编码与转码 3.1 Python编码详解 为什么我们要加“#-*- coding:utf-8 -*-”这一行?意思是置顶编码类型为utf-8编码!...函数是逻辑结构化和过程化的一种编程方法。 特性: 代码复用 使程序变的可扩展 使程序变得易维护 语法定义 ?...4.3 函数参数与局部变量 形参 变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。...函数调用结束返回主调用函数后则不能再使用该形参变量 实参 可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。
领取专属 10元无门槛券
手把手带您无忧上云