C语言 DAY2 【初识常量,字符串】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

本文章总结于此视频


提示:以下是本篇文章正文内容,下面案例可供参考

一、常量

不可变的量,定义后不能被改变

1.字面常量

#include <stuio.d>
int main()
{
	30;//字面常量
	3.14;
	return 0;
}

2. const修饰的常变量

使是可以修改的变量a具有不可修改的常量属性

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	const int a = 10;
	a = 20;
	printf("%d\n", a);
	return 0;
}

在这里插入图片描述
注=证明 int n = 10;不是常量

int number = 5;
int array[number];    /*在编译这样的代码时,编译器就会报错*/

在编译这样的代码时,编译器就会报错,可以证明 int n = 10;不是常量
arr[ ]涉及数组了解详情

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

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define MAX 100
int main()
{
	printf("%d\n", MAX);
	int a = MAX;
	printf("%d\n", a);
	return 0;
}

枚举与#define 宏的区别

下面再看看枚举与#define 宏的区别:

1)#define 宏常量是在预编译阶段进行简单替换。枚举常量则是在编译的时候确定其值。

2)一般在编译器里,可以调试枚举常量,但是不能调试宏常量。

3)枚举可以一次定义大量相关的常量,而#define 宏一次只能定义一个。
————————————————

原文链接:https://blog.csdn.net/weixin_46529898/article/details/129201625

4.枚举常量

枚举值,我们就称为枚举常量,因为它一经定义以后,就不可再改变

这里是引用

枚举常量的定义

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

例如定义一个星期的枚举常量:enum Week {Mon,Tue,Wed,…};

这就定义了一个新的数据类型:Week。

Week数据类型来源于int类型(默认)。

Week类型的数据只能有7种取值,它们是:SUNDAY,MONDAY,TUESDAY……SATURDAY。

其中SUNDAY = 0,MONDAY = 1……SATURDAY = 6。也就是说,第1个枚举值代表0,第2个枚举值代表1,这样依次递增1。

不过,也可以在定义时,直接指定某个或某些枚举值的数值。比如,对于中国人,可能对于用0表示星期日不是很好接受,不如用7来表示星期天。这样我们需要的个值就是 1,2,3,4,5,6,7。可以这样定义:

enum Week {MONDAY = 1,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY,SUNDAY};

我们希望星期一仍然从1开始,枚举类型默认枚举值从0开始,所以我们直接指定MONDAY等于1,这样,TUESDAY就将等于2,直接到SUNDAY等于7。

枚举值,我们就称为枚举常量,因为它一经定义以后,就不可再改变,以下用法是错误的!

TUESDAY = 10; //错误!我们不能改变一个枚举值的数值。
用枚举常量来完成表达今天是星期三:
Week today = TUESDAY;

————————————————

原文链接:https://blog.csdn.net/Louis_12345/article/details/113934376
枚举常量和宏定义的区别与联系

这里是引用

接下来我们举个例子,比如:一星期有 7 天,如果不用枚举,我们需要使用 #define 来为每个整数定义一个别名:

#defineMON 1

#defineTUE 2

#defineWED 3

#defineTHU 4

#defineFRI 5

#defineSAT 6

#defineSUN 7

这个看起来代码量就比较多,接下来我们看看使用枚举的方式:

enum DAY

{

MON=1, TUE, WED, THU, FRI, SAT, SUN

};

这样看起来是不是更简洁了。

需要注意的两点是:

1) 枚举列表中的 Mon、Tues、Wed 这些标识符的作用范围是全局的(严格来说是 main() 函数内部),不能再定义与它们名字相同的变量。
2) Mon、Tues、Wed 等都是常量,不能对它们赋值,只能将它们的值赋给其他的变量。

枚举和宏其实非常类似:宏在预处理阶段将名字替换成对应的值,枚举在编译阶段将名字替换成对应的值。我们可以将枚举理解为编译阶段的宏。
————————————————

原文链接:https://blog.csdn.net/weixin_46529898/article/details/129201625

二、字符串+转义字符+注释

1.字符串

char是c语言中最基本的数据类型之一,叫字符型,在内存中占用一个字节的空间,可以用于存放单个字符,也可以用于存放整数
字符用‘ ’ 如‘a’
注:字符串的结束标志\0,证明如下
在这里插入图片描述
共有6个元素,所以char arr [6] , [ ]内不写时,电脑会自适应
当把元素一一放入,但不放\0时,因为没有结束标志\0其会持续的向后找直到找到结束标志\0
在这里插入图片描述

如果您发现文章有错误请与我留言,感谢

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

马职音人

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

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

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

打赏作者

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

抵扣说明:

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

余额充值