【学习笔记】: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
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值