C语言基础:算术运算符详解与C89/C99差异

需积分: 50 3 下载量 66 浏览量 更新于2024-08-19 收藏 838KB PPT 举报
"本文档介绍了C语言中的算术运算符及其使用注意事项,同时概述了C语言的历史、特点、优缺点以及基本编程流程。" 在C语言中,算术运算符包括加法(+)、减法(-)、乘法(*)、除法(/)和求余数(%)。这些运算符在数学表达式中非常常见,但在C语言中使用时需要注意一些特定的规则和潜在的问题。 首先,除法运算符(/)可能导致意外的结果。如果除法的两个操作数都是整数,结果也将是整数,且结果会被向零截取,即丢弃小数部分。例如,10/3的结果将是3,而不是3.3333。然而,当除数为0时,会导致未定义行为,这是严格禁止的。同样,当除法涉及负数时,C89标准允许结果向上取整或向下取整,例如-9/7的结果可能是-1或-2。但在C99标准中,除法结果总是向零截取,所以-9/7的结果是-1。 求余数运算符(%)要求操作数必须是整数,且不能为0。当一个负数除以另一个整数时,C99标准规定结果的符号与被除数相同。例如,-5%3的结果是-2,因为-5可以表示为-5 * 1 + (-2),这里的(-2)就是求余的结果。 C语言起源于1973年,由Dennis Ritchie为Unix系统开发,后来经历了多次标准化,如C89(ANSI C)和C99(ISO C99)。C语言因其高效、可移植、功能强大和灵活性而被广泛应用,它对其他语言如C++、Java、C#等产生了深远影响。然而,这种灵活性也意味着程序员需要对错误进行更多的自我检查,这可能会隐藏一些潜在的编程错误,使得程序难以理解和修改。 编写C程序的基本步骤包括预处理、编译和连接。预处理阶段处理预处理器指令,如`#include`,编译阶段将源代码转换为机器语言的目标文件,最后连接阶段将目标文件与其他库文件结合生成可执行程序。GCC(GNU Compiler Collection)是一个广泛使用的编译器,支持多种编程语言,并且可以在不同的操作系统上使用。GCC提供了各种编译选项,如控制优化级别、产生警告消息等,有助于调试和优化代码。 在简单的“Hello World”程序中,我们可以看到`#include<stdio.h>`这样的预处理器指令,用于引入标准输入输出库;`int main()`是程序的入口点;`printf()`是一个库函数,用于输出字符串。这些基本元素构成了C语言程序的基础框架。