黑马程序员C++学习-01

 课程视频链接:黑马程序员匠心之作|C++教程从0到1入门编程,学习编程不再难_哔哩哔哩_bilibili

目的:为了区分C语言和C++的区别,并且在学习的过程中,两者进行比较

笔记方式:只写C语言和C++不同的点,因为自己已经学会了C语言,所以只需要知道C++与C语言两者不同的知识点即可,也只需要记录不同的知识点即可

1:使用虚拟机编译c++程序

g++  hello.cpp -o hello

虚拟机使用vscode编写代码,以.cpp为结尾表示为c++程序。它于C语言的编写方式不同,

 

但是我发现使用g++可以编译c语言,而直接使用gcc无法编译c++程序 

 

 第一个储蓄-打印hello world

#include <iostream>//头文件的特点:C++不存在.h,而C语言的头文件是.h结尾一般

using namespace std;  //模板

int main()
{
   cout << "hello world" << endl;  //相当于printf("hello world\n"); endl相当于\n

    return 0;
}

 2:额外补充C语言知识

关于返回的值为地址出现的错误,由于p1保存在常量区(编译器不同,可能会不同)。

而p保存在栈中,会消亡,因此返回一个地址是错误的,并且很危险

 3:打印一个变量的值

相比较于c语言:printf("%d\n",a);


    int a = 9;
    cout << a << endl;//endl的意思就是刷新一下缓冲区,类似于C语言的\n也是强制刷新一次缓冲区

 尝试一下是否:cout << "a="a << endl;是否可行,发现无法实现

尝试:C语言的printf("a=%d",a);

int a = 9;
    cout << "a="<<a << endl;

字符串和变量名不能放在一起表示

4:常量-const修饰的叫常变量,实际上还是变量,我们可以从预处理可以看出

 

 5:float和double

 加f是因为:float会被编译器自动转换为doble,C语言也是这个性质特点,因此强制性使用float的时候需要加f。如果不是为了省空间(单片机使用)一个四字节一个8字节(这个也不一定,在单片机中会被硬件限制)

6:转义字符的输出

C语言中一般是:printf("%d\n",i); printf("\n");

而在C++中,是需要单独写出来的,标记红色的是错误的,12错误,34正确

7:字符串输出

字符串的输出C语言和C++有所不同。在C语言中打印一个字符串的话,要么直接打印,要么使用字符数组(字符串数组),前者不可更改,后者可以更改

C++使用string定义一个字符串,使用修饰符string直接产生一个字符串变量,但是需要加一个头文件#include <string>

 

 其中能修改ch的值---但是在C语言中,不能直接赋值字符串,需要借助字符串函数才能实现。

因为在C语言中,char str[] = "abcd",str是一个地址,是一个常量。但是char *str = "abcd";这样却可以改变值,这个成功与非取决于编译器,因为有些编译器默认会把str设置为const

 

 

 8:布尔类型

在C语言中是不存在布尔类型的,而在C++中存在布尔类型

首先:布尔类型其实就是真与假,但是如果输出的话,其代表的值为只有1和0,当我们为布尔类型变量赋值的时候(非0为真,0为假)---输出(1和0)

    bool a = true;
    bool b = false;
    bool c = 0;
    bool d = 6;
    cout << a << endl; //1
    cout << b << endl; //0
    cout << c << endl; //0
    cout << d << endl; //1

 可以直接赋值true和false,不能大小哦,因为true是关键字

    bool a = 3;
    bool b = -1;
    bool c = 0;
    cout << a << endl; //1
    cout << b << endl; //1
    cout << c << endl; //0

 可以直接输出true和false的值

 cout << true << endl; //1
 cout << false << endl; //0

9:数据输入

类似于C语言的scanf,使用cin进行,cout和cin,一个出一个进

注意点就是:<< 和 >>,cin使用>>  cout使用<<。并且不需要endl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值