【0基础到备战蓝桥杯】Day7

1. 行参和实参

在函数使用的过程中,把函数的参数分为,实参形参

#include <stdio.h>
int Add(int x, int y)
{
    int z = 0;
    z = x + y;
    return z;
}
    int main()
{
    int a = 0;
    int b = 0;
    //输入
    scanf("%d %d", &a, &b);
    //调用加法函数,完成a和b的相加
    //求和的结果放在r中
    int r = Add(a, b);
    //输出
    printf("%d\n", r);
    return 0;
}

1.1. 实参

在上面代码中,第2~7行是Add 函数的定义,有了函数后,再第17行调用Add函数的。我们把第17行调用Add函数时,传递给函数的参数ab,称为实际参数,简称实参实际参数就是真实传递给函数的参数

1.2. 形参

在上面代码中,第2行定义函数的时候,在函数名Add 后的括号中写的x y ,称为形式参数,简称形参

为什么叫形式参数呢?实际上,如果只是定义了Add 函数,而不去调用的话, Add 函数的参数xy 只是形式上存在的,不会向内存申请空间,不会真实存在的,所以叫形式参数形式参数只有在函数被调用的过程中为了存放实参传递过来的值,才向内存申请空间,这个过程就是形参的实例化。

1.3. 实参和形参的关系

虽然我们提到了实参是传递给形参的,他们之间是有联系的,但是形参实参各自是独立的内存空间

这个现象是可以通过调试来观察的。请看下面的代码和调试演示:

#include <stdio.h>
int Add(int x, int y)
{
  
虽然给定引用未直接提及备战蓝桥杯 EDA 赛道所需的基础知识,但结合普遍情况,备战蓝桥杯 EDA 赛道通常需要以下几方面基础知识: #### 硬件基础 - **数字电路**:了解数字逻辑基础,如逻辑门电路、组合逻辑电路和时序逻辑电路的分析与设计。掌握触发器、计数器、寄存器等基本数字电路元件的原理和应用,这是进行 EDA 设计的基石。例如,设计一个简单的计数器电路时,需要运用数字电路的知识来确定其逻辑结构和工作原理。 - **模拟电路**:熟悉基本的模拟电路概念,如放大器、滤波器等。虽然 EDA 赛道更侧重于数字设计,但模拟电路知识有助于理解混合信号系统和芯片的整体性能。 #### 编程语言 - **Verilog 或 VHDL**:这两种是 EDA 设计中常用的硬件描述语言。以 Verilog 为例,需要掌握其语法结构,包括模块定义、端口声明、信号类型、赋值语句、过程块等。例如,使用 Verilog 描述一个简单的与门: ```verilog module and_gate ( input a, input b, output y ); assign y = a & b; endmodule ``` - **Python**:在 EDA 流程中,Python 可用于脚本编写、自动化测试和数据处理。例如,使用 Python 编写脚本对设计文件进行批量处理,或者对仿真结果进行数据分析。 #### EDA 工具使用 - **设计工具**:掌握至少一种主流的 EDA 设计工具,如 Quartus Prime(适用于 Altera FPGA)、Vivado(适用于 Xilinx FPGA)等。了解工具的基本操作流程,包括工程创建、代码编写、综合、布局布线、仿真等环节。 - **仿真工具**:学会使用仿真工具对设计进行功能验证和时序分析,如 ModelSim 等。能够编写测试平台(Testbench)对设计模块进行全面的测试,确保设计的正确性。 #### 芯片知识 - **FPGA 原理**:了解现场可编程门阵列(FPGA)的基本结构和工作原理,包括查找表(LUT)、触发器、布线资源等。掌握 FPGA 的配置方式和编程方法,能够根据设计需求选择合适的 FPGA 芯片。 - **ASIC 设计基础**:如果涉及到专用集成电路(ASIC)设计,需要了解 ASIC 设计的基本流程,包括前端设计、后端设计、物理设计等环节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值