本文所结合图书及视频

《C语言程序设计(第四版)谭浩强.pdf》

《C语言入门到精通—鹏哥带你C语言从入门到精通》

《郝斌老师的C语言自学视频》

这些在B站上都能找得到的。

学习目标:

基本了解C语言的基础知识,对C语言有一个大概的认识。

学习任务:

一、什么是数据类型?

我们之所以学习C语言就是为了写程序来解决生活中的实际问题。所以计算机必须有能力来描述生活中的问题。但我们生活中的数据也是有整有零的,有变有定的,那C语言该怎么来描述呢?所以这就有了数据类型以来描述生活中的各种数据。下面来对C语言的数据类型就所占空间大小来一个简单的认识。

 那么这些数据类型在计算机中所占空间的大小都是多少呢?一张图来读懂。

                                                                                                                                                                          

当然以上所说到的各数据类型的所占空间大小也可以使用C语言给我们提供的一个操作符(sizeof)来输出查看。具体的代码实现为:

有些童鞋可能会问“字节”是什么意思呢?这里由牵涉到计算机中的单位

因为计算机是二进制计算也就是计算机中用来计算的只有01,一个0是一个位;一个1也是一个位;计算机最小的单位就是比特位(bit)。

1字节(Byte)    =  8比特位(bit)

1千字节(KB)   = 1024字节(B)

1兆字节(MB)  = 1024千字节(KB)

1吉字节(GB)  =  1024兆字节(MB)

1太字节(TB)   =  1024吉字节(GB)

1拍字节(PB)  =  1024太字节(TB)等。。。但我们日常很少用到,一般到太字节左右哦!

二、什么是变量、常量?

1、什么是变量?

前面我们讲数据类型的时候讲到了生活中的数据有可变的(比如,年龄、薪资、体重)这些可变的数值在C语言中就是用变量来表示。

2、变量如何定义?

变量在C语言中要使用必须先创建(也就是定义)方式有两种

①、类型+变量名 = 数值;这种是定义时直接赋值。也叫直接初始化,推荐使用这种方式。

②、类型+变量名;这种就是只定义,不赋值,不初始化。不推荐这种方式。

所谓变量当然是可变的,即在初始化后也就是赋值后还可以变,还可以再赋值。

3、变量如何分类?

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

全局变量是定义在{}之外的

局部变量是定义在{}之内的,当局部变量和全局变量命名一致时,局部优先。但不推荐命名一样,有关变量的命名规则请参考以下链接:
C语言变量定义及命名规则https://blog.csdn/aa98865646/article/details/104522350

4、什么是常量?

生活中有些数据是固定不变的(比如,血型、性别、圆周率等),这些数据在C语言中就是用常量来表示。

5、常量的分类

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

①、字面常量

3.141592;—— 这就是浮点数常量,定义过改变不了的

10;          ——整数常量

'A';             ——字符常量

"abcdef";   ——字符串常量

②、const 修饰的常变量

在变量之前加上const,其值就不能改变了,,只不过加了常属性,但是本质是还是变量。需要用常量的时候,const 修饰的常变量还是不能代替常量。

③、# define 定义的标识符常量

格式:# define+常量名+数值;  一般放在头文件下,便于编写代码时多次使用某一常量,或统一更改某一常量的值。(比如,在一段代码中多次使用了常量MAX,但是更改它的时候一个一个找就比较麻烦,用# define+MAX+数值的方式定义在头文件下,只需要把数值更改一下, 代码段中的所有MAX都被更改了)

④、枚举常量

 可以被一一列举出来的常量被称为枚举常量

枚举常量是要占用内存的,它要在内存中开辟一个空间来存放枚举变量;其常量值在没有赋值时系统会默认给它的第一个变量赋值0,后面的依次为1、2......使用枚举类型的最大好处是使得程序可读性增强。

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。
枚举值,我们就称为枚举常量,因为它一经定义以后,就不可再改变。

三、什么是字符串?

在C语言中说的字符串就是用英文双引号括起来的一串字符就是字符串,字符串的结束标志是\0

在计算字符串长度的时候是不会计算\0的。

四、什么是转义字符?

转义字符是指,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,因此称为“转义” 
比如 C 语言中,用“/n”来表示换行,“/r”表示回车,“/t”表示跳格等等,它们本身只是一个反斜杠和一个字母,但是却被赋予了特殊的意义。ASCII中有一些非打印字符, 像换行,响铃等, 这些字符必须直接写入ASCII值才可以输出, 这些ASCII之间没有任何规律,可读性不高, 难于记忆, 为此人们发明了转义字符来代替ASCII值,用以摆脱ASCII的缺点,方便人们的使用.

简单的说就是用可以看见的字符表示那些不可以看见的字符, 如'/n'表示换行

具体的ASCLL对照表也一并附上

 五、什么是注释?

1、什么是注释?

注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂,一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。注释只是为了提高可读性,不会被计算机编译。

2、注释的分类

注释通常会分为行注释和块注释。

行注释在C语言中是在某一行代码前加上//就可以了,//之后这一行代码就不会被编译。当然这种方法也可以用于块注释,也就是在每行代码之前都加上//就可以了。

块注释在C语言中就是在某一段代码的最前面加上/*在最后面加上*/就可以了,/*和*/之间的代码就不会被编译。但是这种注释风格是有缺陷的,不支持嵌套注释,所以我们常用//来注释代码。当然你也可以在编译器里面选中要注释掉的代码之后选择快捷按钮注释选中行(快捷键Ctrl+K+C)也可以在注释过的代码中选中要取消注释的代码之后选择快捷按钮取消注释选中行(快捷键Ctrl+K+U)。

本节的内容就分享到这里了,下期我继续讲解C语言的初识选择语句,初识循环语句,初识函数,初识数组等内容

更多推荐

C语言自学之路二(C语言数据类型)