【C++程序员必修课】C++基础课程-02:快速入门

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编程),定期会分享一些技术开发经验、行业资讯、业界动态等。期待您的关注,一起交流学习进步。

#下载示例源码和开发工具,请进入公众号首页,点击(发消息)最下方的(资源下载)菜单即可获取。

喜欢本文章,记得点赞、分享、关注哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天恩软件工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值