- 博客(20)
- 收藏
- 关注
原创 C++string类简介
首先,使用string类对象之前,需要包含一个头文件string,string类位于std命名空间中,所以需要使用using指令,或者是使用std::string来引用它。之前,我们讲过有两种表示字符串常量的方法,一种是char数组,另一只就是使用string类对象来表示字符串常量。类设计让程序能够自动处理string的大小,这使得使用string对象比使用字符数组更加的方便,同时也更加的安全。从这个示例可知,在很多方面,使用string对象的方式与使用字符数组相同。
2025-07-20 21:31:59
321
原创 C++字符串的行输入
这里要用到两个相关的函数,分别是getline()函数和get()函数,两个函数都是用来读取一行字符输入的,但是用法却不相同,我们先来讲getline()函数。首先,getline()函数是来自于istream文件中的一个类函数,通过cin对象进行使用,它有两个参数一个是char数组的名称,另一个则是将要输入字符串的大小,例如:cin.getline(name,19),这样可以读取整行的字符串输入(注意输入字符串的字符数不能超过参数所给定的数量),当编译器遇到换行符时,会自动停止读取。
2025-06-24 22:12:55
405
原创 揭秘C++字符串拼接技巧
这两个数组都是char数组,但是只有第二个是字符串,因为第二个的结尾有空字符,因此空字符对于字符串至关重要。当cout遇到字符串时,cout会逐个处理字符,知道遇到了空字符才结束,如果空字符在中间而不在结尾处,cout遇见空字符也会结束。字符串是储存在内存中的一系列连续字符。C++处理字符串的方式列两种,一种是来自C语言,常常被称为C风格字符串,一种则是基于string类库中的方法。这里需要注意的是拼接是两字符串之间不会产生空格,而第一个字符串的空字符\0将会被第二个字符串的第一个字符所取代。
2025-06-24 17:31:50
389
原创 C++的数组(声明、用途与初始化全攻略)
:数组是一种存储同类型数据的格式,每个元素有独立存储地址。声明数组需指定元素类型、名称和大小(必须是常量)。数组通过下标访问元素(下标从0开始),但不能越界访问。数组只能在定义时初始化,未初始化的元素默认值为0。C++11支持省略赋值号的新初始化方式。注意数组初始化后不能整体赋值给另一个数组,也不允许动态改变数组大小。
2025-06-21 15:24:20
426
原创 编程小练习
为了计算BMI,该程序以英寸的式指出用户的身高(1英尺为12英寸),并将以英寸为单位的身高转换为以米为单位的身高(1英寸=0.0254米)。7.编写一个程序,要求用户按欧洲风格输入汽车的耗油量(每100公里消耗的汽油量(升)),然后将其转换为美国风格的耗油量一每加仑多少英里。如果愿意,也可以让程序要求用户以公里为单位输入距离,并以升为单位输入汽油量,然后指出欧洲风格的结果一即每100公里的耗油量(升)。1.编写一个小程序,要求用户使用一个整数指出自己的身高(单位为英寸),然后将身高转换为英尺和英寸。
2025-06-19 13:45:49
289
原创 C++中的类型转换
例如:假设so_long的类型是long ,而thirty的类型是short,则程序语句so_long=thirty的意思就是将thirty的值放在so_long的储存空间中,类型变成long int 类型,但是值仍然不变。不同类型之间进行算数运算时,会进行一些转换,通常是较小类型将会转换为较大类型的,下面是顺序表:bool<char<short<int<long<long long<float<double<long double.1)将一种算数类型的值赋给另一种算数类型的变量是,C++将对值进行转换。
2025-06-19 13:37:26
274
原创 C++算术运算符
除法运算法(/)的行为取决于操作数类型,如果两个操作数都是整数,那么C++将执行整数除法,这也就意味着小数部分将会被丢弃,使得最后的结果是一个整数,如果其中的一个(或两个都是浮点数),则小数部分会被保留,结果也将是浮点数。想要显示小数点后面所有的值,需要使用一个函数,就是setf()函数,里面有两个参数,分别是ios_base::fixed和ios_base::floatfield。算数运算符遵循代数优先,先乘除,再加减。其中,*,/和%的优先级相同,按照从左到右的顺序依次进行。结合性就是有括号的优先。
2025-06-19 12:41:28
209
原创 C++的浮点数
例如加利福尼亚的shasta山脉有14197英尺,该数字使用了五位有效位,而如果写成14000英尺,那就是两位有效位,因为该整数经过四舍五入精确到了千分位,其他的三位数字只不过是占位符而已,有效数字不依靠小数点的位置,比如14.147仍然是五位有效数字。即是小数部分是0,小数点也将确保该数字以浮点格式(而不是整数格式)表示,第二种方法叫做E表示法,其外观像这样:3.45E6 这里指的是3.45乘以10的6次方,6被称为指数,3.45被称为尾数。浮点数有两种书写方法,一种是常用的标准小数点表示法。
2025-06-07 17:54:21
455
原创 bool类型和const限定符
有三点理由,首先,const能够指出常量的类型,其次,const的定义域可以被限制在特定的区域,比如在函数中或者是类当中,而#define只能是全局使用,最后,const可以用于更加复杂的类型,如结构和数组。这样可以在程序中使用Months,而不是12了(在程序中,12表示多种意思,可能表示一英尺有多少英寸,或者是面包圈有多少个,而Months明确的指出了12表示的是什么)。如果在声明常量值时不进行初始化,那么常量值是不确定的,且不能被修改。则使用cout输出分别为1和0,这就是bool值的提升转换。
2025-06-06 15:58:33
297
原创 char类型:字符与小整数
有趣的是,在程序中,我们输入的是M,而不是它相对应的字符编码77,而它输出的也是字符M,而不是输出的是它的字符编码77,这种神奇的操作并不是来源于char类型,而是智能对象cin和cout.在输入时,cin将字符M转换为77;千万不能用双引号,这两个是完全不一样的,区别在于双引号是用来指示字符串的,同样是输入一个字符,双引号会将其看成一个"字符串",会自动的在字符后面加一个结束符,因此字符就会变成字符串(尽管可能最后在显示屏上看不出来,但是本质已经发生了变化),因此我们要区分单引号和双引号。
2025-05-29 22:29:33
567
原创 C++中的整型字面值
如果第一位是1~9,则基数为10(十进制),如93是以十为基数,如果第一位是0,第二位是1~7,则基数为8,(十六进制),如042是八进制,相当于十进制的34,如果前两位为0X或者0x,则基数为16,(十六进制),如0x42,相当于十进制中的66。对于十六进制,字符a~f和A~F表示了十六进制位,对应于10~15。整型字面值(常量)是显示地书写常量,如212或71.与C相同,C++能够以三种不同的计数方式来书写整数:基数为10,基数为8和基数为16.在C++中,使用前一(二)类来表示数字常量的基数。
2025-05-28 20:11:57
486
原创 C++中不同的整型变量类型
另外,有的类型(符号类型)可以表示数值的正负,而有的类型(无符号类型)却不能表示负值。从这个意义上说,字节指的就是描述计算机内存量的度量单位,1KB等于1024字节,1MB等于1024KB.然而C++对字节的定义与此不同,它描述的字节是一个字节至少能储存完整的基本字符集,也就是说字节的宽度至少要超过基本字符集的宽度,所以字节通常使用的都是8位,而在国际上有些系统的字节数更多,例如Unicode,故字节数要使用更大的位数。总而言之,位与字节都是描述计算机的内存度量,只需要弄清楚各个类型的储存宽度即可。
2025-05-26 15:02:05
624
原创 C++中变量的声明
至于更多的指针知识,后续还会细讲,现在只要知道,我们要储存信息,不只有声明变量着一种方法。3)不能用C++关键字用来做变量名,如,int,double,void,return这些来做变量名,但是,这些可以包含在变量名之中,比如Int,printer,double_7等等,这些变量名都是在C++中合法的。这些语句告诉程序:我们在声明了一个整数型变量,变量名字叫做braincount,这个变量将要储存的值是5,程序读取了这些代码后,会为该变量申请一个储存空间,储存空间储存的就是5这个值。3)储存何种类型的值。
2025-05-21 13:06:49
360
原创 C++函数
无返回值类型函数不会返回值,也就是在结尾没有return语句。首先,我们要确定函数返回值的类型,由于两个值都是double类型的,那么返回值也应该用double类型,然后再给函数命名,这里我们就写Sum吧,接下来,就是填写形参列表,形参列表是函数外部用来传递参数给函数的,因此我们应该确定参数的个数和类型,这里需要两个double类型的形参变量,最后在来写函数的实现方法。表达式将调用sqrt()函数,并返回一个值,这个值将赋给变量x,这就是有返回值函数的用法,接下来讲一下如何定义一个有返回值类型的函数。
2025-05-14 17:30:39
580
原创 C++语句
C++是一种精确的,有条理的机器。=符号叫做赋值符号,那carrots=25 来举例,=符号将右边的常量值赋值给了左边的变量值,因此变量值便在电脑中以右边常量值储存,当下次调用变量时,变量的值即为25,这就是赋值的原理,当然,看到下面的carrots=carrot-1 你就知道,变量可以进行多次赋值,也可以一次性对多个变量进行复制,例如,初始化简而言之就是在对新变量进行声明的时候顺便进行赋值。如果你知道变量的值,那么,对变量进行初始化是一个很好的习惯,这是为了防止你在之后忘记给变量进行赋值。
2025-05-12 21:20:22
351
原创 C++源代码的格式化与风格
1、在C++中,回车的作用于空格或者制表符的作用是一样的,也就是说通常可以在回车的地方使用空格,反之亦然。在C++中,不可分割的元素叫做标记,例如,main,int等,而空格,回车键和制表符统称为空白,不能讲空白放在标记中间,例如,ma in(),in t 这样写就是错误的,编译器会主动报错,无法识别。虽然C++在语法方面给了用户很大的自由,但是如果你能遵行一定的规则,那么会更加方便你阅读。2)每个函数都会有一个开始花括号和结束花括号,每个花括号各占一行。3)函数的语句都相对于花括号进行缩进。
2025-05-12 20:49:38
303
原创 智能对象cout和控制符endl
这样的例子还有很多,例如&运算符既可以表示地址运算符,也可以表示AND运算符,*运算符既能够表示指针运算符,也可以表示乘法,在这里并不是强调这些运算符的具体功能,而是说明一个运算符能够有多种不同的用法,这都归功于运算符重载,C++扩展了运算符重载的概念,允许用户自己定义运算符号,为用户带来了不同的体验。在程序中,我们经常看见一个古怪的符号endl,这其实是C++中特有的一个控制符号,它的作用是让语句重起一行,类似于换行符号,一般我们常常将其使用在句尾用在重起一行,让语句的可读性大大提高。
2025-05-10 23:30:37
407
原创 【c++的预处理器和iostream文件和智能对象】
一个潜在的问题,可能使用两个已经封装好的产品,他们都包含相同的函数wanda()函数,但这两个函数的实现却完全不同,而编译器却不知道是哪个版本的,因此,名称空间就能够指出是哪个厂商的产品。答案在于程序与外部世界的通信。这三种方式能够灵活运用,c++的语法是非常灵活的。在C语言中,我们常常看见程序会包含stdio.h这样的头文件,细心的小伙伴们会发现为什么C语言中的头文件名都有后缀,而在c++中却没有,原因在于为了区分这两种语言,当然,既然c++是继承c的,那么c的习惯在c++中依然能够使用,反之则不行。
2025-05-09 13:29:19
498
原创 【进入C++的main函数】
函数头作为程序的接口,在定义main函数前要通定义int main()开始,位于函数名前面的int是函数的返回值类型,在括号里面的是形参列表,其主要的作用是用来给函数传递必要的数据,但main函数却不需要传递参数(根据c++的规定),因此常常是main()或者main(void) ,当然main函数的函数头还有很多的变式,例如经典的C语言函数头main()和void main(),这些都能够正常使用,但是后者不建议使用,因为后者在c++中并不是强制标准,有些系统不能使用。4、 main函数的函数头。
2025-05-08 22:51:12
469
原创 【关于C++编程语言的简介】
与其他的编程语言不同,c++这门语言更加强调的是实用性,其中的面向对象编程就是最鲜明的特点,首先设计类以此来管理数据,对象就是其中的管理结构,其具有良好的封装性和继承性(以后会慢慢说道),使得程序员能够更加简单便捷的使用C++库里面的类从而提升编程的效率。首先,C++语言是从C语言演变而来的,相当于是C语言的一个扩展,C++融合了3种不同的编程方式:C语言代表的过程性语言,c++在C语言的基础上添加的类代表的面向对象的语言和C++模板支持的泛型编程。
2025-05-07 13:41:36
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人