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 ;
}

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

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 = ;
price = 20.3; //声明及初始化
int age = ; return ;
}

常量

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

int main(){

    const double pi {3.1415926};
const int months_in_year{}; pi = 2.5 ; //将会出现编译错误 常量的值不允许改变 return ;
}

输入和输出

任何编程语言都要输入和输出,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 ;
}

判断

if语句

#include <iostream>

int main (){

    std::cout << "请输入1-6数字:" << std::endl;

    int num;
std::cin >> num; if( num> ){
std::cout << "输入错误" << std::endl;
}else if(num>){
std::cout << "大" << std::endl;
}else{
std::cout << "小" << std::endl;
} return ;
}

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 ;
}

循环

while

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

do - while

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

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

for

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

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

c++ 第一天 变量、判断、循环的更多相关文章

  1. SQLserver中的常量与变量、判断循环语句

    数据库中的变量与常量 数据库中定义变量 [起临时存储数据的作用] ---数据库中定义变量(运行时要从头到尾进行运行,从定义变量开始到赋值) --前面必须加 declare --定义变量 :    de ...

  2. 理解C#系列 / 核心C# / 判断&循环&跳转

    判断&循环&跳转 说明 本节写的是C#语言的控制程序流的语句,“控制程序流”就是控制程序运行流程的意思. 判断 很容易理解:如果……就…… if语句:测试特定条件是否满足,如果满足就执 ...

  3. 07_Python的控制判断循环语句1(if判断,for循环...)_Python编程之路

    Python的数据类型在前几节我们都简单的一一介绍了,接下来我们就要讲到Python的控制判断循环语句 在现实编程中,我们往往要利用计算机帮我们做大量重复计算的工作,在这样的情况下,需要机器能对某个条 ...

  4. php变量判断为空的几种方法

    1.isset  主要用来判断变量是否被初始化过 注意:当使用isset来判断数组元素是否被初始化过时,它的效率比array_key_exists高4倍左右 2.empty  可以将值为 " ...

  5. shell if判断(曾经被一个字符串相等的判断纠结半小时,最后只是if后少了个空格!) 和 awk引用外部变量判断

    一.if判断 数字: $A=12 $B=15 if(("$A"<"$B")) if(("$A"=="$B")) 字 ...

  6. 有趣的bug——Java静态变量的循环依赖

    背景 是的,标题没有错误,不是Spring Bean的循环依赖,而是静态变量之间的循环依赖. 近期的项目均是简单的Maven项目,通过K8S部署在阿里云上,其配置文件读取规则如下所示: (1) 优先读 ...

  7. 第一篇、javascript变量和循环

    一.代码存放位置 理论上放在body和head中都可以,但是推荐放在body代码块底部,因为Html代码是从上到下执行,如果Head中的js代码耗时严重,就会导致用户长时间无法看到页面,如果放置在bo ...

  8. Java 变量、循环、判断

    粗糙笔记不喜勿喷 Java 8大基本类型 第一类:逻辑型(boolean) 1.boolean类型只存在true(真),false(假)两种形式 例: boolean a=true; boolean ...

  9. python基础一(安装、变量、循环、git)

    一.开发语言分类 系统的开发语言有java.c++.c#.python.ruby.php等等,开发语言可分为编译型语言和解释型语言. 编译型语言就是写好代码之后就把代码编译成二进制文件,运行的时候运行 ...

随机推荐

  1. Linux下C++动态加载so 调用方法

    Windows 下的C++动态加载DLL调用方法 文献参考 http://man7.org/linux/man-pages/man0/dlfcn.h.0p.html http://man7.org/l ...

  2. java语言进阶(三)_List_Set_数据结构_Collections

    主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 1.1 数据结构有什么用? 常见的数据结构:堆.栈.队列.数组.链表和红黑树 . 1.2 常见的数据结构 栈 栈 ...

  3. SpringCloud Alibaba (四):Dubbo RPC框架

    Dubbo简介 Apache Dubbo |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现.致 ...

  4. CSRF 跨站请求伪造学习笔记

    参考文章: 漏洞挖掘之CSRF CSRF花式绕过Referer技巧 What-是什么 CSRF(Cross-site request forgery)跨站请求伪造.攻击者通过构造特殊链接或者页面,盗用 ...

  5. ExecutorsService 中的 submit和 execute的区别

    闲来无事,写点代码练练手.于是就看了下ExecutorService常用的提交任务的方法: <T> Future<T> submit(Callable<T> tas ...

  6. 洛谷P3237 米特运输

    题目链接 题意: 中文题,挺好理解.就是让节点的权值等于各子节点权值之和,然后每个子节点的权值相等,原本每个点有一个权值,通过最少次的修改(可以修改成小数)使其满足要求. 分析: 题意一旦读明白,题什 ...

  7. Fetch.AI 首席技术官Toby Simpson参与AMA活动

    感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...

  8. 数据可视化之DAX篇(十五)Power BI按表筛选的思路

    https://zhuanlan.zhihu.com/p/121773967 ​数据分析就是筛选.分组.聚合的过程,关于筛选,可以按一个维度来筛选,也可以按多个维度筛选,还有种常见的方式是,利用几个特 ...

  9. redis入门指南(四)—— redis如何节省空间

    写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 节省空间 1.redis对于它所支持的五种数据类型,每种都提供了两种及以上的编码方式去存储(具体 ...

  10. 太实用了!自己动手写软件——SSH、FTP和SQL server的密码破解

    我们的密码破解工具一共分为如下六个部分,前面四个部分我们都有在之前的文章中介绍过了 用户图形界面——GUI编程 密码字典获取——Excel文件读取 数据库类——MySQL.Oracle和SQL ser ...