大家好,我是立志教会大家C语言的山鬼泣江。
上节课给大家讲了如何安装VS2022、带领大家写了第一个C语言程序以及对变量的初步的认识,今天便带领大家更见详细的认识变量,以及为大家讲解函数和转移字符。
那么,帅哥靓女们,现在就开始我们奇妙的学习之旅吧!
一、变量与常量
上节课我们讲了变量的数据类型以及变量命名的规则,截图奉上~
变量分为两类:局部变量和全局变量。
全局变量就是创建在main函数外面的变量。而局部变量就是创建在main函数里面的变量。
注意,全局变量与局部变量名字可以相同,但是局部变量优先!
#include <stdio.h>
int a=2200;//创建一个全局变量(在main函数的外面哦)
int main()
{
int b=1000;//创建了一个局部变量
int a=500;
//这里创建一个和全局变量冲突的局部变量a
printf("a=%d",a);
//输出一下看看会发生什么
return 0;
}
这里我们发现a最终输出的值是500,也就是后来重新在局部定义的值,验证了局部变量优先的规则。
局部变量和全局变量区别很多,但是最重要的两点区别就是两者的作用域和生命周期不同。
接下来我们引入作用域和生命周期的概念。
作用域:作用域(scope)是程序设计概念,一段程序代码中作用到的名字并不总是有效/可用的而限定的这个名字的可用性的代码单位就是这个名字的作用域。
简而言之,作用域就是变量起作用的范围。(嘿嘿,通俗易懂吧~)
局部变量的作用域是变量所在的局部范围。
全局变量的作用域是整个工程。
接下来我们就接着讲讲变量的生命周期。
生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是:整个程序的生命周期。
好啦,变量的知识点就这么多,接下来我们讲讲常量。
首先,我们讲讲常量的分类。
1.字面常量
2.const修饰的常变量
3.define定义的标识符常量
4.枚举常量
字面常量:一种常量,由其表示就可以得知它的值和类型(定义)。例如:30、75、‘a’......
const修饰的常变量:由const修饰的变量具有常属性(即不能改变)。
const int a=10;
在这里const修饰了变量a,则变量a的值在后来便无法修改。
define定义的标识符常量:
#define MAX 100
在这里定义了MAX,在以后的代码都可以用MAX来代替100这个值。
枚举常量:有很多可以利用枚举从而表示的量,例如三原色(红绿蓝),我们用enum来创建一个新的枚举类型(自定义类型)。
enum Color{RED,//0
GREEN,//1
BLUE};//2
将来在代码中我们想要表示颜色的时候就可以将其赋值。
int main()
{
enum Color c=RED;
return 0;
}
这里可以看到最后输出的是1,也就符合了我们之前的结论。
好啦,变量与常量的内容就到这里啦,接下来我们来讲讲字符和字符串。
二、字符与字符串
"HELLO WORLD!"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个\0的转义字符(下面会讲),在计算字符长度的时候\0是结束标志,不算做字符串内容。
请大家思考下面代码
#include <stdio.h>
int main()
{
char arr1[] = "gui";
char arr2[] = "gui\0";
char arr3[] = {'g','u','i'};
char arr4[] = {'g','u','i','\0'}//注意哦,这里的\0也是需要用引号引起来的
printf("%s\n",arr1);
printf("%s\n",arr2);
printf("%s\n",arr3);
printf("%s\n",arr4);
return 0;
}
以下是运行结果
注:%s意为打印字符串。
这里便说明了,字符串(“abc”)是不需要使用\0作为结尾的,只有字符串('g''u''i')是需要使用\0来中作为结束的标志。
三、转义字符
我们之前讲过,在代码中\n意思是换行,但是如果我们想要让程序输出\n该怎么做呢?那么现在我们就可以让我们的转义字符登场啦!
水印懒得去了哈~~
在这里我们要详细的讲讲\ddd和\xdd。
先说说\ddd,我们这里以\130来进行举例。
\130中的130是以八进制表示的数字,那么我们便需要将八进制转换成十进制。方法如下
(呜呜呜,画图的手画实在是太难了~~~呜呜呜~~~)
那么我么就得出了\130十进制的意义——88.
那么这个88又是什么意思呢?
这里便要引入一个全新的东西——ASCII表
我们每个输入的字符在计算机中都会有一个编码来表示。将每一个字符都标上数字编码所汇成的表格便是ASCII表,在此表中88对应的是X(大写的哦)。
ASCCII表附上~~~
大家自行加上127—删除(delete)
好啦,今天是C语言学习的第二课——变量,常量和转义字符初识。我是立志教会大家学会C语言的山鬼泣江,大家再见~~~