- C语言程序设计实例教程(第3版)
- 李红 陆建友主编
- 1174字
- 2021-12-17 17:35:17
2.1 常量和变量
学习目标
1)掌握常用标识符的命名规则。
2)掌握常量和变量的定义与引用方法。
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/22_01.jpg?sign=1739536997-EQwvV4JbIDfFW00JdOwDVqzD5VJba1Rn-0-be53541665bde95531bc7fd22ea5eb94)
实例5
实例5 常量和变量——输出常量与变量的值
实例任务
定义不同类型的几个变量,然后对应输出相应的常量值和变量值。程序的运行结果如图2-1所示。
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/22_02.jpg?sign=1739536997-RqJeRT9OId6kWucVbakryAFU7KYIT7vp-0-e0029fc10da0c0fcd0ce5efeddbd7e90)
图2-1 程序运行结果
程序代码
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/22_03.jpg?sign=1739536997-22SP2hiX60xHbGDQGR4Nsg50jUy5gLWa-0-78bedac6a937a8bf8eee3b4419f931e5)
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/23_01.jpg?sign=1739536997-aQF6nZA1Sx65aZAx6LLg93YsRwYzZYAb-0-f703cb315dee91a19708ec78c8be4754)
相关知识
1.标识符
标识符用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等,其基本构成元素源自字符集。C语言的字符集包括英文字母、数字字符和一些特殊字符。用这些基本元素单位命名标识符时,一定要遵循以下4条原则。
1)必须由字母(a~z,A~Z)或下画线(_)开头。
2)由字母、数字或下画线组成,长度不超过32个字符。
3)标识符中的大小写字母有区别。
4)不能与关键字同名。
下面这些是不合法的标识符和变量名:
M.d.,int,y 123,#33,3d64
2.常量
常量是数据在内存中的一种表示形式,在程序运行过程中值永远保持不变。常用的常量类型有5种,包括整型常量、实型常量、字符型常量、字符串常量和符号常量。
整型常量就是整数,常用的表示形式有十进制,如10、30等。八进制常量表示形式以0开头,如013、012等。十六进制常量表示形式以0x或0X开头,如0x13、0X12等。
实型常量就是指带小数点的数,包括指数,如3.14、-1.2、1.2e6、10.5E8等。其中,1.2e6表示数学上的1.2×106,10.5E8表示数学上的10.5×108。
字符型常量是单引号引起来的单个字符,这些字符为ASCII字符,各有其对应的ASCII码值。字符型常量包括一些转义字符。转义字符及其输出结果的对照关系如表2-1所示。
表2-1 转义字符及其输出结果
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/24_01.jpg?sign=1739536997-woxVAM6SKrgQZC8LuEZ6nWlxZSiAlEz5-0-ff851114b87d2b2b2c268c43a0526b7f)
字符串常量是用双引号引起来的0个或多个字符。字符串常量形式给出的是字符串在存储空间中的起始地址。如“Hello World!”就是一个字符串常量。
符号常量是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。它在编译预处理阶段使用#define来进行定义,也就是在程序的开头定义。常量名的类型由所给的常量值的类型来定,不需要再单独指明。符号常量的定义形式为:
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/24_02.jpg?sign=1739536997-wDcNt2QSZYgAtSrU66ozugdsBTBsd4GV-0-9b72c61ff611b05e0d8119f3da822fa3)
如实例中的定义语句“#define C 'x'”定义了一个符号常量,常量名为C。
3.变量
变量是指在程序运行过程中其值可以被改变的量,C语言变量遵循先定义后引用的原则。变量的定义形式为:
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/24_03.jpg?sign=1739536997-HfaM3tqICTjiTlufpq0HI4NX20w6oTKB-0-c536b07a55c351d0e8ac1227b54680fe)
变量在定义时,可以先定义,后赋值,也可以在定义的同时赋初值。如实例中的变量定义语句都是合法的:
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/24_04.jpg?sign=1739536997-JNedSMIK7YRlfgo9q9szcnmspFynnihE-0-b6622cccd9340a05b9504990ffa75b2f)
变量定义很灵活,允许在定义的同时对部分变量赋初值,如下列定义语句都是合法的:
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/24_05.jpg?sign=1739536997-807AF4frxrW6aEpfWMk2FFxTw75klFTB-0-e9fd25ce6896ea3c4e7cf94727839831)
但不允许同时对几个变量赋同一个值,如下列定义语句是错误的:
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/24_06.jpg?sign=1739536997-pxV2n2VtRAwTK9XP8QmIs2jpFIwpCuXZ-0-fa0d9907884cce9f93940dfce5d057ff)
课堂精练
1)已知频率求波长。光的速度为3×108m/s,已知频率为50Hz,求此频率光波的波长。程序运行结果如图2-2所示。
根据程序运行结果,请将下面的程序补充完整并调试。
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/25_01.jpg?sign=1739536997-qxRKA3Mv9QG6pwRzsDeTe6zvWnFg6m6b-0-aab10c122852fc1d3a43fdae0475be53)
2)摄氏温度和华氏温度的转换。已知摄氏温度与华氏温度的转换公式为:C=5(F-32)/9,输入摄氏温度的值,请输出华氏温度的值。程序运行结果如图2-3所示。
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/25_02.jpg?sign=1739536997-Rm0eixXp4HMF5G8C5BFIDbqo1DY0zjM1-0-3092669d57deac4e18f702decb1367fc)
图2-2 程序运行结果(1)
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/25_03.jpg?sign=1739536997-pp85b9A97K0DImR2OB5AgpSV0P0mbIFI-0-319830ab8fe714fa19be3ecb78a458ea)
图2-3 程序运行结果(2)
根据程序运行结果,请将下面的程序补充完整并调试。
![](https://epubservercos.yuewen.com/337DC8/21889224301191506/epubprivate/OEBPS/Images/25_04.jpg?sign=1739536997-jPR4Stch4w9hUmZe2ANgDtK6wv7TRx19-0-83a46ccb1889740b2a48e95f4d4e17e2)