【学习笔记】:C++(1.基础入门)

C++的学习参照黑马机器人教程

一、C++ 介绍 - 黑马机器人—C++https://robot.czxy.com/docs/cpp/day01/01_intro/

1.C++介绍

c++ 属于编译语言,是一种需要编译后运行语言,编译后通过链接,整合其他依赖库,然后生成机器码(可执行文件),以后再运行,无需编译。

2.环境准备

安装编译环境,GCC系列,GNU编译器套装(英语:GNU Compiler Collection,缩写为GCC),指一套编程语言编译器,常被认为是跨平台编译器的事实标准。

3.入门示例

#include<iostream>

int main (){
    std::cout << "hello world !" << std::endl;
    return 0 ;
}

#include : 引入输入输出库

int main(){} : 主函数入口

std:: .... 输出打印

return 0 : 函数返回值,一般0 表示正常执行返回。

其中std是一个命名空间(namespace),‘::’是作用域运算符,cout是std空间中的一个函数名。使用cout时,必须有使用std命名空间的说明,有两种说明方式。

一种是如上的表达方式;另一种是在主函数前说明一下

using namespace std;
cout << "Input two numbers:";

        3.1 main函数解释

main函数是C++程序的__入口函数__,C++标准要求main函数的返回值类型为int0 表示正常退出

int main() {
    return 0;
}

        (1)返回值释疑

main函数的返回值为int,而函数内并没有出现return语句时,同样可以通过编译并正常运行。

这是因为编译器在main函数的末尾__自动添加了return 0;的语句__。

所以,main函数是C++程序经过__特殊处理的函数__。

其他的返回值类型不是void的函数,如果没有使用return语句,编译器将报错。

int main(){

}

        (2)参数释疑

main函数有两种写法: 一种是不含参数,一种是携带参数。当考虑程序在运行的时候,立即获取到外部传递进来的数据,那么可以使用含有参数的main函数。 参数 argc 表示传递进来的参数总数, args 表示传递进来的参数。 char ** 是二级指针的写法,当然此时我们是不明白二级指针的意思。那么把它看成是二维数组就好了。 值得注意的是: main函数的第一个参数会隐式传递进来当前程序的全路径地址。

int main(int argc , char ** args) {

    std::cout << "参数个数:"<< argc << std::endl;

    std::cout << "第一个参数:"<< args[0] << std::endl;
    std::cout << "第一个参数:"<< args[1] << std::endl;

    return 0;
}

        3.2 注释

c++采用 ///* */ 实现单行和多行注释。

#include <iostream>

int main (){

    // 我是c++的单行注释
    std::cout << "hello world" << std::endl;

    /*
        我是c++的多行注释
        我可以写多行
    */
    std::cout << "hello world" << std::endl;

    return 0 ;
}

4.数据类型和变量

        4.1 数据类型

除下表给出的数据类型之外,其实还有 short | long | long long 等 。 关于数据类型占用的字节长度其实不用刻意的去背,c++提供sizeof()函数来获取某种数据类型占用的空间大小。

整数类型int
单精度浮点数float
双精度浮点数double
字符char
字符串string

布尔

bool

        4.2 变量

        (1)声明和初始化

c++ 是强类型语言,任何变量在使用前必须先声明,并且在声明的时候必须要指定该变量的数据类型,即该变量未来能够存储的数据类型。

int main(){

    //先声明
    int age ;
    double price;

    //后初始化
    age = 10 ;
    price = 20.3;

    //声明及初始化
    int age = 20 ;

    return 0 ;
}

变量声明以及初始化常用手法

int age ; //未初始化

int age = 21 ; // C 方式初始化

int age (21); //构造方法初始化

int age {21} ; //c++ 11标准开始的方式

        (2)变量命名规则

  1. 可以包含字母 、数字 和下划线
  2. 必须以字母或者下划线开始

注意:在C++中,大写字母和小写字母被认为是两个不同的字符。因此,sum和SUM是两个不同的变量名。一般地,变量名用小写字母表示,与人们日常习惯一致,以增加可读性。应注意变量名不能与C++的关键字、系统函数名和类名相同

        4.3 常量

常量其实和变量没有多大区别, 有名字, 占据存储空间,可以是任何的基本类型,但只有一点不同,常量的值不允许变更。C++中的常量的声明需要使用 const 关键字,而python中的常量默认约定是全大写表示。

int main(){

    const double pi {3.1415926};
    const int months_in_year{12};

    pi = 2.5 ; //将会出现编译错误

    return 0 ;
}

        4.4 常量长度

sizeof 除了可以作用于类型身上之外,也可以作用于变量身上。

#include<iostream>

int main(){

    double a = 20.0;
    sizeof(a); //8

    sizeof(int); //4

    return 0 ;
}

5.输入输出

任何编程语言都要输入和输出,python的输入输出是inputprint , C语言的输入输出是 scanfprintf , 而C++的相对要复杂些,它使用 std::cinstd::cout 来操作输入输出 。 C++的输入输出,需要导入 iostream 库 。

        5.1 输出

一般在输出的后面跟上 std::endl 来表示输出结束,它除了含有换行的功能之外,还具备了刷新数据打印缓冲区的功能。

#include <iostream>

int main (){

    //由于没有换行,两个单词会出于同一行。
     std::cout << "Hello";
     std::cout << " world";


    //兼备换行的输出
    std::cout << "Hello" << std::endl;
    std::cout << " world" << std::endl;


    //可以连续输出打印,这其实是一种叫做:链式调用的手法
     std::cout << "Hello " << " World" << " , I love C++!"<< std::endl;

    return 0 ;
}

        5.2 输入

输入旨在获取键盘的数据输入。 不过获取输入前的提示语句得使用 std:: cout来输出提示。

#include <iostream>

int main (){
    std::cout << "请输入您的年龄:"<<std::endl;

    int age ;
    std::cin >> age;

    std::cout << "您的年龄是:" << age <<std::endl;

    return 0 ;
}

6.条件与循环

        6.1 条件判断

        (1)if语句

#include <iostream>

int main (){

    std::cout << "请输入此次考试的成绩:" << std::endl;

    int score ;
    std::cin >> score;

    if( score  >  90){
         std::cout << "可以休息一天" << std::endl;
    }else if(score > 80){
         std::cout << "可以休息半天" << std::endl;
    }else{
         std::cout << "乖乖去写作业" << std::endl;
    }

    return 0 ;
}

        标准格式

if(判断条件){
   执行语句
}else if (判断条件){
   执行语句
}else (判断条件){
    执行语句
}

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《算法笔记》是由胡凡编写的一本关于算法学习的教材,它最初以C/C++为主要编程语言。这本教材主要面向想要学习算法的初学者,以及希望进一步提升算法能力的人群。 《算法笔记》的内容广泛而且深入,涵盖了很多算法的基础知识和主要思想,如递归、排序、查找、图论、动态规划等。通过学习这本教材,读者可以掌握这些算法的基本原理和实现方法,提高解决实际问题的能力。 该教材有几个特点:首先,它提供了很多例子和习题,帮助读者巩固所学的知识;其次,它介绍了很多常用的数据结构,如数组、链表、栈、队列等,读者可以通过学习这些数据结构更好地理解和应用算法;最后,它还介绍了一些高级主题,如高级数据结构、算法优化等,这些内容对于进一步提升算法水平非常有帮助。 《算法笔记》是一本入门级的教材,因此在阅读时需要一些基本的编程知识和逻辑思维能力。该教材的语言简洁明快,适合作为学习参考书,同时也可以作为算法竞赛的辅助教材。 总而言之,《算法笔记》是一本很好的算法学习教材,它以C/C++为编程语言,全面介绍了算法的基本知识和常用方法,适合想要学习算法的初学者。无论是学术研究还是实际应用,阅读《算法笔记》都能提升算法能力,并为进一步学习和应用算法打下坚实的基础。 ### 回答2: 《算法笔记 胡凡 c/c 快速入门pdf》是一本介绍算法和C/C++编程语言入门书籍。该书的作者是胡凡,它主要规划了算法的学习路径以及基本的C/C++编程语言。这本书适合初学者快速入门,对于想要系统学习算法和C/C++编程的人来说是一本不错的选择。 这本书的内容非常系统和全面。它以算法和数据结构为基础,包括基本排序、查找、图论等算法的介绍和实践,让读者能够快速掌握这些算法的原理和实现方法。同时,它还介绍了C/C++语言基础知识和编程技巧,帮助读者理解和运用这些知识。 书中每章都有一些练习题,帮助读者巩固所学的知识。同时,每个章节末尾还提供了一些进阶的题目和参考答案,供读者深入学习和自我检测。这样的设计能够帮助读者更好地理解和掌握所学的内容。 总的来说,《算法笔记 胡凡 c/c 快速入门pdf》是一本很好的算法和C/C++入门书籍。它能够帮助读者快速了解算法和数据结构的基础知识,并学会使用C/C++语言进行编程。无论是对于想要入门算法和C/C++编程的初学者,还是已经有一定基础的读者,这本书都是一个很好的选择。 ### 回答3: 《算法笔记:胡凡C/C++快速入门PDF》是一本很棒的入门算法书籍。这本书主要介绍了常用的数据结构与算法,并通过C/C++语言来实现这些算法。 首先,这本书非常适合算法初学者。它从基础的数据结构开始讲解,如数组、链表、栈和队列,然后逐渐引入更复杂的数据结构,如二叉树、图和堆。此外,书中还介绍了常用的排序和查找算法,如冒泡排序、快速排序、二分查找等。每个算法都配有具体的代码实现和详细的解释,帮助读者理解算法的原理和应用。 其次,这本书的学习资料丰富。书中提供了很多例题和习题,读者可以通过实践来巩固所学的知识。此外,书中还介绍了一些常见的算法优化技巧和设计思路,提供了一些高效解决问题的方法和思考方式。 最后,这本书的编写风格简明易懂。作者通过清晰的语言和简洁的代码,将复杂的算法问题简化为易于理解的部分。不论是对于算法初学者还是对于有一定编程基础的读者,这本书都是一本很好的学习资料。 总而言之,《算法笔记:胡凡C/C++快速入门PDF》是一本很好的入门算法书籍。它适合初学者学习和理解常用的数据结构与算法,通过具体的代码实现和详细的解释帮助读者掌握算法的原理和应用。无论是编程初学者还是有一定基础的读者,都可以从这本书中获得丰富的知识和实践经验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值