39
0

c++ 第一天 变量、判断、循环

C++介绍

语言的产生

C++ 由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的,由于C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言 ,所以最初命名为带类的C 。C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。C++ 也是目前嵌入式 ( 无人驾驶 ) 的首选语言。

c++的优缺点

优点:

  1. 实现了面向对象程序设计。在高级语言当中,处理运行速度是最快的,大部分的游戏软件,系统都是由C++来编写的

  2. 功能强大,嵌入式首选。

  3. C++加上严格的codereview可以用来开除猪一样的队友,这是所有其他语言都不具备的功能

缺点:

  1. 学习门槛高、难学

  2. 知识点繁杂,有声音说,c++标准委员会仅仅是为炫技并不考虑实际的工业需求

    1. 修复以前的bug

    2. 增加新的技术

 

与Python的比较

程序有两种执行方式,解释执行和编译执行。 python是一种解释语言(弱类型 | 动态类型 ...),不需要经过编译,是一边解释一边执行,由于底层封装了很多库供程序员使用,所以开发起来方便快捷,且能够很好地跨平台,写一些小工具小程序特别合适。

c++ 则属于编译语言,是一种需要编译后(整个程序编译 )运行语言,编译后通过链接,整合其他依赖库,然后生成机器码(可执行文件),以后再运行,无需编译。在指定环境下编译运行,运行效率高 ,---> exe -> 很难查看源码 。 c++ 可以直接操作内存 指针 。

  • python打印
print('aaaa')
  • c++打印
#include <iostream>
// 两个斜杠代表单行注释 多行注释:/*注释内容*/ // include: 导入 相当于Python中的import
// int main(){} 主函数入口 int main() {
   // std:: count << "输出的内容" << std::endl; std::cout
<< "aaa" << std::endl;
  // return: 函数返回值,main函数是C++程序的入口函数,C++标准要求main函数的返回值类型为int0 表示正常退出
return 0; }

注意: 所有的逻辑代码必须写在函数内部里面, 所有代码后面一般都要有分号;

 

C++常见的数据类型

  • int:整数类型
  • float:单精度浮点数
  • double:双精度浮点数
  • char:字符
  • string:字符串
  • bool:布尔

与其他静态类型语言一样,C++也具备大多数语言的数据类型。除上面给出的数据类型之外,其实还有 short | long | long long 等 。

 

变量

c++的变量命名规则和Python一样:

  1. 可以包含字母 、 数字 和下划线

  2. 必须以字母或者下划线开始

  3. 不能跟关键字同名

声明和初始化

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

int main(){
    
    //先声明
    int age ;
    double price;
 
    //后初始化
    age = 10 ;
    price = 20.3;

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

常量

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

int main(){
    
    const double pi {3.1415926};
    const int months_in_year{12};

    pi = 2.5 ; //将会出现编译错误  常量的值不允许改变
    
    return 0 ;
}

输入和输出

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

 

#include <iostream>

int main (){
    std::cout << "请输入您的年龄:"<<std::endl;
    
    int age ;
  // 把输入的值赋值给age std::cin
>> age;
  // 输入age std::cout
<< "您的年龄是:" << age <<std::endl; return 0 ; }

判断

if语句

#include <iostream>

int main (){
    
    std::cout << "请输入1-6数字:" << std::endl;
    
    int num;
    std::cin >> num;
    
    if( num> 6 ){
         std::cout << "输入错误" << std::endl;
    }else if(num>3){
         std::cout << "" << std::endl;
    }else{
         std::cout << "" << std::endl;
    }
    
    return 0 ;
}

switch语句

许多语言中都包含switch,比如:java 、javascript 、php 等,而python是个例外,python没有switch。实际上switchif 语句块很相似, 它是完全的等价条件判断,但是一旦满足某个case的条件,那么其他case 就不会再进行判断,如果全部不满足case条件,就会执行default里面的代码。

#include <iostream>

int main (){
    std::cout << "请输入此次考试的成绩评级" << std::endl;
    char level ;
    std::cin >> level;
    switch (level){
        case 'A':
            std::cout << "优秀" << std::endl;
            break;
        case 'B':
            std::cout << "良好" << std::endl;
            break;
        case 'C':
            std::cout << "及格" << std::endl;
            break;
        case 'D':
            std::cout << "仍需继续努力" << std::endl;
            break;
        default:
            std::cout << "输入错误。" << std::endl;
            break;
    }
    return 0 ;
}

循环

 

while

#include <iostream>
int main (){
    
    int count = 0 ;
     while(count < 10){
        std::cout << "红灯还在亮着..." << std::endl;
        cout++;
    }
    return 0 ;
}

do - while

#include <iostream>
int main (){
    
    int count = 0 ;  
    do{
        std::cout << "红灯还在亮着..." << std::endl;
        cout++;
    }while(cout < 10);
    
    return 0 ;
}

while 和 do - while 的区别: 前者属于先判断后执行,后者属于先执行后判断

for 

#include <iostream>
int main (){    
    for(int cout  = 0 ; cout < 10 ; cout ++){
         std::cout << "红灯还在亮着..." << std::endl;
    }    
    return 0 ;
}

continue 和 break和在Python中的作用一样,contince属于跳过此次循环继续下一次循环,break结束break所在的这层循环

 

posted @ 2020-04-16 21:37  庸人自扰∞  阅读(158)  评论(0编辑  收藏  举报