1.语言的产生
C++ 由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的,由于C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言 ,所以最初命名为带类的C 。C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。C++ 也是目前嵌入式 ( 无人驾驶 ) 的首选语言。
2.开发工具
开发工具种类繁多,有VS
| Dev-C++
| code lite
| clion
| Qt Creator
3.优缺点
- 优点
- 实现了面向对象程序设计。在高级语言当中,处理运行速度是最快的,大部分的游戏软件,系统都是由C++来编写的
- 功能强大,嵌入式首选。
- C++加上严格的codereview可以用来开除猪一样的队友,这是所有其他语言都不具备的功能
- 缺点
- 学习门槛高、难学
- 知识点繁杂,有声音说,c++标准委员会仅仅是为炫技并不考虑实际的工业需求
- 修复以前的bug
- 增加新的技术
4.第一个C++程序
#include<iostream>
int main (){
std::cout << "hello world !" << std::endl;
return 0 ;
}
解释:
#include` : 引入输入输出库
int main(){}
: 主函数入口
std::
… 输出打印
return 0
: 函数返回值,一般0 表示正常执行返回。
5.注释
#include <iostream>
int main (){
// 单行注释
std::cout << "hello world" << std::endl;
/*
多行注释
可以写多行
*/
std::cout << "hello world" << std::endl;
return 0 ;
}
6.数据类型
数据类型 | 声明 |
---|---|
整数类型 | int |
单精度浮点数 | float |
双精度浮点数 | double |
字符 | char |
字符串 | string |
布尔 | bool |
c++提供sizeof()函数
来获取某种数据类型占用的空间大小。
7.变量
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标准开始的方式
8.变量名命名规则
- 可以包含字母 、 数字 和下划线
- 必须以字母或者下划线开始
9.输入和输出
- 输入
#include <iostream> int main (){ std::cout << "请输入您的年龄:"<<std::endl; int age ; std::cin >> age; std::cout << "您的年龄是:" << age <<std::endl; return 0 ; }
- 输出
#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 ; }
10.条件判断
- 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 ; }
- switch语句
#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 ; }
11.运算符操作
-
逻辑运算符
Operator Python C++ 并且 and && 或者 or || 非(取反) not ! -
关系运算符
表示大小、相等操作的运算符,python和c++表示方法是一样的。
Operator Python C++ equal == == not equal != != greater than > > less than < < greater than or equal >= >= less than or equal <= <=
12.三元运算符
#include <iostream>
int main (){
int score;
std::cout << "请输入此次语文考试的成绩:" << std::endl;
std::cin >> score;
/*
//python的三元表达式:
result = 'A' if 100 > 90 else 'B'
print(result)
*/
//c++
char result = score > 90 ? 'A' : 'B';
std::cout << "您的语文成绩评级为:" << result <<std::endl;
return 0 ;
}
12.循环控制
- while
#include <iostream> int main (){ int count = 0 ; while(count < 10){ std::cout << "红灯还在亮着..." << std::endl; //单位是毫秒 Sleep(1000); cout++; } return 0 ; }
- do-while
do-while结构与while差不多,区别只在于前者是上来先执行操作后判断,后者是先判断再执行循环操作
#include <iostream> int main (){ int count = 0 ; do{ std::cout << "红灯还在亮着..." << std::endl; //单位是毫秒 Sleep(1000); cout++; }while(cout < 10); return 0 ; }
- for
for循环是所有循环中使用最多的一种循环
#include <iostream> int main (){ for(int cout = 0 ; cout < 10 ; cout ++){ std::cout << "红灯还在亮着..." << std::endl; //单位是毫秒 Sleep(1000); } return 0 ; }