【2025年软考中级】第二章2.2 程序设计语言的基本成分

文章目录

    • 程序设计语言的基本成分
      • [1. 数据成分:程序中的"物品"](#1. 数据成分:程序中的“物品”)
      • [2. 运算成分:数据的"操作"](#2. 运算成分:数据的“操作”)
      • [3. 控制成分:程序的"流程"](#3. 控制成分:程序的“流程”)
      • [4. 传输成分:数据的"搬运"](#4. 传输成分:数据的“搬运”)
      • [5. 函数:程序的"工具包"](#5. 函数:程序的“工具包”)

程序设计语言的基本成分

每种编程语言都由几个核心部分组成,就像搭建积木一样。了解这些基础成分能帮你更快上手任何语言:

1. 数据成分:程序中的"物品"

数据就是程序处理的信息,分为不同类型:

  • 常量:固定不变的值(如圆周率3.14)
  • 变量:可以改变的值(如游戏中的得分)
  • 全局量:整个程序都能访问的数据
  • 局部量:只在特定函数中有效的数据

常见数据类型

类型 说明 示例
整型 整数 5, -10, 100
浮点型 小数 3.14, -0.5
字符型 单个字符 'A', '9', '@'
布尔型 真假值 true, false
字符串 文本 "Hello"

就像超市商品分水果、蔬菜一样,数据分类让计算机知道如何存储和处理它们

2. 运算成分:数据的"操作"

运算符就像数学符号,让数据产生新结果:

  • + - * /:加减乘除
  • > < ==:比较大小/相等
  • && || !:逻辑运算(且、或、非)
  • & | ^:位运算(计算机底层操作)
python 复制代码
# 简单运算示例
price = 50  # 单价
quantity = 3  # 数量
total = price * quantity  # 使用*运算符计算总价

3. 控制成分:程序的"流程"

决定代码执行顺序的三种基本结构:

  1. 顺序结构:从上到下顺序执行(像菜谱步骤)

  2. 选择结构 :根据条件选择执行路径(像岔路口)

    c 复制代码
    if (score >= 60) {
        printf("及格!");
    } else {
        printf("再接再厉");
    }
  3. 循环结构 :重复执行特定代码(像工厂流水线)

    python 复制代码
    for i in range(5):  # 打印5次
        print("Hello World!")

4. 传输成分:数据的"搬运"

程序内外的数据传递方式:

  • 赋值 :把数据存入变量(x = 10
  • 输入:从键盘/文件获取数据
  • 输出:显示结果到屏幕/文件
c 复制代码
// 简单的输入输出
int age;
printf("请输入年龄:");  // 输出提示
scanf("%d", &age);     // 输入数据

5. 函数:程序的"工具包"

函数是把代码打包的独立单元,方便重复使用。C语言程序必须包含main函数作为起点:

函数三要素
  1. 函数定义 :创建工具

    c 复制代码
    // 函数定义示例
    int add(int a, int b) {  // 函数首部:返回类型int,函数名add,参数a,b
        return a + b;        // 函数体:执行加法
    }
  2. 函数声明 :提前说明工具(类似产品说明书)

    c 复制代码
    int add(int, int);  // 声明:告诉编译器有个add函数
  3. 函数调用 :使用工具

    c 复制代码
    int result = add(3, 5);  // 调用函数,result得到8
参数传递的两种方式
方式 特点 类比
值调用 传递数据副本 函数内修改不影响原始值 给你文件复印件 你修改不影响原文件
引用调用 传递数据地址 函数内修改影响原始值 直接给你原文件 你的修改会保存

小贴士:在C语言中,想修改原始数据需使用指针(地址传递),C++则提供更简单的引用方式

相关推荐
编程圈子10 小时前
电机驱动开发学习21. R3_2 双相扇区电流采样与第三相重构
驱动开发·学习·重构
chnyi6_ya11 小时前
论文阅读笔记 | The Script is All You Need: 对话到电影级视频生成的 Agentic 框架
论文阅读·笔记
听雨入夜11 小时前
CMake构建学习笔记-libxml库的构建
笔记·学习
iiiiii1111 小时前
【论文阅读笔记】Reparameterization Proximal Policy Optimization (RPO):将PPO的稳定性引入可微分强化学习
论文阅读·人工智能·笔记·深度学习·机器学习·机器人·具身智能
for_ever_love__12 小时前
iOS: 网络管理单例
学习·ios·objective-c
不在逃避q12 小时前
一步一步学习使用LiveBindings()TListView进阶使用(),打造天气预报程序
服务器·数据库·学习
@insist12312 小时前
信息系统管理工程师-软件实现、部署交付与过程管理核心考点梳理
软考·软件水平考试·信息系统管理工程师·软考信管
鱼子星_12 小时前
【C++】深入剖析list:list及其双向迭代器实现
开发语言·数据结构·c++·笔记·stl·list
知识分享小能手12 小时前
高等数学学习教程,从入门到精通,微分中值定理与导数的应用(5)
学习·机器学习·概率论
520拼好饭被践踏12 小时前
JAVA+Agent学习day25
java·开发语言·学习