一. c++介绍
1.c++定义
C++ 由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的,由于C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言 ,所以最初命名为带类的C 。C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。C++ 也是目前嵌入式 ( 无人驾驶 ) 的首选语言
2.c优缺点
- 优点
1. 实现了面向对象程序设计。在高级语言当中,处理运行速度是最快的,大部分的游戏软件,系统都是由C++来编写的
2. 功能强大,嵌入式首选。
- 缺点
1. 学习门槛高、难学
2. 知识点繁杂,有声音说,c++标准委员会仅仅是为炫技并不考虑实际的工业需求
1. 修复以前的bug
2. 增加新的技术
二. 环境准备(Linux下)
1)、得到Linux版Clion的.tar.gz的压缩包
方法一:去官网直接下载 https://www.jetbrains.com/clion/
方法二:使用 wget命令, wget https://download.jetbrains.8686c.com/cpp/CLion-2016.2.2.tar.gz
2)、解压CLion-2016.2.2.tar.gz到当前文件夹
tar -zxvf CLion-2016.2.2.tar.gz
3)运行clion.sh脚本
cd clion-2016.2.2/bin/
./clion.sh
4)点击ok即可
三. HelloWord
入门代码
#include<iostream>
int main (){
std::cout << "hello world !" << std::endl;
return 0 ;
}
理解:
#include : 引入输入输出库
int main(){} : 主函数入口
std:: .... 输出打印
return 0 : 函数返回值,一般0 表示正常执行返回。
C++常见的数据类型
- int:整数类型
- float:单精度浮点数
- double:双精度浮点数
- char:字符
- string:字符串
- bool:布尔
与其他静态类型语言一样,C++也具备大多数语言的数据类型。除上面给出的数据类型之外,其实还有 short | long | long long 等 。
变量
c++的变量命名规则和Python一样:
可以包含字母 、 数字 和下划线
必须以字母或者下划线开始
不能跟关键字同名
声明和初始化
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的输入输出是input 和 print , C语言的输入输出是 scanf 和 printf , 而C++的相对要复杂些,它使用 std::cin 和 std::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。实际上switch和 if 语句块很相似, 它是完全的等价条件判断,但是一旦满足某个case的条件,那么其他case 就不会再进行判断。
#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所在的这层循环