当前位置: 首页 > news >正文

【C++学习】函数及分文件编写

一、函数定义

定义函数的五个步骤:

1.返回值类型,
2.函数名,
3.参数列表,
4.函数体语句,
5.return 表达式
//实例
int add(int a, int b)
{int sum = a + b;return sum;
}
//函数的常见样式:1.有参无返,2.无参无返,3.无参有返,4.有参有返

int 代表add函数的返回值是int类型
add为该函数的函数名
(int a,int b)表示函数接收a,b两个整形的形参
return sum 指这个函数最终返回一个名为num的整形数

注意:函数的声明,函数可以先声明再定义,可多次声明,只能定义一次

二、分文件编写

创建如下文件:
1.main.cpp文件,写main函数作为程序的主入口
2.swap.h自定义头文件
3.swap.cpp源文件

在这里插入图片描述
步骤:
1.编写main.cpp,搭建入口

#include <iostream> //标准输入输出控件
#include <iomanip>
#include <string>  //使用string声明字符串时必须包含
#include <cstdlib> //汉化
using namespace std;int main()
{system("chcp 65001 >nul"); // 汉化return 0;
}

2.编写自定义头文件swap.h

// 此处需要与头文件名保持一致
#ifndef SWAP_H  // 防止头文件重复包含(预处理指令)
#define SWAP_H#include <iostream> //标准输入输出控件
#include <iomanip>
#include <string>  //使用string声明字符串时必须包含
#include <cstdlib> //汉化
using namespace std;void swap();//在头文件中声明函数,但不定义#endif  // SWAP_H

3.编写源文件

// 注意,系统头文件使用<>包裹,自定义头文件使用""包裹
#include "swap.h"
void swap()
{int a = 0;int b = 0;cout << "请输入第一个数:";cin >> a; //cin接收键盘的输入cout << "请输入第二个数:";cin >> b;cout << "最大的数是:" <<( a > b ? a : b )<< endl;
}

4.在main.cpp导入自定义头文件,并调用swap函数

#include <iostream> //标准输入输出控件
#include <iomanip>
#include <string>  //使用string声明字符串时必须包含
#include <cstdlib> //汉化
#include "swap.h" //引入自定义头文件
using namespace std;int main()
{system("chcp 65001 >nul"); // 汉化//调用swap函数swap();// 函数功能:输入两个数据,比较大小后将最大的输出return 0;
}

运行结果
在这里插入图片描述

三、task.json配置

继上一篇vscode配置c++开发环境,学习函数分文件编写时发现,原来的配置导致编译器只会编译当前的文件,作为源文件的swap.cpp未能编译.所以按照上篇配置环境并使用cmd命令窗口时,应该修改配置项如下(上一篇已做同步修改):

"${fileDirname}/*.cpp"代表编译根目录下所有cpp文件

{"version": "2.0.0","tasks": [{"label": "编译并弹出 cmd 窗口","type": "shell","command": "C:\\WINDOWS\\System32\\cmd.exe",  // 直接调用 cmd 终端"args": ["/c",  // cmd 的参数:执行完命令后关闭当前 cmd(不影响新窗口)// 完整的编译+运行命令(作为一个字符串传给 cmd)"g++ \"${fileDirname}/*.cpp\" -o \"${fileDirname}\\${fileBasenameNoExtension}.exe\" && start cmd /k \"${fileDirname}\\${fileBasenameNoExtension}.exe\""],"presentation": {"reveal": "never"  // 隐藏 VS Code 内置终端},"group": {"kind": "build","isDefault": true}}]
}
http://www.dtcms.com/a/520317.html

相关文章:

  • 网站免费推广计划新闻视频网站开发
  • 推进网站集约化建设的作用易企秀h5页面怎么制作
  • 2025年--Lc209- 75. 颜色分类(排序)--Java版
  • 郑州网站维护推广西安网站建设管理
  • 为 Claude Code CLI 提供美观且高度可定制的状态行,具有powerline support, themes, and more.
  • 第156期 适用于RAG的最佳开源嵌入模型 多语言自然语言处理及阿拉伯语文本的高性能开源嵌入模型
  • 公司网站建设需要哪些方面土地流转网站开发
  • Grafana监控可视化
  • GEO数据分析与效果归因:GEO 效果的多维度分析框架
  • 31.stream数据类型应用
  • 蓝牙协议6.1
  • 微服务中的服务熔断、降级与限流
  • 查网站的建站系统百度搜索网站图片
  • 网站界面风格设计描述网站类网站开发犯罪吗
  • 新站点seo联系方式设计工作室网站首页
  • Adobe Lightroom Classic 2025解锁版 (专业照片管理)
  • univla复现libero
  • kubernets的pod管理
  • 14、【Ubuntu】【VSCode】VSCode 断联问题分析:hostname(二)
  • Java 堆排序(Heap Sort)详解教程
  • 软件设计师知识点总结:操作系统
  • 黄岩路桥网站设计网站流量提升方案
  • 设计师网站欣赏店铺只做商品展示网站怎么做
  • dify部署及SSL自签实现
  • 云南省建设厅标准员网站手机兼职赚钱
  • Redis哈希表渐进式rehash深度解析:为何百万数据迁移不阻塞服务?
  • 广东省省考备考(第一百三十一天10.23)——科学推理:电学(第六节课)
  • Spring的三级缓存和SpringMVC的流程
  • 为什么麒麟信创系统需要开启overcommit_memory才能安装postgresql成功
  • PostGresql All语法