初阶c语言第二课

本文介绍了C语言中的变量和常量,包括变量的定义、作用域和生命周期,以及不同类型的常量如字面常量、const修饰的常量、#define定义的标识符常量和枚举常量。此外,还讲解了字符串的基本概念,特别是字符串的结束标志和长度计算。最后提到了转义字符及其在字符串中的应用。
摘要由CSDN通过智能技术生成

前言:

新一期的课堂开始了,接下来由我这个小白为你们讲解?xdm准备好了吗,拿好笔和笔记本。那么开始今天的学习吧。

203e8a83bf4047f199d969d18a949bcd.png

目录:

  1. 变量和常量
  2. 字符串
  3. 转义字符
  4. 总结

1.变量和常量

1.1变量

   在程序运行期间,可以改变并且有可能会改变的,我们称之为变量。

变量的公式:类型+标识符+分号(例如:short s;)

小知识:标识符由我们自己命名的一个标识,用于表明一个变量,函数或者其他实体的名称。

变量分为局部变量和全局变量

#include<stdio.h>
int a = 10; // a是全局变量,全局变量:定义在主函数main前面的变量
int main()
{
    int b = 20; // b是局部变量,局部变量定义在代码块{}之内的变量
    return 0;
}

变量的使用:

   watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

 \\scanf是输入函数  &是取地址符

需要注意是局部变量和全局变量的名字建议不要相同容易误会,产生BUG。当局部变量和全局变量的名字相同时,局部变量优先。即

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_18,color_FFFFFF,t_70,g_se,x_16

变量的作用域和生命周期

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
简单来说就是局部变量的作用域是变量所在的局部范围,全局变量的作用域是整个工程。
watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_15,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_18,color_FFFFFF,t_70,g_se,x_16

 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

1.2常量

C语言中常量分为以下几种:

  1. 字面常量
  2. const 修饰的常变量

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

4.枚举常量

1.21 字面常量

字面上理解的常量被称为字面常量。例如3.14,Hellow World等等

1.22 const修饰的常变量

const修饰的常变量同时具有常量和变量的属性,即本质是变量,都是不能直接被修改,有常量的属性,常被称为常变量。

409692cf6daa4aa788db71f3fad7ae39.png

此时变量a经过const修饰后,a的值是10不能直接被改变,所以a也称为常变量。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

 1.23 #define定义的标识符常量

在C语言中,可以用#define定义一个标识符来表示一个常量

标识符:C语言规定,标识符可以是字母、数字、下划线(A~Z, a~z, 0~9, _)组成的字符串,并且第一个字符必须是字母或下划线。
 

其中MAX是标识符

 

#define定义的不局限于整数,还可以是字符串
备注:#define末行习惯不加分号;
打印字符串一定一定要加双引号
打印字符一定要加单引号
 
d7e214f2981f419c91e1172bf2c50a82.png

 1.24 enum枚举常量

枚举类型:即是可以被一一列举出来的常量,把他们组合起来形成的一个集合,被称为是枚举类型.
 

性别中有MALE(男性),FEMALE(女性)还有SECRET(保密)是可以被一一列举出来关联,因此可以使用enum枚举。即

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

2 字符串

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 的内容

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

 strlen是求字符串长度的一个函数,它的头文件是<string.h>。上图中的“abc”中abc后面隐藏了一个\0。

3.转义字符

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

 为什么打印结果是这样?其实是因为c语言中有一种字符叫转义字符。转义字符顾名思义是转变原来意思的字符。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16一个转义字符只算一个,即\62在strlen(“\62");是1 

 总结

这次的知识点笔记多,易错点也毕竟多比如

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rKQ5pum5biM,size_20,color_FFFFFF,t_70,g_se,x_16

 \62是一个字符,表示一个八进制的数字(8不属于八进制0),转换成十进制是6*16+2=98。

那么今天课程就到这里了,感谢各位大佬的支持。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

沐曦希

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

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

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

打赏作者

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

抵扣说明:

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

余额充值