【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^)┛


 

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

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

相关文章

世微 AP6317 DC单节同步3A锂电充电芯片

AP6317是一款面向5V交流适配器的3A锂 离子电池充电器。它是采用800KHz固定频率的同 步降压型转换器&#xff0c;因此具有高达92%以上的充电效 率&#xff0c;自身发热量极小。 包括完整的充电终止电路、自动再充 电和一个度达1%的4.2V预设充电电压&#xff0c;内 部集成了防反灌…

【算法Hot100系列】搜索旋转排序数组

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

web缓存之nginx缓存

一、nginx缓存知识 网络缓存位于客户端和 "源服务器 "之间&#xff0c;保存着所有可见内容的副本。当客户端请求缓存中存储的内容时&#xff0c;它可以直接从缓存中检索内容&#xff0c;而无需与服务器通信。这样&#xff0c;网络缓存就 "接近 "了客户端&a…

Opentsdb官方优化文档 - 翻译

文档地址 : Tuning — OpenTSDB 2.4 documentation Tuning As with any database there are many tuning parameters for OpenTSDB that can be used to improve write and read performance. Some of these options are specific to certain backends, others are global. …

在线双目测宽仪 板材实时监测和数据分析!

在各种板材类生产领域里&#xff0c;在线品质检测技术都是非常重要的&#xff0c;它很大程度上决定了生产的质量。在线双目测宽仪就是当前很受欢迎的一种宽度在线检测设备&#xff0c;它采用了双目视觉检测技术&#xff0c;实现宽度尺寸的在线检测&#xff0c;功能十分强大&…

java物品检验管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web 物品检验管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysq…

手把手教你如何用python进行数据分析!(附四个案例)

一、前期准备 三个包&#xff1a;Numpy、Pandas和matplotlib&#xff1b;工具&#xff1a;jupyter notebook。首先确保导入这两个包 #导入Numpy包 import numpy as np #导入Pandas包 import pandas as pd二、基础知识 Pandas有三种数据结构&#xff1a;Series、DataFrame和P…

2024 CSRankings全球计算机科学排名发布!清华AI第一,哈工大NLP第一

大家好我是二狗。 这两天全球计算机科学排名 CSRankings 2024发布啦&#xff01; 下面二狗就带大家来看一下最新的排名情况。 清华、北大、上海交大AI领域霸榜前三 在AI板块&#xff0c;主要有人工智能、计算机视觉、机器学习、自然语言处理、网络&信息检索5个细分领域。…

冥想第一千零三十四天

1.周三&#xff0c;跑步跑了6.5公里&#xff0c;很舒服。 2.项目上全力以赴的一天。 3.感谢父母&#xff0c;感谢朋友&#xff0c;感谢家人&#xff0c;感谢不断进步的自己。

[Docker] Mac M1系列芯片上完美运行Docker

docker pull qinchz/dm8-arm64 container_name: dm8ports:- "5236:5236"mem_limit: 1gmemswap_limit: 1gvolumes:- /data/dm8:/home/dmdba/data 数据库实例参数已修改&#xff0c;接近oracle使用习惯 #字符集 utf-8 CHARSET1 #VARCHAR 类型对象的长度以字符为单位 …

成员变量与局部变量的区别?

如果你现在需要准备面试&#xff0c;可以关注我的公众号&#xff1a;”Tom聊架构“&#xff0c;回复暗号&#xff1a;”578“&#xff0c;领取一份我整理的50W字面试宝典&#xff0c;可以帮助你提高80%的面试通过率&#xff0c;价值很高&#xff01;&#xff01; 语法形式&…

外包做了5个月,技术退步一大半了。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;20年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

什么是Helm?它是如何提升云原生应用私有化部署效率的

转载至我的博客 &#xff0c;公众号&#xff1a;架构成长指南 试想一下&#xff0c;如果有一个项目有50 个微服务&#xff0c;每个微服务都有service、deployment、ingress、pvc等 yaml 文件&#xff0c;算下来大概有 200 个文件&#xff0c;然后这个项目需要基于k8s进行私有化…

动态规划python简单例子-斐波那契数列

def fibonacci(n):dp [0, 1] [0] * (n - 1) # 初始化动态规划数组for i in range(2, n 1):dp[i] dp[i - 1] dp[i - 2] # 计算斐波那契数列的第 i 项print(dp)return dp[n] # 返回斐波那契数列的第 n 项# 示例用法 n 10 # 计算斐波那契数列的第 10 项 result fibonac…

Adding Conditional Control to Text-to-Image Diffusion Models——【论文笔记】

本文发表于ICCV2023 论文地址&#xff1a;ICCV 2023 Open Access Repository (thecvf.com) 官方实现代码&#xff1a;lllyasviel/ControlNet: Let us control diffusion models! (github.com) Abstract 论文提出了一种神经网络架构ControlNet,可以将空间条件控制添加到大型…

【Linux】进程

----------------| 本文目录 |---------------- 1. 进程1.1 基本概念1.2 描述进程 - PCB1.2.1 task_struct - PCB的一种1.2.2 task_struct 内容分类 1.3 组织进程1.4 查看进程1.5 通过系统调用获取进程标示符1.6 通过系统调用创建进程 - fork初识 2. 进程状态2.1 看看Linux内核…

【贪心+循环队列】Dota2 参议院

/** 贪心循环队列* 思路&#xff1a;当每一个参议员行驶禁止权利时&#xff0c;都禁止即将行驶权利的敌方参议员。* 使用两个循环队列&#xff0c;队列中存放位置下标。因此只需要比较两个队列中* 处于队头元素的大小&#xff0c;谁小谁执行权利* auther start* cr…

数字孪生+可视化技术 构建智慧新能源汽车充电站监管平台

前言 充电基础设施为电动汽车提供充换电服务&#xff0c;是重要的交通能源融合类基础设施。近年来&#xff0c;随着新能源汽车产业快速发展&#xff0c;我国充电基础设施持续增长&#xff0c;已建成世界上数量最多、服务范围最广、品种类型最全的充电基础设施体系。着眼未来新…

自行车商城网站网页设计与制作web前端设计html+css+js成品。电脑网站制作代开发。vscodeDrea

【自行车商城网站网页设计与制作web前端设计htmlcssjs成品。电脑网站制作代开发。vscodeDrea】 https://www.bilibili.com/video/BV1wT4y1p7jq/?share_sourcecopy_web&vd_sourced43766e8ddfffd1f1a1165a3e72d7605

AP5153 低压差 线性降压恒流IC 手电筒LED电源驱动

AP5153 是一种 PWM 调光的、低压 差的 LED 线性降压恒流驱动器。 AP5153 仅需要外接一个电阻和一个 NMOS 管就可以构成一个完整的 LED 恒 流驱动电路&#xff0c; 调节该外接电阻就可以调节 输出电流&#xff0c;输出电流可调范围为 20mA 到 3.0A。 AP5153 还可以通过在 DIM…