英语写作中“表达、表述”expression statement 的用法

expression 与statement 的中文意思虽然一样,但真正含义区别非常明显,expression 是一般表述、表达,statement 是严谨、严肃表述、表达,statement 和中文中的“陈述”是一个意思。我们中小学作文里面的表述、表达都是expression,而在法庭上、科技论文中的表述是statement。

例如:

In his speech, there are lots of exciting expressions.(在他的演讲中有很多激动人心的表达。)

这个例句中只能用expression,exciting 不能形容statement 。

同样一句话,有时候是expression,有时候是statement, 例如“I love her”在日常生活(daily life)中是expression,在法庭上(in court)是statement。

statement 在科技论文的审稿中常见,例如:

His following statement should be more clarified. (他的下列陈述应该更清晰。)

We wouldn’t suppose the authors’ statement about AI is rigorous. (我们认为作者关于人工智能的表述是不严格的。)

在论文评述中用expression 指作者的表述是不妥当的,隐含对作者的蔑视,应该使用statement 。

需要指出,在科技论文写作中,引用别人工作时都是对工作本身进行分析评述,一般不对别人的“表述、表达”进行分析评述,所以statement这个词在撰写论文时很少用到。statement 在审稿中会用到,因为审稿包括对“表述、表达”的评述。

此外,expression 意义比statement 更丰富,它还有“表达方式”、“表情”(其实就是面部表达方式)等,是很“文艺、文学”的单词,但这些意思与本文无关,本文的expression 仅指“表达的内容”,在这个意思上需要与statement 辨析。

本系列更多文章请点击:

计算机英语写作——表达方法系列文章目录

 

在编程过程中,遇到的错误提示 `'expression statement is not assignment or call'` 通常出现在语句的结构不符合语言规范的情况下。该错误表明某一行代码被解析为一个表达式语句,但该表达式既不是赋值操作(assignment),也不是函数调用(call),因此编译器或解释器无法正确执行。 ### 错误原因分析 1. **无效的表达式语句** 在大多数编程语言中,表达式语句必须是一个可执行的操作,例如赋值或者函数调用。如果仅写了一个单纯的表达式而没有将其用于任何目的,则会触发此类错误[^1]。 例如,在 JavaScript 或 C# 中,以下代码会导致类似错误: ```javascript x + 5; // 合法但无意义的表达式语句 ``` 这行代码虽然语法上是合法的,但由于没有将结果赋值给变量或调用函数,编译器可能会发出警告甚至报错,具体取决于语言和编译器设置。 2. **误用表达式而非语句** 表达式的主要目的是计算一个值,而不是产生副作用[^2]。如果尝试在一个期望语句的位置使用纯表达式,编译器会指出这种不匹配。 3. **语法错误导致解析失败** 某些情况下,由于括号、分号或运算符使用不当,可能导致整个语句无法被正确识别为赋值或调用操作。例如: ```c int a = (b + c); // 正确 (b + c); // 错误:不是一个有效的语句 ``` ### 解决方法 1. **明确语句意图** 确保每一行代码都有明确的作用,要么进行赋值,要么调用函数,避免孤立的表达式语句。如果确实需要计算某个值而不使用它,应考虑是否有必要保留该语句。 2. **检查语法与结构** 审查代码中的括号、分号以及运算符是否正确使用。例如在 C/C++ 中,单个表达式不能作为完整的语句,除非它是一个赋值或函数调用。 3. **重构逻辑以避免副作用** 如果使用的是 LINQ 或类似声明式语法,注意其设计初衷是为了避免副作用。若需对集合执行遍历并处理每个元素,应使用 `ToList()` 后接 `ForEach()`,或改用传统的 `foreach` 循环。 4. **引入必要的库或插件** 若错误发生在前端代码中(如 jQuery 插件缺失),确保引入了所有必要的脚本文件。例如,使用 `.ajaxSubmit()` 方法时,必须额外引入 `jquery-form.js` 文件[^3]。 ### 示例修复 假设有如下错误代码(C#): ```csharp int result = GetValue(); // 假设 GetValue 返回一个整数 result + 10; // 错误:expression statement is not assignment or call ``` 修复方式为明确表达式的用途: ```csharp int result = GetValue(); result = result + 10; // 正确:这是一个赋值操作 ``` 或者如果只是想调用函数: ```csharp DoSomething(); // 正确:这是一个函数调用 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值