




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualBasic语言作为结构化程序设计语言 提供了三种控制流来控制程序的流程 顺序 条件分支和循环语句 程序中的语句依照其在程序中的位置依次顺序地执行 叫做语句的顺序执行 在一个简单的顺序结构程序中 一般包含三种操作 数据的输入 计算并赋值 数据的输出 一 顺序结构程序设计 有多种方法可以实现数据的输入 如书中介绍的InputBox 函数 在Windows程序设计中最常用的方法是使用文本框控件 文本框控件 文本框控件用于接收输入的文本信息 字符型 它将接收的字符串保存在文本框的Text属性中 在使用文本框时 常见的形式为 a Text1 Text即将Text1文本框的Text属性值 输入的内容 赋值给变量a 另外 如果对文本框操作时只给出了文本框的名字 系统默认为对Text属性操作 因此在程序中也经常见到如下形式 a Text1 虽然文本框控件接收的是字符型信息 如果是数值型字符串 将其赋值给数值型变量后 变量中得到的是数值 赋值语句格式 Let 变量名 对象属性名 表达式 将赋值号右边表达式的值赋给赋值号左边的变量或对象属性 举例 Form1 caption 输入框 Temp 20 在赋值语句中通过表达式完成计算 这是实现计算功能的最常见的形式 说明 Let是赋值语句的关键字 是一个可选项 通常省略 表达式的类型应与变量名的类型一致 当同时为数值型但精度不相同时 强制转换成左边的精度 例如 iA 4 7 iA是整型变量 iA中的结果是5 可以把字符串或数值表达式的值赋给Variant变量 但反过来不一定正确 任何除Null之外的Variant都可以赋给字符串变量 但只有当Variant的值可以解释为某个数值时才能赋给数值变量 赋值语句中的 与关系运算符中的 的作用截然不同 例如 A 7 9举例 将A和B单元的内容互换 InputBox 函数格式 InputBox prompt title default xpos ypos 功能 该函数的作用是打开一个对话框 等待用户键入文本或选择一个按钮 当用户单击 确定 按钮或按回车键时 函数返回文本框中输入的字符 说明 可选项 有此项时 返回的数据类型是字符串型 省略此项 返回的数据类型是变体型 prompt 提示 字符串表达式 必选项 在对话框中作为提示信息 可以是字符或汉字 最大长度大约为1024个字符 由所用字符的宽度决定 如果提示信息包含多行 则必须在每行末用回车符 Chr 13 换行符 Chr 10 或回车换行符的组合 Chr 13 Chr 10 来分隔 title 标题 可选项 显示在对话框标题栏中的字符串表达式 如果省略title 则把应用程序名放在标题栏中 default 缺省 可选项 显示文本框中的字符串表达式 当在输入对话框中无输入内容时 该缺省值作为输入的内容 如果省略default 则文本框为空 xpos ypos X坐标位置 Y坐标位置 可选项 整型表达式 成对出现 xpos用来指定对话框的左边与屏幕左边的水平距离 ypos用来指定对话框的上边与屏幕上边的垂直距离 如果省略该项 则对话框在水平方向居中 在垂直方向距下边大约三分之一的位置 注意 函数中的各项参数次序必须一一对应 除了 prompt 一项不能省略外 其余各项均为可选项 如果要省略某些参数 则必须加入相应的逗号分割符 MsgBox函数和MsgBox过程MsgBox函数格式 变量 MsgBox prompt buttons title MsgBox过程格式 MsgBox prompt buttons title 功能 打开一个消息框 等待用户选择一个按钮 MsgBox函数返回所选按钮对应的整数值 以便告诉用户单击哪一个按钮 若不需要返回值 则可作为MsgBox过程使用 说明 prompt 和 title 的含义与InputBox 函数中对应的参数相同 buttons 按钮 可选项 为整型参数 用来设定要显示的按钮的数目 类型和出现在消息框中的图标类型 变量 返回值 当用户按下消息框按钮时 系统将返回按键相对应的数值 利用这个返回信息 用户可以在以后的程序中作出不同的响应 标准显示输出语句格式 Print 表达式 功能 在屏幕上显示数据 说明 表达式 可选项 可以是一个或多个任意数值 字符串常量 变量或表达式 当有多个表达式时 要用分隔符 逗号 分号 隔开 显示的字符串内容要用双引号括起来 当表达式缺省时 则屏幕显示一个空行 标准显示输出语句的输出格式分为标准输出格式和紧凑输出格式 VB把输出的每一行以14个字符宽度划分为一个区段 每个数据项占一个区段的位置 这种输出格式排列整齐 适用于数值显示的情况 紧凑输出格式在输出时 对于数值型数据 前面有一个符号位 后面有一个空格 对于每个字符串 各个数据项之间没有间隔 适用于用若干个字符串显示连续的结果 在标准显示输出语句中 如果各数据项之间用逗号隔开 则按标准输出格式显示数据 若显示语句中各数据项之间用分号或空格作为分隔符 则按紧凑输出格式输出数据 若Print语句的末尾使用了逗号或分号 则表明显示数据不换行 下一个Print语句仍在该行输出 当输出的数据超过显示行的宽度时 多余的数据自动输出到下一行 Print方法Print方法的作用是在对象上输出信息 形式 对象 Print Spc n Tab n 表达式表 其中 对象可以是窗体 Form 图形框 PictureBox 或打印机 Printer 如果省略了对象 则在窗体上输出 Spc n 函数 用于在输出时插入n个空格 Tab n 函数 用于在输出表达式列表前向右移动到n列 表达式表 要输出的数值或字符串表达式 其开始打印的位置是由对象CurrentX和CurrentY属性决定的 缺省时打印在对象的左上角0 0处 通过Label控件的Caption输出设计阶段 在窗体需要显示输出数据的地方放置Label控件在程序中 将需要输出的数据转换为字符型量 然后赋值给Label控件的Caption属性 3 Rem End语句 Rem语句格式 Rem注释内容或 注释内容功能 用来在程序中加入注释内容 说明 注释内容可以是包含任何注释文本的内容 Rem和注释内容之间要加一个空格 如果程序中使用了行号或者行标签 则可用GoTo或GoSub语句转到一个Rem语句行 此时 程序从该Rem语句下面的第一条可执行语句继续执行 如果在其他语句后使用Rem关键字 则必须使用冒号 与语句分开 也可以用撇号 取代Rem 但冒号要省略 2 End语句格式 End功能 在过程中关闭代码执行 关闭以Open语句打开的文件并清除变量 停止执行程序 说明 End语句可以放在过程中的任何位置 End语句在执行时会重新设置所有模块级变量和所有模块的静态局部变量 如果不想改变这些变量的值 应将End语句改为Stop语句 此时在保留这些变量值的基础上可以恢复执行 End语句提供的是一种强迫中止程序的方法 VisualBasic选择结构的实现 If Then If Then Else SelectCase 1 If Then结构 格式1 If 表达式 Then语句格式2 If 表达式 Then语句块EndIf 说明 表达式都是逻辑表达式 当表达式是数值表达式时 VisualBasic将这个值解释为True或False 一个为零的数值为False 而任何非零数值都被看作True 语句块可以是一条或多条语句 如果使用格式1的简单形式表示 则只能是一条语句 或用冒号隔开的多条语句 但这些语句必须书写在一行上 可以使用单行或多行语法有条件地执行一个语句 下面两个例子是等价的 Ifa MaxThenMax a和Ifa MaxThenMax aEndIf If Then的单行格式不用EndIf语句 2 If Then Else结构 格式1 IfThenElseEndIf格式2 IfThenElse例 成绩判断 及格与不及格 3 If Then ElseIf结构 语句形式 If 表达式1 Then 语句块1 ElseIf 表达式2 Then 语句块2 Else 语句块n 1 EndIf 说明 不管有几个分支 程序执行了一个分支后 其余分支不再执行 ElseIf子句的数量没有限制 可以根据需要使用任意多个ElseIf子句 语句中的ElseIf子句和Else子句都是可选项 如果省略这些子句 则成为单分支结构 If Then ElseIf只是If Then Else的一个特例 注意 可以使用任意数量的ElseIf子句 或者一个也不用 可以有一个Else子句 而不管有没有ElseIf子句 程序举例1 计算函数的值 PrivateSubCommand1 Click DimxAsSingle yAsSinglex Text1 textIfx 0Theny 5ElseIfx 1Theny x 1ElseIfx 2Theny x 2 2ElseIfx 5Theny x 3Elsey 2 x 6EndIfLabel1 Caption y yEndSub 程序举例2 按分数段显示成绩的级别PrivateSubCommand1 Click DimxAsSinglex Text1 textIfx 90ThenLabel1 Caption 优秀 ElseIfx 70ThenLabel1 Caption 良好 ElseIfx 60ThenLabel1 Caption 及格 ElseLabel1 Caption 不及格 EndIfEndSub 块结构的条件语句可以嵌套 即把一个If Then Else块放在另一个If Then Else块内 嵌套必须完全嵌套 也就是内层条件语句必须完全包含在外层条件语句之中 格式 IfThen IfThen Else EndIf Else IfThen Else EndIf EndIf 4 SelectCase结构 格式 SelectCase测试变量或表达式 Case表达式表1 语句块1 Case表达式表2 语句块2 Case表达式表n 语句块n CaseElse 语句块n 1 EndSelect 功能 根据测试变量或表达式的值 从多个语句块中选择符合条件的一个语句块执行 说明 测试变量或表达式只能是数值表达式或字符串表达式 不能是逻辑表达式 语句块是由一行或多行VB语句组成的 表达式表与测试变量或表达式的类型必须相同 每一个表达式表是一个或几个值的列表 如果在一个列表中有多个值 就用逗号把值隔开 表达式表有四种形式 一个表达式 如 Case6 一组枚举表达式 即多个表达式 表达式之间用逗号隔开 如 Case1 3 5 7Case I YOU Then 表达式1TO表达式2 该形式指定某个数值范围 较小的数值放在前面 较大的数值放在后面 字符串常量则按字母的ASCII码顺序从低到高排列 如 Case1To10Case a To e Is 如 CaseIs 80CaseIs Y 另外 在一个情况语句中 上述四种形式可以混合使用 SelectCase语句在执行时 先求测试表达式的值 然后寻找该值与哪一个Case子句的表达式值相匹配 找到后则执行与该Case语句有关的语句块 之后自动转到EndSelect后的语句执行 如果没有找到与Case子句中的表达式相匹配的值 则执行CaseElse子句有关的语句块 然后转到EndSelect后面的语句执行 当有多个Case子句的取值范围和测试表达式的值域相符时 只执行符合要求的第一个Case子句后的语句块 SelectCase语句只对单个表达式求值 并根据求值结果执行不同的语句块 而If Then Else语句可以对不同的表达式求值 然后执行不同的操作 这是两者的主要区别 程序举例 按分数段显示成绩的级别PrivateSubCommand1 Click DimxAsSinglex Text1 textSelectCasexCaseIs 90Label1 Caption 优秀 CaseIs 70Label1 Caption 良好 CaseIs 60Label1 Caption 及格 CaseElseLabel1 Caption 不及格 EndSelectEndSub 转移语句就是程序执行到某一步后 不再顺序执行下一条语句 而是转移执行其他语句 5 转移语句 格式 Goto行标识符功能 无条件转向行标识符 行号或标号 所在的程序行 说明 Goto语句又叫作无条件转移语句 当程序执行到Goto语句时 程序无条件的进行跳转 行标识符可以是字符串标号 也可以是行标号 如果是字符串标号 则标号后面要有一个冒号 行标识符必须在程序中确实存在 它可在Goto语句之前 也可在Goto语句之后 Goto语句 6 选择结构程序设计举例 闰年设Y为年数 判断闰年的条件是 Y不能被4整除 则Y不是闰年 Y能被4整除 不能被100整除 则Y是闰年 Y能被4整除 能被100整除 不能被400整除 则Y不是闰年 Y能被4 100 400整除 则Y是闰年 PrivateSubCommand1 Click DimyAsInteger nameAsStringy Text1Label2 Caption Str y 年为 IfyMod40Thenname 不是闰年 ElseIfyMod1000Thenname 闰年 ElseIfyMod400 0Thenname 闰年 Elsename 不是闰年 EndIfEndIfEndIfLabel3 Caption nameEndSub 循环结构允许重复执行一行或数行代码 VisualBasic支持的循环结构有 Do LoopFor NextWhile WendForEach Next 适用 事先不知道循环次数的操作四种语法格式 DoWhile Loop语句 Do LoopWhile语句 DoUntil Loop语句 Do LoopUntil语句 1 Do Loop循环 格式 DoWhile 条件表达式 循环体 ExitDo 循环体 Loop DoWhile Loop语句 说明 条件表达式可以是一个逻辑表达式 也可以是一个关系表达式 其值应是逻辑型 DoWhile和Loop应成对出现 循环体中要有控制循环的语句 以避免出现死循环 由于该循环的特点是先判断条件 然后再决定是否要执行循环体里的语句 所以 这种循环可以一次也不执行循环体 其流程图如图3 14所示 ExitDo表示当遇到该语句时 强制退出循环 执行Loop后的下一条语句 格式 Do 循环体 ExitDo 循环体 LoopWhile 条件表达式 Do LoopWhile语句 说明 至少要执行循环体一次 与DoWhile循环的区别 DoWhile循环 先测试条件是否成立 只有成立才执行循环 该循环 先执行循环体 后测试条件是否成立 格式 DoUntil 条件表达式 循环体 ExitDo 循环体 Loop DoUntil Loop语句 格式 Do 循环体 ExitDo 循环体 LoopUntil 条件表达式 Do LoopUntil语句 5 DO循环程序举例 1 打印1 20的整数PrivateSubCommand1 Click DimiAsIntegeri 1DoWhilei 20Printii i 1LoopEndSub 2 计算1 2 20的和PrivateSubCommand1 Click DimsAsSingleDimiAsIntegers 0i 1DoWhilei 20s s ii i 1LoopPrints iEndSub 5 DO循环程序举例 3 计算5 1x2x3x4x5的积PrivateSubCommand1 Click DimfAsSingle iAsIntegerf 1i 1DoWhilei 5f f ii i 1LoopPrintf iEndSub 循环变量 用于控制循环次数 在循环体内通过表达式赋值改变 求和变量 在循环体外通常赋初值0 在循环体内通常是s s xx的形式进行连续求和 求积变量 在循环体外通常赋初值1 在循环体内通常是f f xx的形式进行连续求积 格式 For循环变量 初值To终值 Step步长 ExitFor Next 循环变量 2 For Next循环 说明 格式中的参数说明 循环变量也叫做循环控制变量 它是一个数值变量 但不能是数组变量 循环的初值 终值和步长都是数值表达式 其值不一定是整数 可以是实数 VB自动取整 其中 增量参数可正可负 如果增量为正 则初值必须小于等于终值 否则不能执行循环体内的语句 如果增量为负 则初值必须大于等于终值 如果没有设置step 则增量默认为1 在For语句和Next语句之间的语句序列称为循环体 可以是一个或多个语句 ExitFor为强行退出循环语句 Next是循环终端语句 在Next后面的循环变量与For中的循环变量必须相同 当循环是单层循环时 Next后面的循环变量可以不写 For循环语句的执行过程是 首先把初值赋给循环变量 接着检查循环变量的值是否超过终值 如果超过就不执行循环体 跳出循环 执行Next后面的语句 否则执行一次循环体 然后把循环变量增加步长 再赋给循环变量 重复上述过程 见流程图3 18 当初值等于终值时 不管步长是正数还是负数 都执行一次循环体 循环次数由初值 终值和步长决定 计算公式为 循环次数 INT 终值 初值 步长 1 For语句和Next语句必须成对出现 不能单独使用 如果要在循环变量到达终值前退出循环 可用ExitFor语句来实现 该语句可以在For循环中出现多次 且位置不限 在循环体中可以使用循环变量 但一般不再对循环变量赋值 For循环程序举例 1 计算1 2 20的和PrivateSubCommand1 Click DimsAsSingleDimiAsIntegerDimJAsIntegers 0J Text1Fori 1ToJs s iNextPrints iEndSub 2 计算阶乘PrivateSubCommand1 Click DimfAsSingleDimiAsIntegerf 1Fori 1To5f f iNextPrintf iEndSub 循环结构语句可以嵌套 即把一个循环结构放在另一个循环结构内 嵌套必须完全嵌套 也就是内层循环结构必须完全包含在外层循环结构之中 格式 DoWhile FORI 初值TO终值 Next DoWhile LOOP LOOP 格式 FORI 初值TO终值 FORJ 初值TO终值 NextJ DoWhile LOOP NEXTI 循环嵌套程序举例 计算1 2 5 PrivateSubCommand1 Click DimiAsInteger jAsInteger sAsSingle fAsSingles 0Fori 1To5f 1Forj 1Toif f jNextjs s fNextiPrintsEndSub Fori 1to2Printi Forj 1to3Printj Fork 7to9Printk exitforNextkNextjPrint a NextiPrinti j k 数组及应用 数组概念的引出 在科学计算和数据处理中 要用到成批数据 这些数据类型相同 且彼此间存在一定的顺序关系数组可以表现多种逻辑关系的数据形式 通常 数组是由一组具有同一类型的变量组成的 即一个数组中的所有元素具有相同的数据类型 当然 当数据类型为变体 Variant 时 各个元素能够包含不同种类的数据 对象 字符串 数值等 在VB中有两种类型的数组 固定大小的数组 它总是保持同样的大小 以及在运行时大小可以改变的动态数组 使用数组必须先声明 后使用 与变量一样 根据数组应用的有效范围 可以采用以下三种方法进行声明 在模块的声明段用Public语句声明数组 建立公用数组 在模块的声明段用Private或Dim语句声明数组 建立模块级数组 在过程中用Dim或Static语句声明数组 建立局部数组 声明固定大小数组应包含的信息 数组名 数组的维数 数组的大小 体积 数组的类型 数组定义 一 固定大小的数组 在声明时能够确定了大小的数组称作固定大小的数组 一维数组只需要用一个下标就能确定一个数组元素在数组中的位置 那么该数组称为一维数组 在使用数组前要先声明 以开辟所需的空间 格式 Dim数组名 下标 As数组类型 功能 定义一个一维数组的大小 并分配相应的存储空间 说明 数组名与简单变量的命名规则相同 下标是数组的维数 格式为 下界To 上界 一般情况下 当 下界To 缺省时 默认值为0 一维数组下标的范围可以为 32768 32767 下界必须小于上界 一维数组的大小是 上界 下界 1 As数组类型用来说明数组的类型 如果缺省 则与变量的声明一样 默认为是变体数组 例如 Dima 12 AsSingle 声明a数组的类型为单精度型 下标范围为0 12Dimx 1To50 AsInteger 声明x数组的类型为整型 下标范围为1 50 Dimy 1To10 声明y是一个下标范围为1到10的变体数组 数组必须先声明后使用 Dim语句声明的数组 为系统编译程序提供了数组名 数组类型 数组的维数和各维的大小 该语句把数值数组中的全部数组元素都初始化为0 而把字符串数组中的全部数组元素都初始化为空字符串 Dim语句中的下标可以是常数 下标全为常数时为固定大小的数组 数组的大小在编译时是确定的 下标为空时则为动态数组 数组的大小是可变的 只有在程序运行时 变量有确定的值后 数组的大小才能确定 可以使用以下方法声明通用数组 建立公用数组 在模块的声明段用Public语句声明数组 建立模块级数组 在模块的声明段用Private或Dim语句声明数组 建立局部数组 在过程中用Dim或Static语句声明数组 例如 DimCounters 1To14 AsIntegerPrivateSums 1To20 AsDoublePublicCounters 14 AsDoubleDimSubs 20 AsDouble 多维数组格式 Dim数组名 下标1 下标2 下标3 As数组类型 功能 声明一个二维数组或多维数组 并分配相应的存储单元 说明 下标的个数决定了数组的维数 多维数组最大维数为60 每一维的大小为 上界 下界 1 数组的大小为每一维大小的乘积 例如 DimArray 3 4 AsInteger 声明Array是整型数组 4行5列 共20个元素 DimMultiD 3 1To10 1To15 声明MultiD是一个变体数组 大小为4 10 15 OptionBase语句格式 OptionBasen功能 改变数组下标的缺省下界 说明 n为数组下标的下界 只能是0或1 该语句在程序中只能使用一次 且必须放在数组声明语句之前 数组元素的下标 数组元素在数组中的顺序号称为下标 下标的个数决定了数组的维数 下标的乘积是数组的体积 例如 Dima 5 asInteger元素个数6个Dimb 1 2 asSingle元素个数2 3 6个 数组声明和数组元素的区别 数组声明中定义的数组名 包括维数 大小说明 用来说明数组的名字 维数 大小和类型 数组元素是数组中的一个成员 只能放在可执行语句中 例如Dimb 1 2 asSingle 声明2行3列的二维数组b 1 2 3 2 给数组元素b 1 2 赋值 数组元素及下标 3 7 2动态数组 建立动态数组的步骤 声明动态数组 用Dim Private Public等语句声明数组 给数组赋予一个空维数表 例如 DimDynarray 用Redim语句配置实际的数组元素个数 格式 Redim数组名 下标1 下标2 功能 声明动态数组的大小 说明 Redim语句声明只能用在过程中 它是可执行语句 它可以改变数组中元素的个数 但不能改变数组的维数 例如不能将一维数组改变为二维数组 每次用Redim来配置数组个数时 数组中的内容全部被清为零 为了保留数组中的数据 可以在Redim语句后加Preserve参数 该参数只能改变最后一维的大小 前面维的大小不能改变 1 数组元素的引用要使用数组中的元素 应使用这样的格式 格式 数组名 下标 说明 下标的个数必须与数组定义时的维数一致 对于多维数组元素 下标之间用逗号隔开 下标可以是表达式 如果表达式的值是实型数 系统自动取整 如A 1 T 2 m n U i i 1 i 2 都是合法的数组元素引用 下标的值必须在数组定义的各维的上下界之内 要严格区分数组声明中的下标和数组引用中的下标 两者的写法相同 但意义不一样 3 7 3数组的基本操作 2 数组元素初始化DimTestArray 10 AsIntegerDimiAsIntegerFori 0To10TestArray i iNext例如 在下面的例子中 将产生下标越界错误 DimTestArray 10 AsIntegerDimiAsInetger Fori 0To11IfTestArray i 1500ThenPrintT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水资源利用与保护环境影响评估可行性报告
- 店铺转让协议书合同
- 以房换房协议书
- 财产分割协议书样本
- 卖车协议书样本
- 2025海南省交通工程建设局第一批考核招聘劳动合同制人员8人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025年安徽师范大学专职辅导员招聘12人考前自测高频考点模拟试题及答案详解(典优)
- 2025湖北恩施来凤县星熠文化科技有限责任公司招聘财务人员的考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年4月15日广西梧州市龙投人力资源有限公司招聘2人考前自测高频考点模拟试题及1套参考答案详解
- 2025年枣庄市第二期政府专职消防员招聘(161名)考试模拟试题及答案解析
- 中医减肥合同协议书
- 输血知识培训课件
- 粉红税问题成因分析
- 知识产权转化与产权运作制度
- 中国冠心病康复循证实践指南(2024版)解读
- 部编版历史八年级上册第一单元 第2课《第二次鸦片战争》检测卷(后附答案及解析)
- 《北京市二年级上学期数学第二单元试卷》
- 中国老年患者术后谵妄防治专家共识2023
- 山东省济南市舜耕中学2024-2025学年九年级上学期10月月考化学试题(无答案)
- 明股实债合作完整协议
- 2024年“蓉漂人才荟”四川成都市农林科学院招聘高层次人才8人历年【重点基础提升】模拟试题(共500题)附带答案详解
评论
0/150
提交评论