c++ primer
文章平均质量分 60
^_^ .
这个作者很懒,什么都没留下…
展开
-
c++primer 2.1.2含有无符号数类型的表达式
因为我们要先做减一的操作,所以初始化u的值应该比要输出的值大1,这里,u初识化为11,输出的最大数是10。表达式--i从i当中减去了1,得到的结果-1并不满足无符号数的要求,此时像所有表示范围之外的其他数字一样,被自动转换为一个合法的无符号数。所以该补码若是表示无符号数,大小为:4294967254,然后加10,结果即为4294967264(相当于32位全1结果为4294967295,然后减去41即为有符号数-42代表的无符号数大小。有符号数和无符号数计算过程无符号首先会转化为无符号数,原创 2023-09-05 22:22:33 · 196 阅读 · 1 评论 -
c++primer 2.1.1 算数类型
但是不管怎样,所有这些编码方式中,0--127表示的符号是一样的,不一样的只是128--255的这一段。类型char和类型signed char并不一样,在不同编译器中char的默认定义不同,例如VC编译器、x86上的GCC都把char定义为signed char,而arm-linux-gcc却把char定义为 unsigned char。基本的字符类型是char,一个char的空间应确保可以存放机器基本字符集中任意字符对应的数字值,也就是说,一个char的大小和一个机器字节一样。原创 2023-09-02 17:26:05 · 183 阅读 · 1 评论 -
c++primer 学习 2.1.2类型转换
如果i的值为0,则条件值为false;i的所有其他值,都将使条件为ture。编码中, 推荐用bool 变量来表示逻辑运算、关系运算以及开关变量的值。时,程序会自动进行类型转换。此处,说明当给某种类型的对象强行赋了另外一种类型的值时,到底会发生什么。使用了一种算数类型的值而其实所需的是另一种类型的值。使用了一个非布尔值作为条件,被自动转换为布尔值。建议:避免无法预知和依赖于实现环境的行为。使用了一种类型而其实对象应取另一种类型。原创 2023-09-03 21:48:05 · 109 阅读 · 0 评论 -
C++ primer 学习 1.6书店程序
从一个文件中读取销售记录,生成每本书的销售报告,显示售出册数,总销售额和平均售价。1.25练习与例题代码相同。原创 2023-08-29 15:26:52 · 95 阅读 · 1 评论 -
c++ primer学习 1.5.2 初识成员函数
1.5.2例题将两个Sales_item对象相加的程序首先检查是否有相同的ISBN.出现错误E0980:在没有适当operator的情况下调用类类型的对象或将函数转换到指向函数的类型C2064: 项不会计算为接受 0 个参数的函数问题原因:在一个继承Sales-item基类的类中定义成员变量xxx,而这个基类中存在同名的函数名,导致无法调用此函数。(Sales_item程序其实没看,但每次用到都会有问题,找个时间仔细看看)我的解决方法比较粗暴,直接恒等但是治标不治本,问题待解决。原创 2023-08-25 14:49:07 · 184 阅读 · 1 评论 -
c++primer学习 1.5.1 Sales_item类
调用一个名为isbn的函数从一个Sales_item对象中提取ISBN书名号用输入输出运算符>>原创 2023-08-15 21:33:12 · 270 阅读 · 1 评论 -
1.5.1 Sales_item类的头文件创建(第五版)编译器VS2022
这种方法只能在这一个控制台程序中使用,怎么样像iostream一样可以在所有程序中使用,即添加自定义头文件?选择头文件(.h)复制以下代码,命名为Sales_item.h。点开解决方案资源管理器,右击头文件,添加新建项。返回自己所在项目,可以使用自定义的头文件。新建项目,控制台程序。原创 2023-08-14 15:40:40 · 260 阅读 · 0 评论 -
c++primer学习 1.4.4 if 语句
1.4.4书上例题。用if语句写一个程序,来统计在输入中每个值连续出现了多少次。if else的就近原则,else与离得最近的if匹配。如果有花括号,如:第二个if属于第一个if,else与第一个if配对。1.如果输入所有值相等,则while循环中else语句永远不执行,直到输入结束,while循环退出后,循环后的输出语句打印这个唯一的值和它出现的次数。2.若没有重复值,则while循环中if语句的真值永远不会执行,每读入一个值,都会进入else分支,打印它的值和出现次数1。输入结束后,while循环退原创 2023-08-13 00:26:17 · 62 阅读 · 1 评论 -
c++ primer学习 1.4.3 读取数量不定的输入数据
windows系统中文件结束符方法是ctrl+z,然后按enter或return键。Unix,mac os x系统中,文件结束符输入ctrl+D。此表达式从标准输入读取下一个数,保存在val中,输入运算符返回其左侧运算对象,本例中是std::cin。我们使用val保存用户输入的每个数据,数据读取操作是在while的循环条件中完成的。声明错误:c++程序中每个名字都需要先声明后使用。语法错误:如endl:写成了冒号,而不是分号。编写程序,从cin读取一组数,输出其和。"编辑-编译-调试"周期。原创 2023-08-11 18:38:31 · 64 阅读 · 1 评论 -
c++primer学习 1.4.2 for语句
1.4.2书上例题for语句包含两个部分:循环头和循环体,循环头控制循环执行次数,由三部分组成,初始化语句,循环条件,表达式。循环持续这一过程直至循环条件为假。练习1.12下面的for循环完成了什么功能?sum的终值为多少?答:for循环完成-100到100的所有整数相加过程,sum终值为0练习1.13使用for循环完成1.4.1的题。原创 2023-08-10 23:25:39 · 68 阅读 · 1 评论 -
c++primer学习1.4.1 while语句
1.4.1书上例题i++,先运行i,在运行i+1;++i,直接运行i+1while语句形式statement练习1.9。原创 2023-08-07 18:25:05 · 59 阅读 · 1 评论 -
c++ primer学习 1.3 注释简介
对于不正确的嵌套注释,不同编译器给出的错误信息可能是不同的,而且通常很难理解。编译器将第一个"*/"看作注释结束,之后出现的中文文字看作下一条语句,从而给出非法字符的错误信息。两种,分别为单行注释和界定符对注释。界定符对注释 /*和*/,编译器将落在/*和*/之间的所有内容当作注释。ps:它为什么要让写小程序啊,不会写,答案也没有,看到让写小程序的时候吓一跳,进阶这么1快吗?第三条第一个双引号被注释掉,原创 2023-08-07 14:25:49 · 57 阅读 · 1 评论 -
c++primer 1.2 初识输入输出
2.前两行末尾有分号,表示语句结束,第2,3两行为两条新的语句。两条新语句在“原创 2023-08-06 17:26:55 · 65 阅读 · 0 评论 -
c++primer学习 练习1.2
搜索过程中发现有用linux系统,命令行获取返回值信息得到255,解释为从main函数中返回效果都相当于调用exit函数,而exit或者main函数中的return只能使用0-255之间的值,-1的unsigned值为255,所以命令行显示的错误码为255。改写程序,让它返回-1,返回值-1通常当作程序错误的标识,重新编译并运行你的程序,观察你的系统如何main返回的错误标识。答:Windows10操作系统并不处理或者报告程序返回的错误标识。原创 2023-08-05 16:29:08 · 42 阅读 · 1 评论