C语言基础要素(007):从数据到运算

编程的目标之一是通过运算得到结果,而运算则是建立在操作数据之上的;即便简单如10以内加减法、复杂如游戏、模拟程序等皆是如此。在C语言中,我们可以使用变量来存储数据,每个变量又关联到一个具体的类型。比如:箱子里苹果的个数,可以用一个整型变量存储;而苹果的重量,以小数类型表述更切贴;因此,我们从类型与变量开始。

类型

类型表明了具有某种共同特性的事物抽象,C语言提供了多种数据类型以便我们选择合适的数据表示方式。这里我们先学习三种基础数据类型,以便让我们从太多的语言细节中脱离出来。

  • 字符类型(char):通常用来存储字符数据,如字母 ‘a’, ‘X’, '-'等。
  • 整型类型(int):用于存储正整数、负整数,如1234, 0, -965等。
  • 浮点类型(double):用于存储带小数点的数据,如3.14,-10.0等,也称为双精度浮点型。

变量

变量是存储数据的容器,它们通常在计算机内存的某个位置并占据一定大小的字节空间,变量名则是用来引用这些空间的一个友好名称。在C语言中,一个名称在被使用之前需要保证它是可见的。因此,所有的变量都必须先声明后使用;定义一个变量的简易语法为:变量类型 变量名;

如:

char   c;       // 定义字符型变量 c
int    width;   // 定义整型变量 width
double pi;      // 定义浮点型变量 pi

定义变量后,变量名也就同等的被声明了。变量名是区分大小的,这样 widthWidth 将表示不同的两个变量。变量名可以包含字母、数字、下划线,但是不能以数字开头。每种语言都保留一些名称供自己使用,这些名称称为保留字,保留字不能用作变量名,如int、case、if等。

表达式

有了变量这个表达数据的载体,我们就可以对其施加运算,如 a+3, b/5 等。这些建立在数据之上的操作,在C语言中是通过表达式来实现的。表达式由运算符与操作数构建,最简单的表达式是一个单独的操作数。 操作数可以是数据常量 4、-5、变量a、b、c或者是二者通过运算符的的组合(a+30)。C不仅提供了基本算术运算符加减乘除(+、-*、/),还提供了诸如取模(%)、赋值(=)等运算符。通过组合多个操作数与运算符,便可以建立复杂的表达式,下面是一些表达式的示例。

4
-5
3.14 + 9
w % 5
a * b + 7 / 30

表达式最重要的特性就是运行期的每个表达式都会被求值。值是按照运算符优先级描述的顺序来完成运算。+、-、*、/ 这四种运算遵循算术运算的优先级法则与求值顺序;取模(%)与乘( *)、除(/) 优先级一致。当表达式中混合有不同类型的操作数时,会尝试执行自动类型转换操作,如果不能转换到同一类型求值,则表达式错误。这就好比1斤大米与2000克面粉,你可以得到它们的总重量,但如果是2000克面粉与100米距离,计算它们的总合并没有意义。

表达式说明
44
-6-6
-4+62
int a = 9 + 3 * 215使用(=)为变量a设置初值
double b = a / 2.07.50000a转换为double类型再与2.0相除
a / “hello”无意义数值与字符串不能相除

语句

语句是构造C程序的基本成分,代表一个表达的结束,每条语句以一个分号标识其结束,对于

4
a + 9

只是表达式,而

4;
a + 9;
;           // 空语句

都是语句。在任何表达式后面加上分号,表达式将成为语句。最简单的语句就是一个单独的分号,称为空语句。合法的表达式都可以应用在确切的语句中, 如:

int width = 16;                     // 使用操作数16赋值
int height = width / 3 * 4;         // 使用表达式赋值
printf("area=%d", width * height);  // 表达式作为函数参数(函数最终使用的是表达式的值)

练习

  1. 定义三种类型的变量,并为它们选取有意义的名称。
  2. 假设程序中有代码 4 + 5.0,试想一下程序做了哪些操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值