编程定义
**编程又称编写程序,是人和计算机之间交互的语言。**编程原理
计算机有众多语言,但是计算机真的可以听懂这些语言吗?实际上,计算机只可以识别二进制 0 和 1。其他的内容都不能够识别,这种由 0 和 1 构成的语言就是机器语言。但是当我们人类使用机器语言编程是一件非常痛苦的过程,一不小心就会打错字符,难以查找错误,也不利于大型项目开发,也就会限制编程技术的发展。
而 C++、Python 等语言就是计算机提供给我们人类和计算机交互的接口,我们并不需要学习机器语言,只需要学会 C++、Python 等语言就可以轻松实现编程。
写程序时,要用到专业的编程工具,在 Windows 系统中,通常使用 Dev C++,使用起来非常简洁方便。
我们写好程序保存、运行,编译器就会将我们的 .cpp 文本格式的文件转化为二进制的机器语言格式交给计算机去执行。
**字体大小**工具-编译选项-勾选编译时加入以下命令
-std=c++11
工具 - 编辑器选项 - 代码 -缺省源-写入如下代码
#include <iostream>
using namespace std;
int main() {
return 0;
}
C++ 语言历史
1982 年,本贾尼博士在 C 语言的基础上引入并扩充了面向对象的概念,发明了—种新的程序语言,适合大型项目设计。
为了表达该语言与 C 语言的渊源关系,它被命名为 C++。 而本贾尼博士被尊称为 C++ 语言之父。
C++ 和 C 语言的关系
很多同学开始学习 C++ 时,总会纠结是否要先学习 C 语言,其实是不需要先学习 C 语言的,C 语言的大多数代码在 C++ 中都可以直接运行,无需修改,只需要把文件后缀名变为 .c
。
而且 C++ 也就是 C plus plus
,是 C 语言的超集,包括 C 语言没有的功能,最大特点就是面向对象编程,语法就是class关键字,早期,C++ 也叫做 C width class
。
C++语言基本结构
cout 算术运算符
输出数字或数学表达式,不加双引号:(endl:end line 换行)
cout << 123 << endl;
cout << 1 + 2 << endl;
cout << 1 - 2 << endl;
cout << 10 / 3 << endl;
cout << 10 * 1.0 / 3 << endl;
cout << 10 % 3 << endl;
C++ 中除法是整除,两个整数相除,结果会舍弃小数。如果要保留小数,需要将分子变为小数,比如 10.0 / 3
或 10 * 1.0 / 3
,而不能写成 10 / 3 * 1.0
,因为运算顺序从左至右,10 / 3 已经变为 0,再乘以 1.0 结果还是 0。
取模 % 运算要求参与运算的数字必须是整数。
<<
可以拼接多个输出:
cout << "100 + 200 = " << 100 + 200 << endl;
输出:
100 + 200 = 300
闯关练习
Hello,World!
参考程序:
#include <iostream>
using namespace std;
int main() {
cout << "Hello,World!" << endl;
return 0;
}
梯形面积
题目解析:
梯形面积 = (上底 + 下地) * 高 / 2
三角形面积 = 底 * 高 / 2
先根据三角形面积计算出梯形的高(等于三角形的高),再计算出梯形的面积,目前还没有学习到保留小数位数的方法,直接用字符串输出结果。
参考程序:
#include <iostream>
using namespace std;
int main() {
/*
15 * h / 2 = 150
=> h = 20
S = (15 + 25) * 20 / 2 = 400
*/
cout << "400.00" << endl;
return 0;
}
牛吃牧草
题目解析:
流量存量问题,每天新生量=每天消耗量
$1520 - 2010$ = 10天中新生的草量
参考程序:
#include <iostream>
using namespace std;
int main() {
/*
15 * 20 现有草量 + 20天新生草量 式子1
20 * 10 现有草量 + 10天新生草量 式子2
式子1 - 式子2 = 100 = 10天新生草量
每天新生草量 = 10
*/
cout << 10 << endl;
return 0;
}
课后作业
打印金字塔
参考程序:
#include <iostream>
using namespace std;
int main(){
cout << " * " << endl;
cout << " *** " << endl;
cout << "*****" << endl;
return 0;
}
我是粉刷匠
参考程序:
#include <iostream>
using namespace std;
int main() {
cout << 18 / 2 / 3 << endl;
return 0;
}
分苹果
参考程序:
#include <iostream>
using namespace std;
int main() {
cout << 20 / 3 << " " << 20 % 3 << endl;
return 0;
}
简单求值
参考程序:
#include <iostream>
using namespace std;
int main() {
cout << ((123764 + 2453 - 2327) * 23 - 78522) % 3 << endl;
return 0;
}
买糖果
参考程序:
#include <iostream>
using namespace std;
int main() {
cout << 8 * 1.0 / 5 * 12 << endl;
return 0;
}