C++ Primer Plus笔记: 2023.07.05

这篇具有很好参考价值的文章主要介绍了C++ Primer Plus笔记: 2023.07.05。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.在C++中,每个表达式都有值。例如下面的表达式:

x = 20 ;

C++将赋值表达式的值定义为左侧成员的值,因此这个表达式的值为20。
由于赋值表达式有值,因此可以编写下面的语句:

maids = (cooks = 4) + 3 ;

表达式cooks = 4的值为4,因此maids的值为7。
允许上述语句存在的原则也允许编写如下的语句:

x = y = z = 0

下面的程序可以说明这一点:

#include <iostream>
using namespace std ;

int main()
{
	int x ;
	
	cout << "The expression x = 100 has the value " ;
	cout << (x = 100) << endl ; 
	cout << "Now x = " << x << endl ;
	cout << "The expression x < 3 has the value " ;
	cout << (x < 3) << endl ;
	cout << "The expression x > 3 has the value " ;
	cout << (x > 3) << endl ;
	cout.setf(ios_base::boolalpha) ;
	cout << "The expression x < 3 has the value " ;
	cout << (x < 3) << endl ;
	cout << "The expression x > 3 has the value " ;
        cout << (x > 3) << endl ;

	return 0 ;
}

运行结果:

The expression x = 100 has the value 100
Now x = 100
The expression x < 3 has the value 0
The expression x > 3 has the value 1
The expression x < 3 has the value false
The expression x > 3 has the value true

2.下面的函数调用:

cout.setf(ios_base::boolalpha) ;

设置了一个标记,该标记命令cout显示true和false, 而不是0和1

3.类似于下面这样的表达式不要写了吧:

x = 2 * x++ * (3 - ++x) ;

或者:

y = (4 + x++) + (6 + x++) ;

4.如果在语句块中定义一个新的变量,则仅当程序执行该语句块中的语句时,该变量才存在,执行完该语句块后,变量将被释放。
代码:

#include <iostream>
using namespace std ;

int main()
{
	int x = 20;
	{
		int y = 100 ;
 		cout << x << endl ;
 		cout << y << endl ;
 	}
	cout << x << endl ;
 	cout << y << endl ;
 	return 0 ;
}

编译结果:

testblock.cpp: In function ‘int main()’:
testblock.cpp:13:17: error: ‘y’ was not declared in this scope
   13 |         cout << y << endl ;
      |                 ^

5.如果在一个语句块中声明一个变量,而外部语句块中也有一个这种名称的变量,情况如何?在声明位置到内部语句块结束的范围内,新变量将隐藏就变量,然后旧变量再次可见:

#include <iostream>

int main()
{
	using std::cout ;
	using std::endl ;
	int x = 20 ;
	{
		cout << "x = " << x << endl ;
		int x = 100 ;
		cout << "x = " << x << endl ;
	}
	cout << "x = " << x << endl ;
	return 0 ;
}

运行结果:

x = 20
x = 100
x = 20

6.C++规定,逗号表达式的值是第二部分的值,在所有运算符中,逗号运算符的优先级是最低的
例如:

#include <iostream>
using namespace std ;

int main()
{
	int cata;

	cata = 17,240 ;
	cout << "cata = " << cata << endl ;
	
	(cata = 17), 240 ;
	cout << "cata = " << cata << endl ;

	cata = (17, 240) ;
	cout << "cata = " << cata << endl ;

	return 0 ;
}

运行结果:

cata = 17
cata = 17
cata = 240

7.类似这样的for循环也是可以的:

cout << "x = " ;
for (cin >> x; x == 0; cin >> x)
		cout << "x = " ;

运行结果:

x = 0
x = 0
x = 0
x = 0
x = 0
x = 0
x = 0
x = 0
x = 9

x = 9之后就从for循环中退了出来

8.strcmp函数接受两个字符串地址作为参数,这意味着参数可以是指针、字符串长量或字符数组名。如果两个字符串相同,函数将返回0; 如果第一个字符串按字母顺序排在第二个字符串之前,则strcmp( )将返回一个负数值,如果第一个字符串按字母顺序排在第二个字符串之后,则strcmp函数将返回一个正数值。

9.类型别名:
C++为类型建立别名的方法有两种,一种是使用预处理器:

#define BYTE char

第二种是使用C++和C的关键字typedef来创建别名,通用格式:

typedef typeName aliasName ;

在声明一系列变量的时候,typedef比define更好用文章来源地址https://www.toymoban.com/news/detail-526689.html

到了这里,关于C++ Primer Plus笔记: 2023.07.05的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++ Primer Plus 第8章

    1.内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存。如果程序在10个不同的地方调用同一个内联函数,则程序将包含该函数代码的10个副本。 2.注意,内联函数不能递归。 3.在声明引用时必须将其初始化,否则就会出现类似以下的报错: 4.引用一旦和某个变量

    2024年02月14日
    浏览(23)
  • (2023.07.05-2023.07.15)论文阅读简单记录和汇总

    2023/07/05:端午回家还没玩几天就被老板召唤回学校了,采购的事情真是太麻烦了,一堆的差错。昨天跟师弟把他的第一篇论文投出去了,祝好运! 2023/07/10:可惜,师弟的文章五天不到就被拒稿了,不过这也很正常。拒拒更健康,有拒才有得。 (arxiv 2023)COLOR LEARNING FOR IMA

    2024年02月16日
    浏览(30)
  • C++ Primer Plus: 第10章(2)

    第10章编程题: (1) Account.h: Account.cpp: main.cpp: (2) Person.h: Person.cpp: main.cpp: (3) golf.h: golf.cpp: main.cpp: (4) Sales.h: Sales.cpp: main.cpp: (5) Stack.h: Stack.cpp: main.cpp: (6) Move.h: Move.cpp: main.cpp: (7) Plorg.h: Plorg.cpp: main.cpp: (8) List.h: List.cpp: main.cpp:

    2024年02月12日
    浏览(35)
  • 【C++】C++ primer plus第二章练习题

    c++程序的模块叫什么? 函数。 下面的预处理器编译指令是做什么用的? 包含头文件,将iostream文件的内容添加·到代码中 下面的语句是做什么用的? using namespace std; using是预编译器指令,让其使用std命名空间 什么语句可以用来打印短语“Hello, world”,然后开始新的一行? s

    2024年02月06日
    浏览(40)
  • C++ Primer Plus第二章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个C++程序,它显示您的姓名和地址。 2.编写一个C程序它要求用户输入一个以 long 为单位的距离,然后将它转换为码(- ng等于220码) 3.编写1个C++程序它使用3个用户定义的函数(括mai()),并生成下面的输出Three blind

    2024年02月09日
    浏览(44)
  • C++ primer plus第七章编程练习答案

    1.编写一个程序,不断要求用户输入两个数,直到其中的一个为 0。对于每两个数,程序将使用一个南数来计算它们的调和平均数,并将结果返回给 main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下: 调和平均数=2.0*xy/(x + y) 2.编写一个程序,要求用

    2024年02月10日
    浏览(32)
  • C++ Primer Plus第五章编程练习答案

    答案仅供参考,实际运行效果取决于运行平台和运行软件 1.编写一个要求用户输入两个整数的程序。该程序将计算并输出这两个整数之间包括这两个整数)所有整数的和。这里假设先输入较小的整数。例如,如果用户输入的是2和则程序将出29之间所有整数的和为44 2.使用array对

    2024年02月09日
    浏览(39)
  • 2023/05/02~07 刷题记录

     题义:  题解:         读完题目可以想到直接暴力,但是肯定超时别想了。         因为 a b c 都是素数,所以我们可以先求出所有的素数 进行减少循环的次数,然后遍历。在遍历过程中,我们也要去进行剪枝 ,如果说 a 的五次方大于了目标值,那后面肯定就都大于了

    2024年02月03日
    浏览(25)
  • 【CPP_Primer_Plus】C++ IDE推荐

    C++编译器推荐 windows 推荐 Resharper++插件 vcpkg 功能介绍 编辑器 Visual Studio 的编辑器具有出色的代码补全功能、语法突出显示、快速信息提示、附带代码修复建议的错误和警告。 IntelliSense 比 IntelliCode(内置于编辑器中的 AI 工具) 调试器 顶部的绿色运行按钮可启动调试程序。

    2024年02月09日
    浏览(29)
  • LeetCode 周赛 344(2023/05/07)手写递归函数的固定套路

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 今天下午有力扣杯战队赛,不知道官方是不是故意调低早上周赛难度给选手们练练手。 往期周赛回顾:LeetCode 单周赛第 343 场 · 结合「下一个排列」的贪心构造问题 T1. 找出不同

    2024年02月03日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包