C转C++无痛入门(1)

本文介绍了C++相较于C语言的优势,如丰富的函数库、输入输出的便利、bool类型、const修饰符、字符串操作、结构体的简化以及引用符号的用法。文章着重于基础概念的讲解,展示了C++作为C语言升级版的初步特点,预示着后续STL内容的威力。
摘要由CSDN通过智能技术生成

#C++的好处,相对于C语言,C++有更多的函数库,例如数据结构中的栈,队列等,如果用C来做相关的题目,需要自己慢慢的写函数,而在C++中可以直接调用,做题效率高许多。并且C++兼容C语言,所以学会了C语言再学习C++会方便很多。

#此文章为学习笔记作用,仅供参考,很多理解的很浅显,只会使用不知道原理,内容也只是触碰到了C++的边缘,只是为了更好的用C来接触C++。

——————————————————————————————————————————

①基本的输入输出(这里的endl,最后面的不是数字1,而是小写字母l),以及头文件的引用。

缺点:cin和cout运算时间比scanf和printf的时间久,若做题时显示超时,可以改成scanf和printf。

#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<math>//这里相当于C语言中的<math.h>,<string.h>头文件,在C++中去掉.h来引用。
#include<string>

int main()
{
	int a;
	cin >> a;//相当于scanf输入,C++的输入明显比C语言的输入更加便利
	cout << "a是:" << a << endl;    //cout相当于printf输出,endl相当于\n换行。
}

——————————————————————————————————————————

②bool变量,包含true 和 false 两个内容,在C语言中0为假,非0即为真,而在C++中引用了bool值来说明真与假。(影响貌似不大)

③const关键词,当定义变量时加上了 const,则在后续代码中,该变量的值不能够被改变,否则编译器会报错无法运行。

#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件

int main()
{
	const int a = 666;
	a = 500;//这里想对a进行重定义,编译器是会报错无法运行的。

}

——————————————————————————————————————————

④string字符串的一些基本运用,这里大概就能看出C++的一些便利性,与python有点相似。

#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<string>

int main()
{
	string s1 = "hello";
	string s2 = "world!";//字符串的定义
	string s3 = s1 + s2;//字符串的拼接
	cout << s3 << endl;//运行结果为helloworld!

	string s;
	cin >> s;
	cout << s;//当输入hello world!时,输出为hello,用cin来输入字符串在碰到空格时会出现问题。
	getline(cin, s);//string中的函数,可以将空格一起输入进字符串,输入hello world!输出为hello world!

	string s4 = "abcd_efg hijk!";
	int length = s4.length(); //类似与C语言中的strlen函数,返回值为字符串长度。
	cout << length << endl; //输出为14,包括了空格以及标点符号。

	string s5 = s4.substr(1, 4);
	//切片函数,s.substr(n,m)或s.substr(n)。(n,m)意思是返回从下标为n开始的m个字符,(n)的意思是返回从下标为n开始的后面所有字符
	cout << s5 << endl;//输出为bcd_
	s5 = s4.substr(4);
	cout << s5 << endl;//输出为_efg hijk!
	

}

——————————————————————————————————-——————

⑤结构体的一些改变

#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<string>

struct stu {
	int age;
	int score;
};

int main()
{
	struct stu a;//在c语言中新定义结构体的变量要加上struct,或者要使用typedef,
	stu b;//而C++中直接用结构体名称定义即可。

}

——————————————————————————————————————————

⑥&引用符号,与C中的取地址符号意义不大相同。

#include<iostream>
using namespace std;//首两行类似于C中的<stdio.h>头文件
#include<string>

int main()
{
	int b = 5;
	int & a = b;
	//引用可以理解为将a,b绑在一条船上,相对于C语言减少了指针传地址的运用,减少错误
	a = 6;
	cout << a << endl << b << endl;//输出为6 6

	b = 7;
	cout << a << endl << b << endl;//输出为7 7
}

——————————————————————————————

以上主要是一些相对于C的变化和一些新功能,只是一个基本的过度,后面还会有STL的内容,更体现出C++的强大。

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值