C++学习笔记(第一章 C++的基础知识 之二)

《C++ primer》第五版学习笔记——第一章知识点及习题 附:此笔记是为了记录自己学习《C++ primer》中文版第5版的学习过程,同时督促自己,“希望有一天,自己从来不缺从头再来的勇气”,在此之前看的C++的书都很杂乱,所以想系统性地再认真学一遍,打好基础。 书中使用最多的编译器是GNU编译器4.7.0,本人使用的Dev-C++ 5.11,并对书中的练习进行了相应解答,仅供参考,有错误的地方,欢迎联系我指正,十分感谢。 第一章 开始 0 示例 编写一个程序来解决简单的书店问题。 要求:书店保存所有销售记录的档案,每条记录保存某本书的一次销售的信息(一册或多册 阅读详情

习题3:    输入3个整数,输出其中的最大值。

样例输入:123 345 62

样例输出:最大值为:345


#include <iostream>
using namespace std;
int main( )
{
    int a,b,c,max;
    cout<<"请输入3个数值:";
    cin>>a>>b>>c;
    //先求出a和b的大值
    if(a>b)
        max=a;
    else
        max=b;
    //再求出c和max的大值
    if(c>max)
        max=c;
    cout<<"最大值是: "<<max<<endl;
    return 0;
}



习题4:  输入3个整数,输出其中的最大值和最小值。


#include <iostream>
using namespace std;
int main( )
{
    int a,b,c,max,min;
    cout<<"请输入3个数值:";
    cin>>a>>b>>c;
    //先求出a和b的大、小值
    if(a > b)
        max = a, min = b;
    else
        max = b, min = a;
    //再求出c和max的大值,c和min的小值
    if(c > max)
        max = c;
    if (c < min)
        min = c;
    cout<<"最大值是: "<<max<<", 最小值是: "<<min<<endl;
    return 0;
}


习题4:  输入4个整数,输出其中的最大值。


解法1:分别求出两对数大值后,大值间比较出大值

#include <iostream>		
using namespace std;	
int main( )
{
	int a,b,c,d,max1,max2,max;	
	cout<<"请输入四个数值:"; 
	cin>>a>>b>>c>>d;
	//先求出a和b的大值
	if(a>b)
		max1=a;
	else
		max1=b;


	//再求出c和d的大值
	if(c>d)
		max2=c;
	else
		max2=d;


	//两个大值中的大值为最后的大值
	if(max1>max2)
		max=max1;
	else
		max=max2;
	cout<<"最大值是: "<<max<<endl;
	return 0;	
}

解法2:逐个比较,得到最大值

#include <iostream>		
using namespace std;	
int main( )
{
	int a,b,c,d,max;	
	cout<<"请输入四个数值:"; 
	cin>>a>>b>>c>>d;
	max=a;   //未进行比较前,暂认为a就是最大的
	if(max<b)  //如果b更大,当然最最大的就应该被赋值为b
		max=b;
	if(max<c)  //同理
		max=c;
	if(max<d)  //亦然
		max=d;
	cout<<"最大值是: "<<max<<endl;
	return 0;	
}


解法3:采用交换的思想

#include <iostream>		
using namespace std;	
int main( )
{
	int a,b,c,d,t;	
	cout<<"请输入四个数值:"; 
	cin>>a>>b>>c>>d;
	//经过下面的比较和可能进行的交换,a将不比b小
	if(a<b)
	{  
		t=a;  
		a=b;  
		b=t;  
	}  
	//经过下面的比较和可能进行的交换,c将不比d小
	if(c<d)
	{
		t=c;
		c=d;
		d=t;
	}
	//经过下面的比较和可能进行的交换,a将不比c小,为4个数中的最大值
	if(a<c)
	{
		t=a;
		a=c;
		c=t;
	}
	cout<<"最大值是: "<<a<<endl;
	return 0;	
}


解法4:不用引入新的变量一样可以得到答案,不过自己的明白那个是最大或最小

#include <iostream>		
using namespace std;	
int main( )
{
	int a,b,c,d;	
	cout<<"请输入四个数值:"; 
	cin>>a>>b>>c>>d;
	//经过下面的比较和可能进行的赋值,a将是a和b间的大值
	if(a<b)
		a=b; 
	//经过下面的比较和可能进行的赋值,c将是c和d间的大值
	if(c<d)
		c=d;
	//经过下面的比较和可能进行的赋值,a将是a和c间的大值,也就是这四个数中的最大值
	if(a<c)
		a=c;
	cout<<"最大值是: "<<a<<endl;
	return 0;	
}


解法5:这道题还有很多种思想,自己可以多琢磨琢磨


习题5:  输入4个整数,输出其中的最大值和最小值。


#include <iostream>		
using namespace std;	
int main( )
{
	int a,b,c,d,t;	
	cout<<"请输入四个数值:"; 
	cin>>a>>b>>c>>d;
	//经过下面的比较和可能进行的交换,a将不比b小
	if(a<b)
	{  
		t=a;  
		a=b;  
		b=t;  
	}  
	//经过下面的比较和可能进行的交换,c将不比d小
	if(c<d)
	{
		t=c;
		c=d;
		d=t;
	}
	//经过下面的比较和可能进行的赋值,a将不比c小,为4个数中的最大值
	if(a<c)
	{
		t=a;
		a=c;
		c=t;
	}
	//在两个小值,即b和d间,经过下面的比较和可能的交换,d将是小者,也是4个数中的小者
	if(b<d)
	{
		t=b;
		b=d;
		d=t;
	}
	cout<<"最大值是"<<a<<", 最小值是"<<d<<endl;
	return 0;	
}


Effective C++ 学习笔记 第一章:让自己习惯 C++ 本来看这本书已经好几天了,没准备做笔记,但看了几个条款,发现这本书总结的太好了,不记一下,回头忘了不好,如果对其他人有帮助就更好了。 文章目录条款 01:让自己习惯 C++原文建议条款 02:尽量以const, enum, inline 替换 #define话题 1:用 const 和 enum 代替 #define 常量话题 2:用 inline 取代 #define 宏话题 3:#define 不等同于预处理操作原文建议条款 03:尽可能使用 const话题 1:const 修饰指针话题 2:con. 阅读详情

相关推荐

行为树基本概念与BehaviorTree.CPP库在C++的代码实现

文章介绍了行为树的基本概念以及介绍了MIT开源的行为树实现库——BehaviorTree.CPP的使用,包含部分C++的代码实现

Vulcan_Q的博客 5389

信息学奥赛C++语言:输出判断

【题目描述】 输入两个整数a,,b,判断当a大于b,则输出a,否则输出b。 【输入】 输入两个整数a,b 【输出】 当a大于b,则输出a,否则输出b 【输入样例】 8 5 【输出样例】 8 代码 #include<cstdio> using namespace std; int a,b; int main() { scanf("%d%d",&a,&b); ...

zsbailong的博客 1442

【C++】使用 yaml-cpp 库操作 YAML

配置文件有利于我们灵活配置工程,解决大量重复劳动,也方便调试。YAML 是一种人类可读的数据序列化格式,它使用缩进和特定的符号来表示数据结构。在本文中,我们将详细介绍如何在 C++ 中使用yaml-cpp库来解析和生成 YAML 格式的数据。

coco的专栏 4973

高精度加法(C++实现)

高精度加法 题目描述: 输入: 两个整数 a , b (a,b都不超过1000位)。 输出: a+b的值。 样例输入: 20100122201001221234567890 2010012220100122 样例输出: 20100122203011233454668012 题目分析: 由于位数较大,所以我们要考虑使用字符数组来接收 a 和 b ,然后在字符数组上进行加法操作。 接下来附上C++代码: #include <iostream> #include <string.h> us

weixin_52378361的博客 672

C++ 网络库 cpp-netlib的简单使用

示例代码 (C++11, cpp-netlib版本:0.12.0) 需要链接库文件 target_link_libraries(app boost_system network-uri cppnetlib-server-parsers ) #include <network/uri.hpp> #include <nlohmann/json.hpp...

逗神大人的博客 6221

CATIA高效设计:自定义快捷键全攻略

本文详细介绍了如何在CATIA中自定义快捷键以提升设计效率。通过减少鼠标依赖、优化工作流程和减轻手腕疲劳,合理设置快捷键可显著提高建模速度。文章提供了从基础设置到高级配置的全流程指南,包括解决冲突、推荐方案及外设扩展建议,帮助用户快速掌握CATIA高效设计技巧。

weixin_42648844的博客 585

cout的用法

1.cout和提取符<<使用 /********************************使用cout类*******************************/#include <iostream>usingnamespacestd;intmain(){cout<<1...

weixin_34124577的博客 2956

绿联UGOS Pro系统虚拟机部署Windows 11详细教程(跳账户登录,安装内存驱动)

总的来说,此次的虚拟机部署Windows 11出现的问题应该是目前几乎所有虚拟机都可能出现的问题,和绿联是没有关系的。所以说如果你在其它NAS上虚拟机部署Windows 11系统如果出现同样的问题,那么今天教程的方案也同样适用于你。

qq_63499861的博客 1万+

C++学习笔记(第一章 C++的基础知识 之一)

习题1:简单计算问题体验     输入底面半径r和高h,输出圆柱体的表面积。  样例输入:3.5  9  样例输出:Area = 274.889

雪域之狼 713

Ethercat学习-从站源码生成

移植平台GD32F450,从站芯片AX58100

西澳峰的博客 9225

数据助力行业发展:BJTU-RAO转向架数据集介绍

BJTU-RAO转向架数据集是完全公开的,何研究人员皆可以通过后文的下载链接免费下载数据,且在标注数据来源的前提下,研究人员可以自由使用BJTU-RAO转向架数据集。因此,聚焦各类列车转向架传动系统在途安全保障新技术研究和新算法开发,实现牵引电机、驱动齿轮箱和轴箱等关键部件的实时状态监测与智能故障诊断,对保障列车安全可靠运行具有重要的现实意义。BJTU-RAO转向架数据集包含51种健康状态的样本,涵盖正常状态、部件级单一故障、部件级复合故障以及系统级关联复合故障,数据量达116GB。

2401_88870554的博客 3501

C++ Primer 第一章 学习笔记及习题答案

C++ Primer 第一章 学习笔记及习题答案知识点函数定义输入输出注释while和for控制流whilefor类(看完后续补充)练习题1.1节练习1.2节练习1.3节练习1.4节练习1.4.1节练习1.4.2节练习1.4.3节练习1.4.4节练习1.5节练习1.5.1节练习1.5.2节练习1.6节练习 知识点 函数定义 · 一个程序包含一个或多个函数(有且只有一个main函数);一个函数定义包...

Camelia118的博客 2578

基于YOLOv10的建筑图纸物体检测系统:从数据集构建到UI界面实现

高度结构化的图形元素标准化的符号和标注系统多层次的细节表达精确的尺寸和位置关系。

YOLO 390

C++ Primer 第一章 快速入门笔记

C++ Primer 第一章 快速入门 看到很多人学习这本书都会写下学习过程笔记!因为觉得这是不错的做法,也可以巩固自己学习的知识,还能在以后的学习这本时发现问题,到时也可以到回来修改和补充。 自己在图书馆看完了第一章,小钱问我感觉会不会闷,我说我觉得很爽!我不打算很快地把它看完,我要把每个知识点都掌握,所以刚开始会看得很慢,我也不急,就像小钱说的稳扎稳打,一步一个脚印一样。因为有...

mmdev 160

如何使用 ABAP 代码调度一个 ABAP 程序,让其以后台作业的方式运行

笔者之前的教程,介绍了如何使用 SM36 一系列事务码,将一个 ABAP 程序,调度成以后台作业方式运行的详细步骤。 38. 如何让 ABAP 报表在后台作业的模式下运行 大家如果照着上述文章的步骤走一遍,会发现这些手动执行的步骤还是有些繁琐的。 有没有可能让这一切都自动化起来,即通过 ABAP 代码去完成呢?当然可以。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1944

22、嵌入式软件随机延迟生成与加密算法防护技术

本文探讨了嵌入式软件中的随机延迟生成方法与块密码软件实现的高阶掩码及洗牌技术。重点介绍了浮动均值延迟生成方法,其在8位AVR平台上的实现效率为Θ(1),显著提升了抗相关功率分析(CPA)攻击的能力,相比传统方法更安全且轻量。同时,分析了高阶掩码与洗牌技术结合的方案,通过理论建模量化其对高级差分功率分析(DPA)攻击的抵抗能力,并以AES为例展示了该方案的应用流程。最后对比了不同防护技术在安全性与开销之间的权衡,为实际应用中选择合适的安全策略提供了依据。未来可进一步优化实现效率并融合多种防护手段以应对复杂安全

fern8的博客 88

初识Cpp之 一、基础知识

​ C++融合了三种不同的编程方式:1、C语言代表的过程性语言,2、C++在C语言的基础上添加的类代表的面向对象语言,3、C++模板支持的泛型编程。使用C++的原因之一是为了利用其面向对象的特性。要利用这种特性,必须对标准C语言知识有较为深入的了解,因为它提供了基本类型、运算符、控制结构和语法规则。​ 面向对象编程(Object Oriented Programming, OOP)的诞生,试图让语言来满足问题的要求,其理念是设计与问题本质特性相对应的数据格式。

Shen Mu Xin's Blog 2989

ADS基础教程22 - 有限元电磁仿真(FEM)

一、引言二、FEM操作过程1.新建Layout1.新建Layout2.EM设置3.设置Frequency plan4.设置Output plan5.设置Options6.设置网格频率7.仿真结果三、总结介绍了在ADS中如何进行FEM仿真过程。END!}}END!

XZ_ZC的博客 2580

【Cpp】第一章-Cpp入门

第一章 C++入门 C++简介 什么是C++   C语言是面向过程式的语言,在处理小规模的问题时则能体现出其简单易上手的的优势,但是在面对大型程序或需要高度抽象化的程序时,C语言就显得略有鸡肋。在20实际80年代,计算机界为了解决软件危机提出了面向对象(OOP)思想的变成模式,于是支持OOP的编程语言也应运而生。   1982年Bjarne Stroustrup博士在C语言的基础上引入并且扩充了面...

qq_41669298的博客 606

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Cpp入门基础

定义命名空间,需要使⽤到namespace关键字,后⾯跟命名空间的名字,然后接⼀对{}即可,{}中 即为命名空间的成员。命名空间中可以定义变量/函数/类型等。namespace本质是定义出⼀个域,这个域跟全局域各⾃独⽴,不同的域可以定义同名变量,所以下 ⾯的rand不在冲突了。C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找⼀个变量/函数/ 类型出处(声明或定义)的逻辑,所有有了域隔离,名字冲突就解决了。

2401_86658278的博客 5184

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【Cpp】 第一章 C++入门

C++入门

记录 849

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C++ 在一个cpp文件中使用另一个cpp文件中定义的函数

C++ 在一个cpp文件中 使用另一个cpp文件中定义的函数建立一个console项目头文件cpp文件main.cpp 建立一个console项目 以dev为例,在【文件】【新建】【项目】,新建一个console项目。 头文件 添加新文件,输入说要使用函数的声明,保存为.h文件。 int add(int a,int b); cpp文件 定义在.h中声明的函数,保存为.cpp文件。 #include<iostream> #include"chen.h"//不要忘记这个 int a

m0_43456002的博客 9264

【Cpp】《Effective C++》第一章-让自己习惯C++

  这是我在学习《Effective C++》中总结得出的心得与体会,完全是以我自己的理解所作的笔记,是对个人经验的积累。基于第三版我以每个章节进行总结,全书一共九个章节。 第一章-让自己习惯C++ 条款01:视C++为一个语言联邦   View C++ as a federation of languages.   在初期Cpp被开发之初,Cpp并没有如今这样丰富的功能,它更应该被称为仅是一个带...

qq_41669298的博客 341

CPP基础知识

CPP 基础知识(一) author:dr@g0n 由于一些原因需要用到cpp的知识,所以在此处记录学习,更多更新内容请看yuque(https://www.yuque.com/along-ojern/mob3of/psynut) 此学习小结,更具Cherno的youtube教程总结而来,他的cpp教程简介易懂,十分适合有一定开发编程经验的同学(https://www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0

Y_KolaFish_Y的博客 6457

C++学习笔记(七)——log4cpp

C++学习笔记(七)——log4cpp log4cpp的下载与安装 1.下载log4cpp-1.1.1.tar.gz 2. 安装:先将log4cpp-1.1.1.tar.gz拖入用户主目录, 然后再执行以下步骤: $ sudo cp log4cpp-1.1.1.tar.gz /usr/local $ su # cd /usr/local # tar zxvf log4cpp-1.1.1.tar.g...

weixin_39828926的博客 519

C++ primer 5th 第一章学习笔记

1.1编写一个简单的C++程序 int main() { return 0; } 一个函数包括四个部分:返回类型(return type )、函数名(function name)、参数列表(parameter list,允许为空)以及函数体(function body) 在大多数系统中,main的返回值被用来表示指示状态。返回值0表示成功,非0的返回值的含义由系统决定,通常用来指出错误类型 1.1.1 编译、运行程序 介绍下linux下g++常用指令 g++ -E 1.cpp &

yxx21的博客 225
上一篇: C++学习笔记(第一章 C++的基础知识 之一)
下一篇: C++学习笔记(第二章 数据类型 变量 表达式 if语句)
James_dw
博客等级 码龄17年 19粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值