【c++笔记】总结!c++与c语言的不同之处

发布时间:2024年01月10日

(Θ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^)┛


?

文章来源:https://blog.csdn.net/2301_79982543/article/details/135452173
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。