C++学习/温习:新型源码学编程(一)

news2024/11/28 16:43:15

写在前面

  • 本文约15页,如觉得文章过长请通过左侧边栏或知识点概览目录浏览食用
  • 面向初学者撰写专栏,个人原创的学习C/C++笔记(干货
  • 编程练习所作源代码输出内容为中文,便于理解
  • 如有错误之处请各位读者指正
  • 请读者评论回复、参与投票,反馈给作者,我会获得持续更新笔记干货的动力。

致粉丝:可以在阅读完我的文章后,自己尝试写一点原创心得(哪怕一行字也好)。
               希望众(尽管590个🤣)粉丝多多支持、浏览、自我创作@_@


本文源代码及生成程序下载链接

本文源代码(解决方案)下载链接https://download.csdn.net/download/Chinese_mad_Boy/87350778


 知识点概览

写在前面

本文源代码及生成程序下载链接

 知识点概览

C++ Primer Plus编程练习2.7笔记

一.姓名地址打印

1.头文件与C++库中控制输入输出的头文件

2.主函数main(){}以及int整型

3.命名空间namespace与std

4.cout输出流

5.停留生成程序窗口的方法

二.长度单位转换

三.自定义函数

1.void函数声明

2.空函数简单调用

四.年龄转月份

学习C++基本数值类型

五. (实用程序)温度单位转换    简洁易懂地介绍C++参数

1.自定义带参数函数声明

2.调用带参数函数并且将实际参数带入

3.带参数函数返回值计算

六.长度单位转换(光年—>天文单位)(参数详解) 简洁易懂地介绍C++参数

 七.(实用程序)小时 : 分钟电子表式显示

结语


C++ Primer Plus编程练习2.7笔记

一.姓名地址打印

编写一个C++程序,它显示您的姓名和地址。

//2.7_1.cpp
//控制台打印姓名地址
#include<iostream>							//输入输出
int main()
{
	using namespace std;					//省去“std::”
	cout << "姓名:" << "YHLZ" << endl;		//"YHLZ"处便于更改姓名
	cout << "地址:" << "中国" << endl;		//"中国"处可增添地址
	
    //VS2022生成的程序自动等待按任意键退出
	//其他编译器防止提示符窗口自动退出解决方法:
	//方案一:cin.get();
	//方案二(推荐):system("pause");

	return 0;								//主函数返回
}

1.头文件与C++库中控制输入输出的头文件<iostream>

   #include<iostream>       
(#include)包含一个头文件。
(<iostream>)C++库自带控制输入输出的头文件,i=input(入),o=output(出),stream(流)。

2.主函数main(){}以及int整型

int main(){}
int 代表此函数为整型(返回无小数部分值,如return 0)。
main 是必须有的源代码必须有的主函数。
小括号()中可以包含参数,空的小括号指无参数,可以用(void)表示。
花括号{}中包含函数体,可以包含声明、语句等。

3.命名空间namespace与std

using namespace std;
using namespace 可以使用 std 所包含的命名空间,这条语句在此代码主函数中,可以省去主函数中所有原本需要写的 std::。
若这条语句放在主函数外(可以在源代码顶部),则可以省去整个源码中用到 std::地方的std::前缀
使用标准C++库函数时必须使用 std 限定。std 限定在<iostream>头文件中的 cout(c 输出)、cin(c 输入)等标准函数

4.cout输出流

cout << "姓名:" << "YHLZ" << endl;
<<将右侧信息插入到 cout 输出流中,每条字符串信息用""半角双引号引起来,endl 指示换行,C++与C语言也可以使用 \n 作为换行符,但换行符不可放在变量名、函数名、参数名等处。

5.停留生成程序窗口的方法

    //VS2022生成的程序自动等待按任意键退出
    //其他编译器防止提示符窗口自动退出解决方法:
    //方案一:cin.get();
    //方案二(推荐):system("pause");

源代码运行示例如下:


二.长度单位转换

编写一个C++程序,它要求用户输入一个以 long 为单位的距离,然后将它转换为码(yard)(1long=220码)

//2.7_2.cpp
//长度单位转化
#include<iostream>								 //输入输出
int main()
{
	using namespace std;					     //省去“std::”
	double d_Long,d_Yard;                        //声明double浮点型长度单位long的数值与英码yard的数值
	cout << "请输入长度(单位:long):" ;	
	cin >> d_Long;								 //将输入流中的浮点型数值传输给d_Long
	d_Yard = 220 * d_Long;						 //计算long单位转换为yard单位
	cout << d_Long << "long=" <<d_Yard <<"yard." << endl;
												 //输出(打印)转换式
	return 0;
}

1.double浮点型声明

double d_Long,d_Yard;
double 声明浮点型(有小数部分)变量,变量名命名采用 d(double 缩写)+下划线_+便于理解的实用名称 long 与 yard(实际题目要求的长度单位英文名)。
//作者命名偏好下划线且第二个单词开始大写

2.cin输入流

cin >> d_Long;
cin 捕获用户输入流,将输入的内容传输给变量 d_Long。C++是面向对象型编程语言,将输入流发送给对象并且智能选择类。

3.乘法赋值计算

d_Yard = 220 * d_Long;
计算部分,将捕获的long单位数值*220的结果从左向右赋给赋值号(=)左侧的yard具体数值
也可以通过这段代码替换实现

cin >> d_Long;
cout << d_Long << "long=" << d_Long*220 <<endl;
//前面省去对英码数值变量d_Yard的声明,直接用算式代替 

源代码运行示例如下:


三.自定义函数

编写一个C++程序,它使用3个用户自定义的函数(包括 main()),并生成下面的输出:
Three blind mice(三盲鼠)
Three blind mice
See how they run(视其何行)
See how they run
其中一个函数要调用两次,该函数生成前两行;另一个函数也被调用两次,并生成其余的输出

//2.7_3.cpp
//自定义函数
#include<iostream>
using namespace std;     //全局范围省去“std::”书写
void t();		    	 //声明不带参数、无返回值的自定义函数,该函数输出句子首字母为T
void s();				 //声明不带参数、无返回值的自定义函数,该函数输出句子首字母为S
int main()
{
	t();				 //函数调用
    t();
	s();
	s();
	return 0;	    	 //主函数有返回值0(整型)
}
void t()
{
	cout << "Three blind mice" << endl;
}
void s()
{
	cout << "See how they run" << endl;
}

1.void函数声明

void t();
void表示该自定义函数无返回值,()表示无参数,这句声明代码中新建了一个名为t的函数
当然也可以使用其他命名,例如function函数的英文缩写或者其他名字。

2.空函数简单调用

t();
函数声明在源码顶部,函数体void t(){}在主函数下面,那么可以在主函数中直接调用函数。
函数体中可以包含语句、变量声明等。该函数只有执行打印输出流的语句。

源代码运行示例如下:


四.年龄转月份

编写一个程序,让用户输入年龄,然后显示该年龄包含多少个月,如下所示:
输入你的年龄:29

//2.7_4.cpp
//输入年龄转月份

#include<iostream>
int main()
{
	using namespace std;
	int y,m;                   //声明int整型时间数值y(年),m(月)
	cout << "请输入您的年龄:";
	cin >> y;				   //将输入流中的整型数值传输给y
	m = 12 * y;			       //月=12*年

	cout << y << "岁的朋友,您的年龄包含" << m << "个月。" << endl;
	//也可以用cout<<y<<"年有"<<y*12<<"月"<<endl;替换上面的代码,同时省去对变量m的声明与赋值计算

	return 0;
}

学习C++基本数值类型

此程序与程序 2.7_2.cpp 相类

源代码运行示例如下:


五. (实用程序)温度单位转换

编写一个程序,其中主函数调用一个用户自定义的函数(以摄氏温度值为参数,并返回相应的华氏温度值)。该程序按下面的格式要求用户输入摄氏温度值,并显示结果:
请输入摄氏温度值:
20
20摄氏度是68华氏度
℉=1.8×℃+32.0

方案一(未自定义函数,较简单)

//2.7_5_1.cpp
//方案一
//实用程序:温度单位转换
#include<iostream>
int main()
{
	using namespace std;			  //省去“std::”
	double C, F;                      //声明温度单位℃的数值与℉的数值
	cout << "请输入温度(单位:℃):";
	cin >>C;						  //将输入流中的浮点型数值传输给C
	F = 1.8 * C+32.0;				  //计算℉结果赋值给F
	cout << C << "℃=" << F << "℉" << endl;
	//输出转换结果,先给用户展示验证输入℃,再展示转换结果℉
	return 0;
}

1.F = 1.8 * C+32.0;
单独将赋值运算过程提取出来,便于修改数值(此程序为温度转换公式常量,没必要修改数值)

2. cout << C << "℃=" << F << "℉" << endl;
注意:如果使用符号“℃”与“℉”时,编译出的程序运行时符号显示可能出现问题
所以实际操作建议用方案二中的
输出转换结果,先给用户展示验证输入℃,再展示转换结果℉。这是一个好的编程习惯

方案二(自定义函数)

//2.7_5_2.cpp
// 方案二
//实用程序:温度单位转换
#include<iostream>
double c_To_F(double);
int main()
{
	using namespace std;							//省去“std::”
	double C,F;                                     //声明温度单位℃的数值与℉的数值
	cout << "请输入温度(单位:摄氏度):";
	cin >>C;								        //将输入流中的浮点型数值传输给C
	F = c_To_F(C);
	cout << C << "摄氏度相当于" << F<< "华氏度" << endl;
	//输出转换结果,先给用户展示验证输入℃,再展示转换结果℉
	return 0;
}
double c_To_F(double sum)
{
	return 1.8 * sum + 32.0;
}

1.自定义带参数函数声明

double c_To_F(double);
声明一个 double 浮点型的函数(用来实现计算摄氏度℃转华氏度℉)

返回一个浮点型数值(自动截断小数部分的没用的0)
并且声明这个函数包含 double 的参数

!注意:声明时必须注明有参数函数的参数类型

2.调用带参数函数并且将实际参数带入

F = c_To_F(C);
函数调用,参数带入。
调用函数 c_To_F 同时,用变量C(即摄氏温度值)换掉 c_To_F 函数块里的浮点型参数 sum ,将变量 C 的具体数值替换参数 sum。
函数
!注意:调用时省去函数类型double与参数类型double,参数名直接用带入变量名C代替即可

3.带参数函数返回值计算

double c_To_F(double sum)
{
    return 1.8 * sum + 32.0;
}
具体函数块
使用主函数中所提供的变量 C 代替参数 sum,进行计算
此时函数返回值就会赋给主函数中摄氏温度值变量 F 
!!注意:返回值部分仍需使用 sum ,因为运行前不知函数是否会被调用

源代码运行示例如下: 


六.长度单位转换(光年—>天文单位)(参数详解)

编写一个程序,其main调用一个用户定义的函数(以光年值为参数,并返回对应天文单位的值)。该程序按下面的格式要求用户输入光年值并显示结果:
请输入光年值:

4.2
4.2光年=265608天文单位
天文单位是从地球到太阳的平均距离(约1.5亿公里或9600万英里),光年是光一年走的距离(约10万亿公里或6万亿英里)(除太阳外,最近的恒星大约离地球4.2光年)。请使用double类型:
转换公式为1光年=63240天文单位

//2.7_6.cpp
//长度单位转换(光年—>天文单位)
#include<iostream>
double fun(double);                  //声明double浮点型返回值函数及参数类型
int main()
{
	using namespace std;
	double gn,tw;                    //变量gn指光年,tw指天文单位
	cout << "请输入光年:" << endl;
	cin >> gn;
	tw=fun(gn);
	cout <<gn<< "光年=" << tw<< "天文单位。" << endl;

	return 0;
}
double fun(double s)                 //具体函数块,说明形参s
{
	return 63240* s ;                //返回值的计算
}
  • 需讲解的代码:
  • double fun(double);
  • int main(){tw=fun(gn);}
  • double fun(double s){return 63240* s ;}

参数:任意函数括号里的一部分简洁易懂地介绍C++参数

main(void){}或main(){}指主函数main无参数

  1. 形参(形式参数)
    例如,double fun(double);这里第二个double声明形式参数是double类型
    double fun(double s){return 63240* s ;} 这里括号里的 s 是形式参数,
    形式上作为函数fun调用前的参数,计算会参照 s 的数值(尽管此时 s 还没有具体数值,需要到实际(调用)参数“借”来数值进行计算,自己只走过场)
    形式参数在调用会被实际参数代替。
  2. 实参(实际参数)
    例如,int main(){tw=fun(gn);} 这里主函数块里函数调用时,原本形式参数 s 的位置被实际有具体数值的 gn 代替,gn 就是实际应用到函数 fun 的计算中的实际参数。

源代码运行示例如下: 


 七.(实用程序)小时 : 分钟电子表式显示

编写一个程序,要求用户输入小时数和分钟数。在 main() 函数中将这两个值传递给一个void函数,后者以下面这样的格式显示这两个值
输入小时数:9
输入分钟数:12
时间:9 : 12

//2.7_7.cpp
//电子表时间显示
#include<iostream>
using namespace std;         //全局范围省去“std::”书写
void time(int,int);
int main()
{
	int h;
	int m;                   //变量h指小时(hour),m指分钟(minute)
	cout << "请输入小时数:";
	cin >> h;
	cout << "请输入分钟数:";
	cin >> m;
	time(h, m);              //函数调用,实参带入
	return 0;
}
void time(int num1,int num2) //具体函数块,声明形参num1,num2
{
	cout << num1 << " : " << num2 << endl;
	//注意:" : "是"空格+半角冒号+空格"
}

两个整型参数示例程序(见注释简洁解释)

源代码运行示例如下: 


结语

今天我们共同学习了C++头文件<iostream>,主函数、数值类型及函数参数等重要知识。
学习编程是一条漫长的路,贵在坚持。每天学习来提升自己的的编程能力,成为耀眼的IT之星。
各位读者跟随我的脚步,我们共同努力,共同进步吧!

返回作者主页

专栏下一篇文档:C++学习/温习笔记:源码学编程(二)

其它文章: 

                  C语言求幂运算(尽大支持)——中文式奇特命名

                  简洁易懂地介绍C++参数

                  学习C++基本数值类型 

                  C/C++基础运算符


 如有探讨问题联系邮箱:yhlz0613@163.com

对于文章中的错误请各位批评指正,我一定及时更正

请在投票后评论回复意见,如有关于写博文的指导也请您回复提出

 <!--感谢浏览                    诸君慢行且留言          过客匆匆常回访-->

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/180143.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言基础突破(一)——基础语法快速上手

文章目录一、本次学习重点内容&#xff1a;二、详细知识点介绍&#xff1a;1、什么是Go语言特点&#xff1a;2、为什么字节跳动全面使用go语言:3、开发环境——安装Golang&#xff1a;4、推荐编辑器&#xff1a;VScode、Goland5、基础语法1、HolleWorld2、基础语法——变量声明…

Ubuntu 玩机笔记

键盘Fn无法切换功能键与多媒体键 终端输入&#xff1a; echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode然后再长按 FnXL 约四秒即可成功使用Fn切换功能键与多媒体键。 永久生效 以上方法只是输入命令后生效&#xff0c;想要永久生效&#xff0c;可以进行如下操…

深度学习-吴恩达(C5)训练词向量

2.1 词汇表征 上周我们学习了RNN、GRU单元和LSTM单元。本周你会看到我们如何把这些知识用到NLP上&#xff0c;用于自然语言处理&#xff0c;深度学习已经给这一领域带来了革命性的变革。其中一个很关键的概念就是词嵌入&#xff08;word embeddings&#xff09;&#xff0c;这…

手机提供GMS支持(适用安卓和鸿蒙系统)

手机提供GMS支持 - 适用安卓和鸿蒙系统前言方式1&#xff1a;安装GMS套件&#xff08;不推荐&#xff09;方式2&#xff1a;安装OurPlay&#xff08;推荐&#xff09;方式3&#xff1a;安装Gspace&#xff08;推荐&#xff09;前言 本文提供多种为手机&#xff08;安卓和鸿蒙系…

数据库系统概论①——数据库系统基本概念

文章目录1、数据库的相关术语1.1 数据(Data)1.2 数据库(Database,简称DB)1.2.1 数据库的定义&#xff1a;数据库是长期储存在计算机内、有组织的、可共享的数据集合。1.2.2 数据库的特征1.3 数据库管理系统&#xff08;DBMS&#xff09;1.3.1 DBMS的主要功能1.4 数据库系统&…

自己动手写一个操作系统——MBR(4)_调试_elf_bin

文章目录前言elf 文件指定代码入口地址添加调试信息代码检验调试小结前言 通过 GDB 我们可以跟踪程序的执行&#xff0c; 并且能够看到寄存器的状态&#xff0c; 但是&#xff0c;上面这种调试方式&#xff0c;没有和代码对应起来&#xff0c;以致于我们无法直观地知道 CP…

CodeSYS之一EtherNET驱动禾川电机

硬件:HCFA Q0-1100系列CPU X3EB 驱动器, SV-X2MHO40A伺服电机,24V开关电源。 硬件连接: 电机三相线和编码器线接X3EB驱动器,24V电源接X3EB驱动器,驱动器IN网口接 CPUPort2,CPU接24V电源,Port1 接电脑。 这部分有问题可以直接进禾川官网 一、驱动器调试 接好先后,按驱动…

边缘检测、Padding、stride、三维卷积

目录1.边缘检测(edge detection)当我们做物体识别的时候&#xff0c;一般神经网络的前几层会进行边缘检测&#xff0c;然后检测到物体的一部分&#xff0c;最后检测到整个物体。边缘检测例子&#xff1a;垂直边缘检测器&#xff1a;中间的一个3x3的矩阵&#xff0c;我们称之为过…

力扣sql简单篇练习(六)

力扣sql简单篇练习(六) 1 变更性别 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # set子句中也是可以使用if函数的 UPDATE Salary SET sexif(sexf,m,f)1.3 运行截图 2 销售员 2.1 题目内容 2.1.1 基本题目信息1 2.1.2 基本题目信息2 2.1.3 示例…

代码随想录--二叉树章节总结 Part I

代码随想录–二叉树章节总结 Part I 1.Leetcode144 前序遍历二叉树 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历 解题思路1&#xff1a;使用递归解决。 public List<Integer> preorderTraversal(TreeNode root) {ArrayList<Integer> list …

c中对宏的理解(面试题)

1、gcc的编译过程&#xff1a;预处理、编译、汇编、链接 预处理&#xff1a;宏替换、删除注释、头文件包含、条件编译 -E &#xff08;不会发生报错&#xff09;生成预编译文件 将 01_code.c文件使用 gcc -E 01_code.c -o 01.i生成预编译文件01.i 可以10行的源文件看见生成800…

【c语言进阶】枚举与联合体的基本知识大全

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;c语言学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我…

1600_Cmake学习笔记_Cmake实践学习

全部学习汇总&#xff1a; GreyZhang/g_cmake: my learning notes for cmake tool. (github.com) 之前考虑过是否要学习Cmake&#xff0c;经过各种对比之后放弃了&#xff0c;我选择了去学习scons。在实际的工作以及学习中scons也的确给了我很大的受益。当时出于各种方面的原因…

PyQt5开发环境搭建 1.1 软件安装

写在前面的话&#xff08;1&#xff09;相对而言&#xff0c;python&#xff0c;PyQt5安装还是比较快的。Qt这个又大又慢。Eric也是需要比较长的时间。&#xff08;2&#xff09;安装失败很正常&#xff0c;多尝试几次&#xff0c;多查查&#xff0c;努力装好软件。安装和配置是…

【Linux】VM与Linux的安装

1.1 VMWare安装 1&#xff09;VMware Workstation Pro安装向导 2&#xff09;VMware Workstation安装的许可协议。 3&#xff09;VMware Workstation安装路径。 4&#xff09;VMware Workstation增强型键盘功能。 5&#xff09;VMware Workstation软件检查更新和帮助完善 6&am…

Linux常见的进程间通信

目录管道pipe匿名管道接口介绍示例代码fifo命名管道接口介绍代码示例匿名管道与命名管道的区别shm共享内存接口介绍相关指令代码示例特点总结信号信号量socket套接字管道 管道是一种较老的&#xff0c;半双工通信方式&#xff0c;即数据只能向一个方向流动&#xff08;即一个进…

力扣 2303. 计算应缴税款总额

题目 给你一个下标从 0 开始的二维整数数组 brackets &#xff0c;其中 brackets[i] [upperi, percenti] &#xff0c;表示第 i 个税级的上限是 upperi &#xff0c;征收的税率为 percenti 。税级按上限 从低到高排序&#xff08;在满足 0 < i < brackets.length 的前提…

spring笔记下(AOP、事务管理)

一、AOP概述 1. AOP介绍 AOP(Aspect Oriented Programming)&#xff1a;面向切面编程&#xff0c;一种编程范式&#xff0c;指导开发者如何组织程序结构&#xff0c;是oop的延续。&#xff08;OOP面向对象编程&#xff09; AOP作用&#xff1a;在不惊动原始设计的基础上为其进…

LeetCode刷题模版:221 - 230

目录 简介221. 最大正方形222. 完全二叉树的节点个数223. 矩形面积224. 基本计算器【未理解】225. 用队列实现栈226. 翻转二叉树227. 基本计算器 II【未理解】228. 汇总区间229. 多数元素 II230. 二叉搜索树中第K小的元素结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有…

【学习打卡 Free-Excel 】Task6 查找函数

文章目录1. VLOOKUP用法示例注意情况一情况二2. 通配符用法示例3.XLOOKUP用法匹配类型搜索模式1. VLOOKUP 用法 【VLOOKUP函数】VLOOKUP&#xff08;要查找的值&#xff0c;查找区域&#xff0c;要返回的结果在查找区域的第几列&#xff0c;精确匹配或近似匹配&#xff09;示…