1 本课主要内容:
- 简单介绍 VS2019 开发工具基本使用
- C++ 开发基本概念、函数、变量、注释、if 判断、for 循环、while 循环等
2 主要知识点:
-
VS主界面介绍
VS 主界面简单介绍;解决方案下面包含项目,项目下面包含有头文件、源文件、资源文件等;
-
.h 文件
.h 文件是 C++ 头文件,一般用来写定义、声明等,包括对外接口、函数、数据等;如下例子:
// myfile.h
// 定义最小、最大值
const int MinNumber{0};
const int MaxNumber{9999};
// 声明函数
void add_number(int number);
// 声明类
class my_class {
public:
// 声明类函数
void do_something();
};
-
.cpp 文件
.cpp 文件是 C++ 源文件,一般用来写业务逻辑代码,或者一些局部变量定义等;如下例子:
// myfile.cpp
// 实现业务逻辑
void add_number(int number) {
if (number < MinNumber) {
number = MinNumber;
}
else if (number > MaxNumber) {
number = MaxNumber;
}
// ...
}
// 类函数实现代码
void my_class::do_something() {
// ...
}
-
其他 .hpp 文件等
有一些开源库会把源文件和头文件写到一起,然后用 .hpp 文件命名,所以你看到有其他扩展名的 C++ 代码,不需要感到意外;如下例子:
// my_class.hpp
// 声明类
class my_class {
public:
// 声明和实现写到一起
void do_something() {
// ...
}
};
-
#include 语句
(#include) 语句用来包含引用其他类或模块头文件;如下几种包含例子:
#include <random> // 包含系统级别、或其他模块头文件
#include <open3d/Open3D.h> // 包含带路径头文件
#include "user_info.h" // 包含本模块头文件
#include "../user_info.h" // 支持相对路径;(../)指上一个路径;(../../)指上上个路径;
-
编译、调试、运行和发布
编写代码后,需要把代码生成(也叫编译)成可执行程序(Windows环境下就是exe程序文件),才可以调试、运行或发布程序;
-
Debug 版本和 Release 版本
Debug是指可调试版本,Release指可发布版本;Debug在调试过程中可以看到调用堆栈、变量值等信息,生成程序比较大;Release发布版本做了优化,不能用于调试,生成文件小,执行效率更高;
-
C++ 代码基本语句格式
基本语句格式例子如下:
int a = 10;
以上代码,定义一个整形变量 a 初始赋值 10,(;)结束语句;
也可以写成下面这行(建议统一写成以下格式)
int a{10};
int a = 10, b = 20;
以上代码,定义二个整形变量 a 和 b,分别初始赋值 10 和 20, (;)结束语句;
也可以写成下面这行
int a{10}, b{20};
-
C++ 注释
C++ 有二种注释语句(//)和(/* */),(//)用于单行注释,(/* */)用于单行注释和多行注释;
// 【单行注释示例】屏蔽没用代码
// int minValue{0}; // 【单行注释示例】最小数值
float minValue{0.0}; // 【单行注释示例】最小数值
/* 单行注释 */
或者
/******************** 单行注释 ********************/
/*
【多行注释示例】
*/
或者
/*******************************
【多行注释示例】
*******************************/
-
变量名
定义变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成,第一个字母必须是字母或者下划线(_)开头;
// 以字母开头(大小写都可以)
int minValue = 0; // 合法
// 以字母开头,后面带字母和数字
int minValue1 = 0; // 合法
// 以下划线(_)开头,后面带字母和数字
int _minValue2 = 0; // 合法
-
C++ 代码区分大小写
// 区分大小写,如下定义了 A 和 a 二个不同变量
int A, a;
-
初识 C++ 标准输入流、输出流
/**** 例子:提示用户输入二个整数,输出二个整数的和 ****/
#include <iostream>
// std::cout(读 see out),是C++标准输出流
std::cout << "Enter two numbers:" << std::endl;
// 用于存放用户输入数值的 v1, v2 整形变量
int v1 = 0, v2 = 0;
// std::cin(读 see in),是C++标准输入流
std::cin >> v1 >> v2;
// 输出 v1, v2 的和
std::cout << v1 << " + " << v2 << " = " << v1 + v2 << std::endl;
-
if 判断语句
if 是逻辑判断语句,用于判断运算结果 true(真)、false(假)
/**** 例子:提示用户输入一个整数,判断该数值是否等于100,并输出不同提示 ****/
#include <iostream>
std::cout << "Enter number:" << std::endl;
int number = 0;
std::cin >> number;
// 判断 number 是否等于100
if (number == 100) {
std::cout << "Number = 100 is true" << std::endl;
}
else {
std::cout << "Number = 100 is false; " << number << std::endl;
}
-
for 循环语句
/**** 例子:计算1到100自然数的总和 ****/
#include <iostream>
int value = 0; // 用于存放计算结果值
// for 循环语句:
// 初始表示式:(i=1) 初始化i=1;循环表示式:(i<=100) true 执行循环,false 退出循环;
// 执行表示式:(++i) i自增1,等于 i=i+1
for (int i = 1; i <= 100; ++i) {
value += i;
// 累加 i 的值
}
// 输出结果
std::cout << "1+2+...+100 = " << value << std::endl;
-
while 循环语句
/**** 例子:计算1到100自然数的总和 ****/
#include <iostream>
int value = 0; // 用于存放计算结果值
int i = 1; // 初始i=1
while (i <= 100) { // 判断 i 小于等于 100;true执行循环,false退出循环
value += i++; // 先累加 i 的值,再 i 自增
}
// 输出结果
std::cout << "1+2+...+100 = " << value << std::endl;
-
C++ 函数
C++ 函数基本格式和例子如下:
// 普通的功能函数
void func1() {
...
}
// 带 return 返回值功能函数
int func2() {
...
return 0;
}
// 带参数功能函数
int func3(int a, int b) {
...
return a + b;
}
/**** 例子:编写函数,输入整数参数count,计算1到count的总和,并返回计算结果 ****/
#include <iostream>
int func4(int count)
{
int value = 0;
for (int i = 1; i <= count; ++i) {
value += i;
}
return value;
}
int value = func4(100);
// 调用函数,输入100
std::cout << "1+2+...+100 = " << value << std::endl;
-
C++ 程序主函数 main() 函数
main() 函数是 C++ 程序主入口函数;一般有以下二种格式:
// 1 最基本的主入口函数
int main()
{
// ...
return 0;
}
// 2 带命令参数主入口函数
int main(int argc, char *argv[])
{
// ...
return 0;
}
-
3 实例:
利用 C++ 的 random 生成100组随机数,计算最大值、最小值
#include <iostream>
#include <random> // 使用 random 库文件
void test_gen_random_value() {
unsigned int minValue = -1; // 最小值
unsigned int maxValue = 0; // 最大值
std::random_device rd;
for (int i = 0; i < 100; i++) {
unsigned int value = rd();
std::cout << i << " : " << value << std::endl;
if (value < minValue)
minValue = value;
else if (value > maxValue)
maxValue = value;
}
// 输出结果
std::cout << "MinValue : " << minValue << std::endl;
std::cout << "MaxValue : " << maxValue << std::endl;
}
int main()
{
test_gen_random_value();
return 0;
}
4 课后练习:
- 练习1:新建控制台程序,提示用户输入整数 v,判断输入取值范围[1 ~ 10000],编写函数,计算从1到v的相加结果并返回,将结果输出到屏幕
- 练习2:利用 random 生成 100 组随机数,计算数值累加值、平均值,把计算结果输出到控制台界面上;
附录:在线视频课程
进入视频号学习本文配套视频课程。
-【End】-
哈喽,大家好!我是喜欢coding的小二,一枚“靓仔又不掉头发”的C++开发大头兵;欢迎围观公众号(20YC编程),定期会分享一些技术开发经验、行业资讯、业界动态等。期待您的关注,一起交流学习进步。
#下载示例源码和开发工具,请进入公众号首页,点击(发消息)最下方的(资源下载)菜单即可获取。
喜欢本文章,记得点赞、分享、关注哦~