关于初始C语言这个章节,我会分3次来给大家系统的介绍,让友友们对C语言有一个基本的理解,以便对后面的C语言深度理解打下一个基础。学习C语言的友友们,一定都要坚持下去。
一变量
1.1变量的分类
首先呢,介绍一下变量,变量包括局部变量和全局变量。
1.2变量的使用
1.2.1变量
变量就是一个变化的量,scanf是从键盘中取得数字
在这里提出一个问题,是否可以在sun=a+b;前面直接加一个int呢?
答案:是可以的,但是在稍微老一点的编译器是无法使用的(VS2019是可以的,但是在VS2010就无法使用)
1.2.2 调试时出现scanf报错问题的处理
这是自己用VS2019时出现的问题,如果友友们出现同样的问题,希望对你们有帮助
出现的问题
解决的办法
在代码的第一行写上#define _CRT_SECURE_NO_WARNINGS 1
此时就有部分友友们思考,为什么不直接使用scanf-s呢?因为报错中讲到的scanf-s函数是VS编译器提供的,并不是C语言提供的,在其他的编译其中是无法使用的哦。
友友们写代码时要尽量用标准的C语言写。
1.3变量的作用域和生命周期
变量的作用域
局部变量的作用域是变量所在的局部范围,全局变量的作用域是整个工程。
通俗来讲就是,全局变量对整个编程都起作用,在任何位置都可以输出全局变量;局部变量仅仅在自己所在的{}中起作用。
生命周期
局部变量的生命周期是进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期是整个程序的生命周期。
1.4常量
常量包括字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量。
1.4.1字面常量
1.4.2 const 修饰的常变量
加const 之前还能修改a的值,加const 后就不能修改了,a就是一个定值。
在这里a虽然不能变,具有常量的属性,但是a的实质还是一个变量。
证明a的实质是一个变量:在数组中括号里面的数字,必须是常量
const int a=100;
int arr[100]={0}; (调试的时候并没有报错)
int arr[a]={0}; (调试的时候出现错误)
1.4.3 #define定义的标识符常量
#define 定义的标识符常量,可以当做常量来使用。(define定义的,一般都是大写字母)(小写也可以,但是不建议)
1.4.4 枚举常量
介绍枚举常量之前呢,先简单的介绍一下枚举,枚举就是一一列举的意思,所以枚举的这个常量要能一一列举出来。例如:性别可以分为男和女。
枚举常量不太好理解,大家在这里简单的理解一下就可以,在后续中我会给友友们更加详细的说明。
二、字符串+转义字符+注释
2.1、字符串
有双引号引起来的一串字符串称为字符串字面值,简称字符串。
注:字符串的结束标志是一个'\n'的转义字符,在计算字符串的长度的时候'\n'是结束标志,不算做字符串内容。
单引号为字符,双引号为字符串。
来一个小插曲,用VS2019如何监视。
(1)F10
(2)调试---窗口---监视
接下来,回到我们的字符串!!!
2.2、转义字符
转义字符,顾名思义就是转变意思。例如'n'就是一个字符,但是'\n'就是换行的意思。下面是一张转义字符表,希望给大家带来帮助。
为了让友友们更好地理解转义字符,给大家举一个简单的例子。
通过这两张图,大家已经具体明白转义字符的用处了吧。
首先,解释一下\\这个转义字符的用处,
本来\n是一个表示换行的转义字符,但是\\n就把\n的用途给改变了。
然后解释一下\'和\"的意思。
提出一个问题,怎样在屏幕上打出'和"呢。大家下意识的以为是printf("%c",''');和printf("%s",""")其实不是这样子的,因为系统会自动把前两个引号当做一对引号。
%c,打印字符
%s,打印字符串
最后呢,介绍一下\ddd和\xdd
ddd是1-3个八进制数字,例如:\130 (88)(x呢,是88的ASCII码值) \70 都可以;dd是2个十六进制数字
130(八进制 ) ——88(十进制)——X(88的ASCII码值)
30(十六进制)——48(十进制)——0(48的ASCII码值)
别的转义字符不常用,在这里就不多做介绍了。
2.3、注释
C语言有两种注释方式://和/* */
//注释的每一行都必须有 /* */不用每一行都有,但是不能嵌套使用。
作用是:代码复杂,进行解释 代码暂时不用的话,可以注释掉。
今天的分享就到此结束了,希望这些可以给友友们带来帮助,同时也希望友友们可以提出意见。