AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第299题 (1.0分) 题号:664 以下正确的函数定义形式是()。

A
 double fun(int x,int y)
B
 double fun(int x;int y)
C
 double fun(int x,int y);
D
 double fun(int x,y);

答案解析

正确答案:A

解析:

这道题考查的是 C 语言中**函数定义**的语法规范。我们需要区分“函数定义”和“函数声明”,并掌握参数列表的正确写法。 ### 详细解析: 1. **区分函数定义与函数声明**: * **函数定义**:包含函数头(返回类型、函数名、参数列表)和函数体(花括号 `{}` 及其中的代码)。在选择题中,如果没有给出函数体,通常考察的是**函数头**部分的语法正确性,或者默认后续接有函数体。 * **函数声明**:告诉编译器函数的存在,以分号 `;` 结尾,不包含函数体。 * 题目问的是“函数定义形式”,虽然选项都没有给出函数体 `{...}`,但我们可以根据语法规则排除明显错误的选项。通常这类题目中,不带分号的头部被视为定义的开始,带分号的被视为声明。但在某些语境下,如果必须选出一个“最符合定义语法结构(即参数列表合法且非声明语句)”的选项,我们需要看参数的写法。 2. **分析各个选项**: * **A. `double fun(int x,int y)`** * **返回类型**:`double`,合法。 * **函数名**:`fun`,合法。 * **参数列表**:`(int x, int y)`。每个参数都独立指定了类型和名称,中间用逗号 `,` 分隔。这是**完全正确**的参数列表写法。 * **结尾**:没有分号,符合函数定义头的特征(后面应紧跟 `{`)。 * **结论**:**正确**。 * **B. `double fun(int x;int y)`** * **错误点**:参数之间应该用**逗号** `,` 分隔,而不是分号 `;`。 * **结论**:语法错误。 * **C. `double fun(int x,int y);`** * **分析**:这个语法本身是合法的,但它是一个**函数声明**(Function Declaration),因为它以分号 `;` 结尾,且没有函数体。 * **题目要求**:题目明确问的是“函数**定义**形式”。虽然在实际考试中,有时对“定义”和“声明”的界限考察不严,但对比选项 A 和 C,A 是定义的头部,C 是完整的声明语句。如果有函数体,A 的形式才是定义的起始部分。更重要的是,在很多教材和考试标准中,带分号的被视为声明,不带分号的被视为定义的一部分。因此 A 比 C 更符合“定义”的语境。 * **结论**:这是函数声明,不是函数定义。 * **D. `double fun(int x,y);`** * **错误点 1**:参数 `y` 缺少类型说明符。在 C 语言中,每个参数都必须单独声明类型,不能写成 `int x, y` 这样的简写形式(这在变量定义中可以,但在函数参数列表中不行,必须写成 `int x, int y`)。 * **错误点 2**:以分号结尾,这是声明而非定义。 * **结论**:语法错误。 ### 总结: * **B** 错在参数间用了分号。 * **D** 错在第二个参数没写类型,且它是声明。 * **C** 是函数声明(因为有分号)。 * **A** 是函数定义的头部,参数格式正确(类型+变量名,逗号分隔),且没有表示结束的分号,符合函数定义的语法结构。 因此,正确答案是 **A**。
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码