C语言学习指南_1.2

【初识C语言】

我们接着上一篇文章讲:C语言学习指南_1.1

6. 常量

6.1 常量的概念

与变量的概念相对,在我们的生活中,总有些值是固定不变的的,比如你的性别,你的血型,圆周率π等,C语言把这些在程序运行期间固定不变的量叫做常量

6.2 常量的分类

C语言中把常量分成这几类:

  • 字面常量
    字面常量指的是在程序中直接写出的值或字符,例如:
100;
3.14;
'A';
'a';
'1';
  • const修饰的只读变量,例如:
const int NUM = 10;

注意:
此时的变量num是一个只读变量,它的值不可被改变,即若执行下面的代码,程序会报错:

NUM = 20;
  • #define定义的字符常量,例如:
#define MAX = 100;

注意:
const修饰的只读变量相同,MAX的值不可被改变

  • 枚举常量,例如:
enum Sem
{
	MALE,
	FEMALE
}; // <-- 注意这里要加";"
// 括号中的MALE和FEMALE都是枚举常量
6.3 常量的使用

声明或定义了常量总要使用,其中的一种使用方法是将它们打印输出,例如:

#include <stdio.h>
#define MAX = 100;

int main(void)
{
	
	const int NUM = 10;

	// 使用字面常量
	printf("num01 = %d\n", 100);
	printf("p_num01 = %f\n", 3.14);
	printf("ch01 = %c\n", 'A');
	printf("ch02 = %c\n", 'a');
	printf("ch03 = %c\n", '1');

	// 我是一条华丽的分隔线
	printf("=========================================================\n");
		
	// 使用const修饰的只读变量
	printf("num02 = %d\n", NUM);
	
	printf("=========================================================\n");

	// 使用#define定义的字符常量
	printf("%d\n", MAX);
	
	printf("=========================================================\n");

	enum Sem
	{
		MALE,
		FEMALE
	};
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);

	return 0;
}

这时你可能会有三个问题:

  1. 为什么要把#define MAX = 100;要放到程序的开头呢?
    这是因为#define是C语言中的预处理器指令,我们强烈建议将它们放到程序的开头,这就和包含头文件头文件是同一个道理,#include也是C语言中的预处理器指令,所有和预处理相关的指令我们一般在编写程序时放在程序的开头。
  2. 为什么要把const int num01 = 10;放到函数体({})的开头呢?
    这行代码的作用是声明一个int类型的只读变量,其实不光是声明只读变量,在声明普通的变量时也建议大家把声明集中放在函数体的开头,而且声明前不要有任何代码。一些老旧的编译器要求把一般的声明都放在代码块(函数体)的顶部,并且在其之前不能有任何代码,否则编译器在编译代码时就会报错。但现在的新式编译器支持把声明放到代码块的任何地方。尽管如此,使用变量或只读变量前一定要先声明它们
  3. 为什么我们定义的表示常量的字符要大写呢?
    用大写表示常量的字符是C语言一贯的传统。这样,在程序中看到全大写的名称就立刻明白这是一个常量,而非变量

7. 字符串

7.1 字符串的定义

字符串是一个或多个字符的序列,例如:

"Hello world!"
"1234567890"
"你好!"

C语言中的字符串必须用双引号("")包裹,也可以理解为双引号表明包裹的内容是字符串

7.2 字符串的特点

所有字符串的末尾都有一个空字符(\0),它也是一个转义序列。但是,通常情况下这个空字符(\0)并不是我们人为添加进去的,而是编译器自动帮我们添加到每一个字符串的末尾的。我们在写出一个字符串后也不能直接看到这个空字符(\0)

7.3 字符串的存储
7.3.1 char类型的数组

我们在这里引入一个新的概念来实现字符串的存储,即数组

  • 什么是数组呢?
    数组也是一种数据类型,更通俗地讲,数组其实和变量差不多,也是内存中的一块空间,可以用来存放数据。
    C语言

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值