【谭浩强C程序设计精讲 1】数据类型、常量与变量

3.1 C 的数据类型

C语言的数据结构是以数据类型形式出现的。C的数据类型如下:
在这里插入图片描述

  • C语言中数据有常量与变量之分,它们分别属于以上这些类型。
  • 由以上这些数据类型还可以构成更复杂的数据结构。例如,利用指针和结构体类型可以构成表、树、栈等复杂数据结构
  • 在程序中,对用到的所有数据必须指定其数据类型

3.2 常量与变量

3.2.1 常量和符号常量

  • 常量:在程序运行过程中,其值不能被改变的量称为常量。

    常量区分为不同的类型,如:

    • 整型常量:12、0、-3
    • 实型常量:4.6、-1.23
    • 字符常量:‘a’、‘d’
  • 字面常量(直接常量):常量一般从其字面形式即可判别是什么数据类型,这种常量称为字面常量或直接常量。

  • 符号常量:用一个标识符代表一个常量的,称为符号常量,即标识符形式的常量。

  • 例3.1 符号常量的使用

#include <stdio.h>
#include <stdlib.h>
#define PRICE  30
int main(void)
{
    int num,total;
    num = 10;
    total = num * PRICE;
    printf("total = %d",total);
    return 1;
}
  • 运行结果:total = 300

程序中用#define命令行定义PRICE代表常量30,此后凡在同一项目中用到PRICE都代表30,可以和常量一样进行运算。

注意: 符号常量不同于变量,它的值在其作用域(在本例中为主函数)内不能改变,也不能再被赋值。如再执行“PRICE=40”是错误的。

  • 习惯上,符号常量名用大写变量名用小写,以示区别。

  • 使用符号常量的好处:
    (1)含义清楚。

    如上面的程序中,看程序时,从 PRICE 就可知道它代表价格。因此定义符号常量时应考虑“见名知意”。

    (2)在需要改变一个常量时,能做到“一改全改”。

    例如在程序中多处用到某物品的价格,如果价格用常数(直接常量)表示,则在价格调整时,就需要在程序中作多处修改;如果用符号常量 PRICE 代表价格,只需要改动一处即可。如:

    #define PRICE	35
    

    在程序中,所有以 PRICE 代表的价格就会一律自动修改。

3.2.2 变量

  • 变量:其值可以改变的量称为变量。

一个变量应该有一个名字,在内存中占据一定的存储单元。在该存储单元中存放变量的值。

请注意区分变量名变量值这两个不同的概念,如下图。

  • 变量名实际上是一个符号地址,在对程序编译链接时由系统给每一个变量名分配一个内存地址。
  • 在程序中从变量取值,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。

在这里插入图片描述

  • 标识符(identifier):用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。

  • 简单地说,标识符就是一个名字。

  • C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母下划线

    //合法的标识符和变量名
    sum,average,_total,Class,day,month,Student,
    _name,tan,lotus_1_2_3,BASIC,li_ling
    
    //不合法的标识符和变量名
    M.D.John,123,#33,3D64,a>b
    

    注意: 大写字母小写字母被认为是两个不同的字符。因此sumSUMclassClass是两个不同的变量名。

    • 一般变量名用小写字母表示,与人们日常习惯一致,以增加可读性。
    • 变量名应注意“见名知意”。
    • 变量名的长度不超过255字符。
    • 使用“先定义,后使用”原则。

本节完
  • 33
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MJY二进制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值