c语言常量和字符串

本文介绍了C语言中的常量类型,包括字面常量(整数、浮点数、字符、字符串)和符号常量,以及const修饰的常变量和枚举常量。同时,文章讨论了字符串的概念,字符数组和字符指针表示字符串的方法,以及字符串处理中的转义字符。
摘要由CSDN通过智能技术生成


一、常量

在c语言中,常量是不可改变的值,其值在程序执行期间保持不变。c语言中的常量分为以下几种:

1)字面常量

①整数常量:

整数常量是表示整数值的常量。它可以是十进制、八进制或十六进制的数值。以下是一些整数常量的示例:

  • 十进制:10, 200, 5000
  • 八进制(以0开头):012, 077, 0377
  • 十六进制(以0x或0X开头):0x1A, 0xFF, 0xABC

整数常量可以使用正负号来表示正负值,例如:-10。

②浮点数常量:

浮点数常量是表示浮点数值的常量。它由整数部分、小数点和小数部分组成。以下是一些浮点数常量的示例:

  • 3.14, 2.0, 0.5
    科学计数法表示:2.5e-3(表示2.5乘以10的-3次方)

③字符常量:

字符常量是表示单个字符的常量。它们由单引号括起来。以下是一些字符常量的示例:

  • ‘A’, ‘b’, ‘3’
    转义字符:‘\n’(换行符)、‘\t’(制表符)、‘’‘(单引号)、’\'(反斜杠)

④字符串常量:

字符串常量是表示多个字符的常量。它们由双引号括起来。以下是一些字符串常量的示例:

  • “Hello”, “World”, “OpenAI”
    可以使用转义字符来表示特殊字符:“Hello\nWorld”

⑤符号常量:

符号常量是通过宏定义来创建的具有常量值的符号。它们在程序中可以像常量一样使用,可以用于提高代码的可读性和维护性。以下是一个符号常量的示例:

  • #define PI 3.14159

上述代码定义了一个名为PI的符号常量,其值为3.14159。在程序中可以使用PI来表示圆周率的值,例如:float area = PI * radius * radius;

需要注意的是,符号常量是在预处理阶段进行文本替换的,因此不会占用内存空间。

通过上述介绍,我们了解了C语言中常量的不同类型,包括整数常量、浮点数常量、字符常量和字符串常量。常量在程序中起到了固定不变的作用,可以用于存储不可改变的值或者命名常用的数值。

2)const修饰的常变量

在C语言中,使用const关键字可以创建常变量

​实例:

#include<stdio.h>
int main()
{
	const int a = 10;  //在c语言中,const修饰的a,本质是变量,但是不能直接修改,有常量的属性
}

3)#define 定义的标识符常量

在C语言中,使用#define指令可以创建标识符常量,也称为宏常量。宏常量是在预处理阶段进行文本替换的,它们不会占用内存空间,而是直接替换为其对应的值。

宏常量的定义格式为:

#define 标识符 值

以下是一些标识符常量的示例:

#define MAX_VALUE 100
#define PI 3.14159
#define NEW_LINE '\n'
#define GREETING "Hello, World!"

使用宏常量时,预处理器会将其出现的所有位置都替换为对应的值。例如,可以这样使用宏常量:

int value = MAX_VALUE;
float circumference = 2 * PI * radius;
printf("New line:%c", NEW_LINE);
printf("Greeting:%s", GREETING);

4)枚举常量

在C语言中,枚举(enum)是一种用于定义一组命名常量的数据类型。枚举常量提供了一种更加可读性和可维护性的方式来表示一组相关的常量值。
枚举常量的定义格式为:

enum 枚举类型名 {
    枚举常量1,
    枚举常量2,
    ...
};

以下是一个示例:

enum Weekdays {
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday,
    Sunday
};

上述代码中,我们定义了一个名为Weekdays的枚举类型,它包含了一组星期的枚举常量。

枚举常量的默认值从0开始递增,可以通过指定初始值来自定义枚举常量的值。例如:

enum Weekdays {
    Monday = 1,
    Tuesday = 2,
    Wednesday = 3,
    Thursday = 4,
    Friday = 5,
    Saturday = 6,
    Sunday = 7
};

在上述代码中,我们为每个枚举常量指定了自定义的值。

枚举常量可以通过枚举类型名和常量名来访问,例如:

enum Weekdays today = Monday;
if (today == Sunday) {
    printf("Today is Sunday.\n");
} else {
    printf("Today is not Sunday.\n");
}

二、字符串

在C语言中,字符串是由字符组成的字符数组。字符串以空字符('\0')作为结束标志。在C语言中,可以使用字符数组或字符指针来表示字符串。以下是一些字符串的定义和使用示例:

1.字符数组表示字符串:

char str1[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
char str2[] = "World";

printf("%s %s\n", str1, str2);  // 输出:Hello World

上述代码中,我们使用字符数组定义了两个字符串,分别是str1和str2。str1使用字符数组的方式逐个指定每个字符,并在末尾添加空字符。str2使用字符串字面量(用双引号括起来的字符串)进行初始化,编译器会自动在末尾添加空字符。然后,我们使用printf函数将两个字符串打印出来。
2.字符指针表示字符串:

char *str3 = "Hello, World";
printf("%s\n", str3);  // 输出:Hello, World

上述代码中,我们使用字符指针str3指向字符串字面量"Hello, World"。然后,我们使用printf函数将该字符串打印出来。

需要注意的是,字符串中的字符可以通过索引访问,索引从0开始。可以使用字符串库函数(如strlen、strcpy、strcat等)对字符串进行操作和处理。

此外,C语言中还有一些特殊的字符序列,称为转义字符,用于表示一些特殊字符或控制字符,如换行符(‘\n’)、制表符(‘\t’)、双引号(‘"’)、反斜杠(‘’)等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值