【c++笔记】总结!c++与c语言的不同之处
(Θ3Θ) hi~
众所周知\(^o^)/~,c语言和c++联系密切,又相互区别,本篇文章主要介绍c++与c语言的区别与联系以及一些简单的不同点的运用,很适合刚接触c++的朋友,一起来瞧瞧看吧~~
目录
一、文章内容梗概
二、概念篇:简述c++与c语言的区别
part 1:区别
part 2:联系
三、实战篇
part 1:基本区别
part 2:求字符串长度
①c语言
②c++
方法1:size()函数
方法2:length()函数
part 3:输入输出精讲(输出固定位数的浮点数以及换行等一系列操作)
①c语言
②c++
输入输出知识点总结
setprecision与fixed函数
endl函数
总结:
一、文章内容梗概
①概念篇:简述c++与c语言的区别
②实战篇:c语言与c++的不同使用场景
③总结
二、概念篇:简述c++与c语言的区别
part 1:区别
1. 语法:C语言的语法比较简单和直接,更接近底层的计算机操作。C++语言在C语言的基础上增加了面向对象编程(OOP)的特性,如类、继承、多态等;
2. 面向对象编程:C语言不直接支持面向对象编程,而C++语言是一种面向对象的编程语,C++通过类和对象的概念,提供了封装、继承和多态等特性,使得程序更易于组织、重用和维护;
3. 标准库:C语言的标准库主要包含了一些基本的函数和数据类型,如stdio.h、stdlib.h等,C++语言的标准库更加丰富,除了C语言的标准库之外,还包含了更多的容器、算法、字符串处理等功能,如iostream、vector、string等;
4. 异常处理:C语言不直接支持异常处理机制,而C++语言提供了异常处理的机制,用于捕获和处理运行时的异常情况;
part 2:联系
1. 共同的基础:C++语言是在C语言的基础上发展而来的,因此它们有许多共同的基础,如变量、数据类型、运算符等;
2. 兼容性:C++语言保持了对C语言的兼容性,可以使用C语言的代码,并且C++编译器可以编译C语言的代码;
3. 相似的编程风格:尽管C语言和C++语言在语法和特性上有所区别,但它们都鼓励使用结构化的编程风格,注重模块化和可读性;
4. 底层系统编程:C和C++都可以用于底层的系统编程,如操作系统、嵌入式系统等,因为它们提供了对硬件的直接访问和控制的能力;
三、实战篇
part 1:基本区别
//c语言
头文件:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
....等等
输入输出:
scanf
printf
//c++
万能头文件(先只讲这个)
#include <bits/stdc++.h>
using namespace std;
输入输出:
cin>>;
cout<<;
part 2:求字符串长度
题目描述
输入一个不小于 100100 且小于 10001000,同时包括小数点后一位的一个浮点数,例如 123.4123.4 ,要求把这个数字翻转过来,变成 4.3214.321 并输出。
输入格式
一行一个浮点数
输出格式
一行一个浮点数
输入案例:
123.4
输出案例:
4.321
①c语言
#include <stdio.h>
#include <string.h>
int main()
{char a[100];gets(a);int len;len=strlen(a);for(int i=len-1;i>=0;i--)printf("%c",a[i]);return 0;
}
这里用到的是strlen函数,注意也要用到<string.h>头文件
②c++
方法1:size()函数
#include <bits/stdc++.h>
using namespace std;
string a;
int main()
{cin>>a;int len=a.size();
for(int i=len-1;i>=0;i--)
{cout<<a[i];
}
return 0;
}
方法2:length()函数
#include <bits/stdc++.h>
using namespace std;
string a;
int main()
{cin>>a;int len=a.length();
for(int i=len-1;i>=0;i--)
{cout<<a[i];
}
return 0;
}
这里对字符串的运用与c语言的很大区别在于需要先定义字符串:string a,然后再运用a.size或者a.length函数进行计算字符串长度
part 3:输入输出精讲(输出固定位数的浮点数以及换行等一系列操作)
题目描述
现在有 t毫升肥宅快乐水,要均分给 n 名同学。每名同学需要 2 个杯子。现在想知道每名同学可以获得多少毫升饮料(严格精确到小数点后 3 位),以及一共需要多少个杯子。
输入格式
输入一个实数 t 和一个正整数 n,使用空格隔开。
输出格式
输出两行,第一行输出一个三位小数,表示可以获得多少毫升饮料。第二行输出一个正整数,表示一共需要多少个杯子。
输入样例
500.0 3
输出样例
166.667
6
①c语言
#include <stdio.h>
int main()
{double a;int b;scanf("%lf%d",&a,&b);printf("%.3lf\n%d",a/b,b*2);return 0;
}
②c++
#include <bits/stdc++.h>
using namespace std;
int main()
{double a;int b;cin>>a>>b;
cout<<setprecision(3)<<fixed<<a/b<<endl<<b*2;
return 0;
}
输入输出知识点总结
①输入:
可连续输入如:cin>>a>>b;并且不用注明类型
②输出:
输出固定位数时:用setprecision函数-----------------------------下有函数介绍-----------------------输出时的四舍五入:用到fixed函数-----------------------------下有函数介绍-----------------------
输出换行:用到endl-----------------------------下有函数介绍----------------------------
同样的是,输出操作也可以连续进行且不用注明类型
③最后注意
在c++中也可穿插c语言的函数,比如输入输出,所以本题还可以写为
#include<cstdio> #include<iostream> using namespace std; int main() {double a;int b;cin>>a>>b;printf("%.3lf\n%d\n",a/b*1.0,b*2);return 0; }
setprecision与fixed函数
fixed函数仅在iomanip头文件中定义,该函数可以控制输出的浮点数的小数位数。与其他输出控制函数不同的是,fixed函数将指定小数位数之后的输出数字按照四舍五入进行保留。
使用fixed函数时,需要使用流对象的setprecision函数指定所需的小数位数,并使用固定点表示法,即使用std::fixed修饰符来指定输出格式。
endl函数
endl英语意思是end of line,即一行输出结束,然后输出下一行。endl与cout搭配使用,意思是输出结束。
总结:
①虽然都是一些大水题没错,但其中也蕴含不少有关c语言与c++的区别,如果对我的文章有什么建议或者想法的话,欢迎私信或者评论,我一定会改正的!
②感谢您的耐心看到最后,祝您生活愉快,学业进步!我们下次见~┏(^0^)┛
相关文章:
【c++笔记】总结!c++与c语言的不同之处
(Θ3Θ) hi~ 众所周知\(^o^)/~,c语言和c联系密切,又相互区别,本篇文章主要介绍c与c语言的区别与联系以及一些简单的不同点的运用,很适合刚接触c的朋友,一起来瞧瞧看吧~~ 目录 一、文章内容梗概 二、概念…...

大模型PEFT技术原理(一):BitFit、Prefix Tuning、Prompt Tuning
随着预训练模型的参数越来越大,尤其是175B参数大小的GPT3发布以来,让很多中小公司和个人研究员对于大模型的全量微调望而却步,近年来研究者们提出了各种各样的参数高效迁移学习方法(Parameter-efficient Transfer Learning&#x…...

VMware vSphere运维管理手册
适用版本:VMware vSphere 7.0 VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。vSphere 将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 
居中面试问题
前端常问居中面试问题 css文本居中 文本水平居中 <div class"father"><div class"child"><div> <div>子类元素为行内元素,则给父类元素定义text-align:center 如果子元素是块元素,则给子元素定义margin&…...
网页设计-用户体验
Use Cases (用例) 用例是用户如何在网站上执行任务的书面描述,从用户的角度描述了系统响应请求时的行为。每个用例都是用户实现目标的一系列简单的步骤。简言之,用例是一种用于描述系统如何满足用户需求的方法。 用例的好处 1. 明确需求: Use…...

docker应用:vocechat
简介:VoceChat是一款超轻量级的Rust聊天应用程序、API和SDK,优先考虑私人托管。使用VoceChat建立您自己的聊天功能!作为一款非常好用的通讯应用程序,它可以让你与朋友、家人和同事进行即时消息聊天,支持图片视频的分享…...

linux 02 vmware的快照,文件管理
01.快照 使用快照: 同时的快照管理器: 如果想要返回快照,选择要选择的快照,跳转 02. 文件管理: cd 修改当前路径 02.touch 创建文件 03. mkdir 创建文件夹 mkdir -p 文件夹 (创建之前没有的上级文件…...

项目架构之Zabbix部署
1 项目架构 1.1 项目架构的组成 业务架构:客户端 → 防火墙 → 负载均衡(四层、七层) → web缓存/应用 → 业务逻辑(动态应用) → 数据缓存 → 数据持久层 运维架构:运维客户端 → 跳板机/堡垒机&#x…...

RocketMQ源码阅读-Message消息存储
RocketMQ源码阅读-Message消息存储 1. CommitLog的作用2. CommitLog 存储消息3. 时序图4. 小结 在Broker消息接收一篇中,分析到Broker接收到消息,最终会调用CommitLong#putMessage方法存储消息。 本篇来分析CommitLong#putMessage存储消息的流程。 1. C…...

《C语言学习》---郝斌版---笔记
简介 学习计算机,离不开C语言的学习,而C语言学习过程中的视频课教程,目前来说,如果郝斌老师的C语言排第二,没有人敢排第一 郝斌老师的C语言教程,通俗易懂,引人发思,特别适合新手入门…...

Python(32):字符串转换成列表或元组,列表转换成字典小例子
1、python 两个列表转换成字典 字符串转换成列表 列表转换成字典 column "ID,aes,sm4,sm4_a,email,phone,ssn,military,passport,intelssn,intelpassport,intelmilitary,intelganghui,inteltaitonei,credit_card_short,credit_card_long,job,sm4_cbc,sm4_a_cbc" …...

CentOS 7 安装私有平台OpenNebula
目录 一、配置yum源 二、配置数据库MySQL 2.1 安装MySQL 2.2 修改MySQL密码 2.3 创建项目用户和库 三、安装配置前端包 四、设置oneadmin账号密码 五、验证安装 5.1 命令行验证安装 5.2 数据存放位置 5.3 端口介绍 5.4 命令介绍 六、访问 6.1 设置语言 6.2 创建主…...

(aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
1. 背景介绍 在先前的博客文章中,我们已经搭建了一个基于SRS的流媒体服务器。现在,我们希望通过Web接口来控制这个服务器的行为,特别是对于正在进行的 RTSP 转码任务的管理。这将使我们能够在不停止整个服务器的情况下,动态地启动…...
基于STM32微控制器的四轮智能小车控制系统设计
标题:基于STM32微控制器的四轮智能小车控制系统设计与实现 摘要: 本文针对移动机器人领域的应用需求,详细介绍了基于STM32系列单片机(以STM32F103C8T6为例)为核心的四轮小车控制系统的设计和实现过程。该系统集成了电…...
JPA的复杂查询包括一对多多对一和多对多的查询
1. 多表关联查询和排序 假设我们有两个实体类:Customer和Order,它们之间是一对多的关系,即一个客户可以有多个订单。我们想要查询某个客户的所有订单,并按订单金额进行降序排序。 Entity Table(name "customers") pu…...

电脑文件mfc100u.dll丢失的解决方法分析,怎么修复mfc100u.dll靠谱
mfc100u.dll丢失了要怎么办?其实很多人都遇到过这样的电脑故障吧,说这个mfc100u.dll文件已经不见了,然后一些程序打不开了,那么这种情况我们要怎么解决呢?今天我们就来给大家详细的说说mfc100u.dll丢失的解决方法。 一…...

从DETR到Mask2former(2): 损失函数loss function
DETR的损失函数包括几个部分,如果只看论文或者代码,比较难理解,最好是可以打断点调试,对照着论文看。但是现在DETR模型都已经被集成进各种框架中,很难进入内部打断掉调试。与此同时,数据的label的前处理也比…...

Java21 + SpringBoot3集成WebSocket
文章目录 前言相关技术简介什么是WebSocketWebSocket的原理WebSocket与HTTP协议的关系WebSocket优点WebSocket应用场景 实现方式1. 添加maven依赖2. 添加WebSocket配置类,定义ServerEndpointExporter Bean3. 定义WebSocket Endpoint4. 前端创建WebSocket对象 总结 前…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...

深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...

如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...