【星计划★C语言】c语言初相识:探索编程之路

🌈个人主页:聆风吟_

🔥系列专栏:星计划★C语言、Linux实践室

🔖少年有梦不应止于心动,更要付诸行动。


文章目录

  • 📋前言
  • 一. ⛳️第一个c语言程序
  • 二. ⛳️数据类型
    • 2.1 🔔数据单位
    • 2.2 🔔计算机中常用的单位
    • 2.3 🔔C语言中的关键字
    • 二. ⛳️常量
    • 三. ⛳️变量
      • 3.1 🔔定义变量的方法
      • 3.2 🔔变量的命名规则
      • 四. ⛳️整型数据
        • 4.1 🔔符号常量
        • 4.2 🔔整型变量
        • 五. ⛳️浮点型数据
          • 5.1 🔔浮点型常量
          • 5.2 🔔浮点型变量
          • 六. ⛳️字符型常量
            • 6.1 🔔字符型常量
            • 6.2 🔔转义字符
            • 6.3 🔔字符数据在内存中的存储形式以及使用方法
            • 七. ⛳️字符串型常量
            • 📝全文总结

              📋前言

              C 语言为什么叫 C 语言呢?其实是因为先有高级语言 ALGOL 60(简称 A 语言),后来它经过简化变为 BCPL 语言(改进后称为 B 语言),而 C语言是在 B 语言的基础之上发展而来的,所以就称为 C 语言。因此,世界上的第一个 C 语言编译器是用 B 语言编写的。目前,主流的编译器是 GCC 编译器。

              1972 年,Dennis M. Ritchie 在 B 语言的基础上最终设计出了一种新的语言,他以 BCPL 的第二个字母作为这种语言的名字,这就是 C 语言。


              一. ⛳️第一个c语言程序

              #include //解释:
              //main函数是程序的入口
              //在整个工程中有且只有一个
              int main()
              { printf("hello world!\n");
                  return 0;
              }
              

              二. ⛳️数据类型

              2.1 🔔数据单位

              数据类型的分类如下图所示:

              char              //字符型
              short             //短整型
              int               //整型
              long              //长整型
              float             //单精度浮点数
              double            //双精度浮点数
              
              • 为什么会出现这多的数据类型?

                答:存储这么多的类型,其实是为了更加丰富的表达生活中的各种值。

                • 每种数据类型的大小是多少?
                  #include int main()
                  {//在vs和clion环境下的运行结果
                      printf("%d\n", sizeof(char));       //结果:1
                      printf("%d\n", sizeof(short));      //结果:2
                      printf("%d\n", sizeof(int));        //结果:4
                      printf("%d\n", sizeof(long));       //结果:4
                      printf("%d\n", sizeof(float));      //结果:4
                      printf("%d\n", sizeof(double));     //结果:8
                  }
                  

                  小课堂:

                  • sizeof是一个操作符;
                  • sizeof用于计算类型或变量所占用的存储空间的大小。

                  2.2 🔔计算机中常用的单位

                  单位换算关系
                  比特(b)基本单位
                  字节(B)1 B = 8 b
                  千字节(KB)1 KB = 1024 B = 2^10 B
                  兆字节(MB)1 MB = 1024 KB = 2^20 B
                  吉字节(GB)1 GB = 1024 MB = 2^30 B
                  太字节(TB)1 TB = 1024 GB = 2^40 B

                  注:b = bitB = Byte

                  2.3 🔔C语言中的关键字

                      c语言中有很多关键字,在后面的章节中遇到后我们在进行介绍(无需记忆),在这里给出是为了让大家对c语言的关键字有个认识,以避免命名变量的时候与关键字重名。c语言中的关键字如下图所示:


                  二. ⛳️常量

                      常量:是指在程序运行过程中,其值不发生变化的量。常量又分为整型、实型(也称浮点型)、字符型和字符串型。如下所示:

                  类型举例
                  整型100,235,-122,0
                  实型3.14,0.125,-4.25
                  字符型‘a’,‘b’,‘c’
                  字符串型“a”,“ab”,“2a3b”

                  三. ⛳️变量

                      变量:是指在程序运行过程中,其值可以发生变化的量。变量名实际上是以一个名字代表一个对应的存储单元地址,编译、链接程序时,由编译系统为每个变量名分配对应的内存地址(就是空间)。从变量中取值实际上就是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据,如下图所示:

                  3.1 🔔定义变量的方法

                  int age = 25;
                  float weight = 45.5f;
                  char ch = 'a';
                  

                  小课堂:在选择变量名和其他标识符时,应尽量做到 “见名知意”。

                  3.2 🔔变量的命名规则

                  • 只能由字母(包括大写和小写)、数字和下划线(_)组成;
                  • 不能以数字开头;
                  • 变量名区分大小写;
                  • 变量名不能使用关键字;
                  • 长度不能超过63字符。

                    四. ⛳️整型数据

                    4.1 🔔符号常量

                    符号常量:在编程语言中使用一个标识符来表示的常量,这个标识符即称为符号常量。定义格式如下:

                    #define <符号常量名> <常量>#define PI 3.14
                    

                    符号常量的使用:

                    #include #define PI 3+2	//PI是符号常量
                    int main()
                    { int i = PI * 2;
                        printf("i = %d\n", i);//输出结果是7
                        return 0;
                    }
                    
                    • 为什么输出结果是7,而不是10呢?

                      答:因为是符号常量PI是直接替换的效果,因此不可以写成PI=5


                      4.2 🔔整型变量

                      主要掌握int i足以应对初试,其中变量i是4个字节。


                      五. ⛳️浮点型数据

                      5.1 🔔浮点型常量

                      表示浮点型常量的形式有两种,如下图所示。其中e代表10的幂次,幂次可正可负。

                      注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数。

                      5.2 🔔浮点型变量

                      通过float f来定义浮点变量,其中f占用4个字节的空间。


                      六. ⛳️字符型常量

                      6.1 🔔字符型常量

                      用单引号('')括起来的一个字符是字符型常量,且只能包含一个字符。例如下图:

                      6.2 🔔转义字符

                      假如我们要在屏幕上打印一个目录:c:\code\test.c。

                      我们的代码应该如何写呢?

                      #include int main()
                      { printf("c:\code\test.c\n");
                          return 0;
                      }
                      

                      实际上程序运行的结果是这样的:

                      这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思,以\开头的的特殊字符称为转义字符

                      转移字符释义
                      \’用于表示字符常量'
                      \"用于表示一个字符串内部的双引号
                      \\用于表示一个反斜杠,防止他被解释为一个转义序列符
                      \n换行
                      \b退格符
                      \dddddd表示1~3个八进制的数字。如:\130表示字符X
                      \xddddd表示l2个十六进制的数字。如:\x30表示字符0

                      综上所讲,我们开头的代码应该更改为:


                      6.3 🔔字符数据在内存中的存储形式以及使用方法

                      字符型变量使用的关键字char进行定义,一个字符型变量占用1个字节大小的空间。一个字符常量存放到一个字符型变量中时,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII码值放到存储单元中。

                      打印字符型变量时, 如果以字符形式打印,那么计算机会到ASCII码表中查找字符型变量的ASCII码值,查到对应的字符后会显示对应的字符。

                      由上图所示,字符型数据既可以以字符形式输出,又可以以整数形式输出,还可以同过运算获取想要的各种字符。

                      小课堂:由ASCII码表我们可以很容易发现:小写字母 - 大写字母 = 32


                      七. ⛳️字符串型常量

                      字符串型常量是由一对双引号("")括起来的字符序列。例如下图:

                      小课堂:

                      1. 'a'是字符型常量,而"a"是字符串型常量,二者是不同的;
                      2. c语言中没有定义字符串型变量的关键字,因此我们需要通过数组对字符串进行存储。

                      c语言规定,在每个字符串型常量的尾部加一个字符串结束标志,以便系统据此判断字符串是否结束, c语言规定以字符\0作为字符串的结束标志。例如,字符串型常量"CHINA"在内存中的存储方式如下图所示:

                      #include int main()
                      { char c[] = "CHINA";
                          //输出结果为:6
                          //它占用内存单元不是5个字节,而是6个字节,即大小为6
                          //最后一个字符为'\0'
                          //注意:在输出是不输出'\0',因为'\0'无法显示
                          printf("字符串的长度为:%d\n", sizeof(c));
                          return 0;
                      }
                      

                      📝全文总结

                           今天的干货分享到这里就结束啦!如果觉得文章还可以的话,希望能给个三连支持一下,聆风吟的主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的最大动力!