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

爬取国家统计局最近10年年度数据

一、编码流程 1.目标网址:https://data.stats.gov.cn/easyquery.htm?cn=C01 2.编码思路: (1) 解析左侧指标树,实现4级标签定位 (难点:层层嵌套,下一级指标的xpath路径以上一级指标为基础;不是所有二级指标都含有三和四级指标,需要进行判断) (2) 使用selenium webdriver 点选指标,加载出右侧表格数据 (难点:当指标无法在全局页面显示时,需向下拖动滚动条) (3) 解析右侧数据,实现数据存储 3.使用模块: (1) selenium:解

weixin_39645690的博客 4561

cout的用法

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

weixin_34124577的博客 2956

使用DDR4控制器实现多通道数据读写

这种高带宽对于大量的数据的应用非常重要。对于Controller/PHY Mode 的选择,我们使用Controller + PHY模式,Xilinx UltraScale/UltraScale+等高端FPGA通常包含硬核PHY,选择Controller + PHY模式可直接利用硬核,降低功耗和延迟,并且此模式的开发更易上手。在Basic页面下,首先勾选上AXI4 Interface选项,我们选用的内存接口速度为2133MHz的ddr4芯片,由于双沿触发,频率为1066MHz,那么周期应为938ps。

weixin_38828382的博客 1364

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

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

雪域之狼 713

逐飞vs龙邱:英飞凌miniwiggler仿真器硬件接口差异全解析(附拆机对比图)

本文通过拆解对比逐飞与龙邱两家厂商的英飞凌miniwiggler仿真器,详细解析了其硬件接口的核心差异。重点分析了Type-C接口的取舍、DAP调试协议(SWD)的支持、电源设计(跳线帽vs拨码开关)以及工艺用料,为嵌入式开发者与智能车竞赛选手提供了清晰的选型参考和实际应用建议。

weixin_29189003的博客 113

ANSYS材料库实战:手把手教你用APDL命令流定义混凝土和形状记忆合金

本文详细介绍了在ANSYS中使用APDL命令流定义混凝土和形状记忆合金(SMA)的高级建模技巧。通过SOLID65单元和SMA本构模型,工程师可以精确模拟非线性材料行为,包括混凝土的开裂和SMA的超弹性效应。文章提供了完整的命令流示例和求解策略优化建议,帮助用户提升工程仿真效率。

hh234的博客 486

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

GBT 27930-2015/2023国标充电协议A类CAN报文ID说明

国标充电CAN的ID,仅供学习参考。

qqq080的博客 7810

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

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

mmdev 160

[VCS]VCS dump fsdb的精细化控制

本文介绍了VCS FSDB波形dump的精细化控制方法。主要内容包括:1)基本dump方式;2)通过$fsdbDumpoff排除特定层次;3)使用$fsdbDumpvars选择性dump指定模块;4)运行时动态控制dump开关;5)通过文件管理排除列表($fsdbDumpoffFile或自定义读取);6)层次控制策略(剪除整棵树或仅当前层)。这些方法可有效控制波形文件大小,提高仿真效率。

元直的博客 1033

华为OD机试真题 新系统 - 8位LED控制器 (Java/Py/C/C++/Js/Go)

本文整理华为 OD 机试新系统机考真题库,涵盖高频考点精析与完整题目内容,提供 C 语言、Java、C++、Python、Go、JavaScript 多语言源码实现,搭配详细解题思路讲解,并支持在线 OJ 刷题练习,助力高效备考华为 OD 机试新系统。

算法大师! 1977

初识Cpp之 一、基础知识

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

Shen Mu Xin's Blog 2989

YOLOv11损失函数进阶:融合SmoothL1与FocalLoss,让检测精度再涨10%的实战教程

在YOLOv11的这里的beta参数控制“L1与L2的过渡阈值”,默认设为1.0即可兼容多数场景。同样在# 计算动态alpha(基于类别样本数,需提前统计self.class_counts)# 交叉熵基础# FocalLoss权重else:使用前需统计数据集的(每个类别的样本数),并传入的alpha参数。损失函数是YOLOv11精度的“灵魂”——SmoothL1让边界框回归“稳、准、狠”,改进FocalLoss让类别分类“雨露均沾”。从代码改造到实战落地,本教程已为你搭建了一条精度跃升的路径。

m0_64661770的博客 213

【Cpp】第一章-Cpp入门

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

qq_41669298的博客 606

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Cpp入门基础

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

2401_86658278的博客 5183

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【Cpp】 第一章 C++入门

C++入门

记录 849

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

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、付费专栏及课程。

余额充值