第一个C++程序
本文包含以下关键内容:
- 基础C++程序结构:介绍了如何编写一个简单的C++程序,包括必要的头文件、命名空间声明、主函数定义和基本的输出语句。
- 输入输出流:解释了
iostream
库的作用和std
命名空间的使用,以及如何通过cout
进行标准输出。 - 注释和错误处理:展示了如何使用单行注释,并提供了一个错误示例来说明省略
using namespace std;
的后果。 - 输出操作:演示了如何使用
cout
输出不同类型的运算结果,包括基本的算术运算、整除与浮点除法,以及如何使用endl
进行换行。 - 数学函数:介绍了如何通过
cmath
库使用数学函数,例如计算平方根、幂运算和三角函数。 - 代码风格建议:强调了良好代码格式的重要性,如对齐、空格使用等,以及这些习惯如何在面试中留下良好印象。
# 第一个C++程序
#include <iostream> // 引入输入输出工具箱,让程序能读能说
using namespace std; // 使用标准命名空间
int main() { // 主函数main,程序的入口
// 程序从这里开始执行
cout << "I love you!"; // 输出语句,让程序在屏幕上说话
return 0; // 程序正常运行结束时,必须返回0
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 代码详解
引入输入输出流库:
#include <iostream>
这行代码就像是打开了一个工具箱,iostream这个工具箱就包含了输入输出的工具。使用标准命名空间:
using namespace std;
用于输出的cout就在std命名空间下,可以试一下,如果删掉这行会发生什么。
代码测试
#include <bits/stdc++.h>
// using namespace std; // 双斜杠表示单行注释
int main() {
cout << "I love you!";
return 0;
}
1
2
3
4
5
6
7
2
3
4
5
6
7
报错信息:
Error: source.cpp:5:5: error: use of undeclared identifier 'cout'; did you mean 'std::cout'?
cout << "I love you!";
^~~~
std::cout
1
2
3
4
2
3
4
其实,解算法题中需要的大部分工具,都是在std命名空间下,所以在你的代码中也加上这行吧。
- 主函数:
int main()
这是程序的起点,程序从这里开始执行。要注意main后面一对小括号,紧跟一对大括号,你的代码需要写在大括号里。
注意
C++小括号,中括号,大括号分别表示不同含义,不能混用。
输出语句:
cout << "I love you!";
这行代码让程序在输出一句话I love you!
。注意每条代码指令都需要以英文分号;
结束。正常结束:
return 0;
如果程序正常走到return 0,说明正常结束,这里return的一个是0,不能是其他值。
# 输出语句
# 各类运算
#include <iostream>
int main() {
cout << "加法: " << 10 + 3 << endl; // 输出 13
cout << "减法: " << 10 - 3 << endl; // 输出 7
cout << "乘法: " << 10 * 3 << endl; // 输出 30
cout << "整除: " << 10 / 3 << endl; // 输出 3(因为10除以3的结果是3余1,整除只取整数部分)
cout << "浮点除法: " << 10.0 / 3 << endl; // 输出 3.33333(保留小数点后)
cout << "浮点除法: " << 10 / 3.0 << endl; // 输出 3.33333(保留小数点后)
cout << "取余: " << 10 % 3 << endl; // 输出 1,10除以3余1
cout << "优先级示例: " << 10 + 3 * 2 << endl; // 输出 16 (乘除大于加减)
cout << "使用括号: " << (10 + 3) * 2 << endl; // 输出 26 (先计算括号内的加法,然后乘以2)
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Tips:
- <<:如果有多项输出,可以写两句cout,也可以直接把它们用
<<
相连。
cout << 3;
cout << 5;
// 等价写法
cout << 3 << 5;
1
2
3
4
5
2
3
4
5
- endl:换行符,这个和代码中是否换行可没有关系哦,指的是输出中的换行。
cout << 3;
cout << 5;
// 等价写法,输出都只有1行,35
cout << 3; cout << 5;
// 等价写法,输出都只有1行,35
cout << 3 << 5;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
上面的代码输出只有一行,35
而代码cout << 3 << endl << 5;
输出为
3
5
1
2
2
- 整除:C++中两个整数做除法,结果只取整数部分。如果想要做小数除法,那么加一个
.0
就可以。 - 字符串:上面代码中,双引号包裹的绿色部分就是字符串啦。同样可以用cout将它原样输出。
# 数学函数
如果你想计算平方,平方根,幂运算,怎么实现呢?
可以引入工具箱cmath
,使用诸如sqrt
,pow
,sin
等数学函数。
#include <iostream>
#include <cmath>
int main() {
cout << sqrt(16) << endl; // 16开方,结果为4
cout << sqrt(15) << endl; // 15开方,输出为3.87298,sqrt函数本身的计算方式,输出有小数部分。
cout << pow(3, 2) << endl; // 3的平方,输出9
cout << sin(3.14) << endl; // 几乎为0,0.00159265
return 0;
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 小建议(重要)
# 代码格式
观察如上代码,均做到了开头对齐,运算符左右两侧空格,main()
圆括号后空格等。虽然很多编辑器都能做代码格式化,但规范手写代码,在白板编程中能给面试官一个好印象🤭
反面教材
#include <iostream>
int main(){
cout<<"加法: "<<10+3<<endl; // 输出 13
cout<<"减法: "<<10-3<<endl; // 输出 7
cout<<"乘法: "<<10*3<<endl; // 输出 30
cout<<"整除: "<<10/3<<endl; // 输出 3(因为10除以3的结果是3余1,整除只取整数部分)
cout <<"浮点除法: "<<10.0/3<<endl; // 输出 3.33333(保留小数点后)
cout<<"浮点除法: "<<10/3.0<<endl; // 输出 3.33333(保留小数点后)
cout<<"取余: "<< 10%3<<endl; // 输出 1,10除以3余1
cout <<"优先级示例: "<<10+3*2<<endl; // 输出 16 (乘除大于加减)
cout<<"使用括号: "<< (10+3)*2<<endl; // 输出 26 (先计算括号内的加法,然后乘以2)
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 多做尝试
纸上谈兵,终归是浅尝辄止;唯有亲历实践,方能洞悉真知。编程之道,唯有亲手敲击键盘,方能在问题中成长,于熟练中生巧。
诸位不妨开启开发工具,亲自运行代码,让理论与实践相结合,以深化记忆,提升理解。
上次更新: 2024/03/17, 23:38:58