为有牺牲多壮志,敢教日月换新天。

[Objective-C语言教程]常量(7)

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

常量指的是程序在执行期间不会改变的固定值。这些固定值也称为文字。
常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串文字。还有枚举常量。
常量被视为常规变量,只不过它们的值在定义后无法修改。

1. 整数文字

整数文字可以是十进制,八进制或十六进制常量。前缀指定基数或基数:十六进制为0x0X,八进制为0,十进制为空。

整数文字也可以有一个后缀,它是UL的组合,分别对于unsignedlong。后缀可以是大写或小写,可以按任何顺序排列。

以下是整数文字的一些示例 -

1 212         /* 合法有效 */
2 215u        /* 合法有效 */
3 0xFeeL      /* 合法有效 */
4 078         /* 非法无效: 8 不是八进制数字 */
5 032UU       /* 非法无效: 不能重复后缀*/

以下是各种类型的整数文字的一些示例 -

1 85         /* decimal */
2 0213       /* octal */
3 0x4b       /* hexadecimal */
4 30         /* int */
5 30u        /* unsigned int */
6 30l        /* long */
7 30ul       /* unsigned long */

2. 浮点文字

浮点文字有整数部分,小数点,小数部分和指数部分。 可以以十进制形式或指数形式表示浮点文字。

在使用小数形式表示时,必须包括小数点,指数或两者,并且在使用指数形式表示时,必须包括整数部分,小数部分或两者。 带符号的指数由eE引入。

以下是浮点文字的一些示例 -

1 3.14159       /* 合法有效 */
2 314159E-5L    /* 合法有效 */
3 510E          /* 非法无效: 不完整的指数 */
4 210f          /* 非法无效: 没有小数或指数 */
5 .e55          /* 非法无效: 缺少整数或分数 */

3. 字符常量

字符文字用单引号括起来,例如'x',可以存储在char类型的变量中。
字符文字可以是普通字符(例如,'x'),转义序列(例如,'\t'),或通用字符(例如,'\u02C0')。

C中有某些字符,当它们以反斜杠进行时,它们具有特殊含义,它们用于表示换行符(\n)或制表符(\t)。 在这里,有一些此类转义序列代码的列表 -

转义序列表示含义
\\ \字符
'字符
"字符
\? ?字符
\a 警报或铃声
\b 退格
\f 换页
\n 换行
\r 回车
\t 水平制表
\v 水直制表
\ooo 八进制数字的一到三位数

以下是显示一些转义序列字符的示例 -

1 #import <Foundation/Foundation.h>
2 
3 int main() {
4    NSLog(@"www.cnblogs.com/strengthen/\t.com\n\n");
5    return 0;
6 }

执行上面示例代码,得到以下结果

www.cnblogs.com/strengthen/    .com

4. 字符串文字

字符串文字或常量用双引号("")括起来。字符串包含与字符文字类似的字符:普通字符,转义序列和通用字符。 可以使用字符串文字将长的一行分成多行,并使用空格分隔它们。
以下是字符串文字的一些示例。 这三种形式都是表示相同的字符串。

1 "hello, dear"
2 
3 "hello, \
4 
5 dear"
6 
7 "hello, " "d" "ear"

5. 定义常量

Objetive-C中有两种简单的方法来定义常量 -

  • 使用#define预处理器。
  • 使用const关键字。

5.1. 使用#define预处理器

以下是使用#define预处理器定义常量的形式 -

#define identifier value

通过以下示例代码理解 -

 1 #import <Foundation/Foundation.h>
 2 
 3 #define LENGTH 10   
 4 #define WIDTH  25
 5 #define NEWLINE '\n'
 6 
 7 int main() {
 8    int area;
 9    area = LENGTH * WIDTH;
10    NSLog(@"value of area : %d", area);
11    NSLog(@"%c", NEWLINE);
12 
13    return 0;
14 }

执行上面示例代码,得到以下结果:

1 2018-11-14 02:12:14.492 main[10613] value of area : 250
2 2018-11-14 02:12:14.494 main[10613]

5.2. const关键字

使用const关键字作为前缀来声明具有特定类型的常量,如下所示 -

const type variable = value;

通过以下示例代码理解 -

 1 #import <Foundation/Foundation.h>
 2 
 3 int main() {
 4    const int  LENGTH = 10;
 5    const int  WIDTH  = 15;
 6    const char NEWLINE = '\n';
 7    int area;  
 8 
 9    area = LENGTH * WIDTH;
10    NSLog(@"value of area : %d", area);
11    NSLog(@"%c", NEWLINE);
12 
13    return 0;
14 }

执行上面示例代码,得到以下结果:

1 2018-11-14 02:15:15.421 main[170983] value of area : 150
2 2018-11-14 02:15:15.422 main[170983]

请注意,使用使用大写字母来定义常量是一种很好的编程习惯。

posted @ 2019-03-20 09:32  为敢技术  阅读(194)  评论(0编辑  收藏  举报