当前位置: 首页 > article >正文

C++ 学习之旅:基础语法学习

C++ 基础语法学习

在上一篇博客中,我们完成了 C++ 开发环境的搭建,现在就可以正式进入 C++ 基础语法的学习啦。掌握基础语法是深入学习 C++ 编程的基石,下面就让我们逐步探索 C++ 的基础语法世界。

一、变量与数据类型

(一)变量
在 C++ 中,变量是用来存储数据的容器。定义变量时需要指定变量的类型和名称。例如:

int num; // 定义一个整型变量numnum = 10; // 给变量num赋值为10

易错点:变量在使用前必须先定义,否则会报错。另外,变量名不能与 C++ 关键字重复,比如不能将变量命名为int while等。
实际应用场景:在开发一个简单的学生成绩管理系统时,可以用变量存储学生的学号、成绩等信息。
(二)数据类型
C++ 有丰富的数据类型,常见的有:

  1. 整型(int):用于存储整数,如int age = 20;。
  2. 浮点型(float 和 double):float用于存储单精度浮点数,double用于存储双精度浮点数,后者精度更高。例如float price = 19.9f;,double pi = 3.14159265358979323846; 。注意,float类型的字面量需要加上f后缀。
  3. 字符型(char): 用于存储单个字符,如char ch = ‘A’; ,字符需要用单引号括起来。
  4. 布尔型(bool): 只有两个值true和false,用于逻辑判断,如bool isDone = false; 。
    不同数据类型的选择技巧:如果对精度要求不高且数据量较大,可选用float以节省内存;而在科学计算、高精度运算场景中,优先使用double。对于表示状态标志的变量,使用bool类型可使代码逻辑更清晰。

二、运算符
C++ 提供了多种运算符,方便进行各种运算。

  1. 算术运算符: 包括加(+)、减(-)、乘(*)、除(/)、取模(%)。例如:
int a = 10, b = 3;
int sum = a + b; // 加法运算,sum为13
int quotient = a / b; // 除法运算,quotient为3
int remainder = a % b; // 取模运算,remainder为1
  1. 赋值运算符(=): 用于给变量赋值,如int num = 5; 。
  2. 比较运算符: 包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=),用于比较两个值,返回bool类型结果。例如:
int x = 5, y = 3;
bool result = x > y; // result为true
  1. 逻辑运算符: 逻辑与(&&)、逻辑或(||)、逻辑非(!)。逻辑运算符用于组合多个条件进行逻辑判断。例如:
bool condition1 = true;
bool condition2 = false;
bool andResult = condition1 && condition2; // andResult为false
bool orResult = condition1 || condition2; // orResult为true
bool notResult =!condition1; // notResult为false

运算符优先级问题: 在一个复杂的表达式中,运算符优先级决定了运算顺序。比如int result = 2 + 3 * 4;,先计算乘法3 * 4,再计算加法,所以result的值为 14。建议使用括号来明确运算顺序,避免因优先级导致的错误,如int result = (2 + 3) * 4; ,此时result的值为 20 。
复合赋值运算符: 除了基本的赋值运算符,C++ 还有复合赋值运算符,如+= -= *= /=等。例如int num = 5; num += 3; ,等同于num = num + 3; ,最终num的值为 8 。复合赋值运算符能使代码更简洁。

三、控制结构

控制结构决定了程序的执行流程。

  1. 条件语句(if - else): 根据条件的真假执行不同的代码块。例如:
int score = 85;
if (score >= 60) 
{    
    std::cout << "及格" << std::endl;
} 
else {    
    std::cout << "不及格" << std::endl;
}
  1. 多分支语句(switch - case): 根据一个表达式的值来选择执行不同的分支。例如:
int day = 3;
switch (day) 
{    
    case 1:        
        std::cout << "星期一" << std::endl;       
    break;    
    case 2:        
        std::cout << "星期二" << std::endl;        
    break;    
    case 3:        
        std::cout << "星期三" << std::endl;        
    break;    
    default:        
        std::cout << "其他" << std::endl;        
    break;
}

3. 循环语句(for、while、do - while):用于重复执行一段代码。

  • for 循环:常用于已知循环次数的情况。例如:
for (int i = 0; i < 5; i++) {    
    std::cout << i << " ";
}
  • while 循环:当条件为真时,重复执行循环体。例如:
int count = 0;
while (count < 3) {    
    std::cout << count << " ";    
    count++;
}
  • do - while 循环:先执行一次循环体,再判断条件是否为真,若为真则继续循环。例如:
int num = 0;
do {    
    std::cout << num << " ";    
    num++;
} while (num < 3);

循环控制语句: 在循环中,break语句用于立即终止循环,continue语句用于跳过本次循环的剩余部分,直接开始下一次循环。例如在一个寻找 10 以内偶数的循环中:

for (int i = 0; i < 10; i++) 
{    
    if (i % 2!= 0) {        
        continue;    
    }    
    std::cout << i << "是偶数" << std::endl;
}

这段代码中,continue跳过了奇数,只输出偶数。
嵌套控制结构: 实际编程中,经常会用到嵌套的控制结构,如在一个二维数组的遍历中,需要使用嵌套的for循环:

int matrix[3][3] = {    {1, 2, 3},    {4, 5, 6},    {7, 8, 9}};
for (int i = 0; i < 3; i++) {    
    for (int j = 0; j < 3; j++) {        
        std::cout << matrix[i][j] << " ";    
    }    
    std::cout << std::endl;
}

通过对这些基础语法的学习,我们已经迈出了 C++ 编程的重要一步。在后续的学习中,我们还将深入探讨函数、类与对象等更高级的 C++ 特性。


http://www.kler.cn/a/545802.html

相关文章:

  • npm 私服使用介绍
  • HCIA项目实践--RIP的拓展配置
  • Spring Cloud + Nacos + K8S 零影响发布方案
  • C# 中用于比较两个字符串的方法string.Compare
  • 文件上传漏洞请求体
  • React进阶之React状态管理CRA
  • C++从入门到实战(三)缺省参数与函数重载
  • 排序--四种算法
  • 劳动争议调解系统(源码+文档+部署+讲解)
  • uniapp在地图上加载CAD图,标记区域网格,加载geojson数据
  • 图像锐化(QT)
  • Qt中2个.app源文件之间函数与变量的互相调用
  • 【工业安全】-CVE-2022-35561- Tenda W6路由器 栈溢出漏洞
  • @Transational事务注解底层原理以及什么场景事务会失效
  • C++设计模式-工厂模式
  • 什么是服务的雪崩、熔断、降级的解释以及Hystrix和Sentinel服务熔断器的解释、比较
  • OpenWebUI使用DeepSeek R1满血版,DeepSeek R1 API调用
  • 《C++ Primer》学习笔记(一)
  • 【目标检测json2xml】label从COCO格式json文件转VOC格式xml文件
  • 关于post和get的请求参数问题