【C语言学习004】——变量 上节的最后我们初步有了写“变量”的想法我们再来细致的讨论一下我们想要在程序运行后手动输入一个数字因此我们的程序得能够储存我们所输入的数字。此外我们需要让我们输入的数字能够真正参与后续的运算因此我们整体的思路应该是首先需要我们的代码中存在一个变量后续的计算也都是基于这个变量所进行的。当我们输入数字时其实是给变量进行赋值之后的计算就是采用我们赋值的结果所进行的。我们一步步来细究首先是如何存在一个变量这个事其实很好实现我们写代码的过程其实就是创造规则的过程。俗话说没有规则我们就创造规则那在变量这件事上没有变量就创造变量具体的写法如下图事实上我们不是第一次见到“int”和“float”在我们上节的笔记中我们曾见过这样一张图而此时我们定义变量也用到了这些字母就不卖关子了我们定义变量的方法是类型名称变量名称因此在我们上面定义的过程中我们定义的a是整数型b是浮点数型。至于各种数据类型我们后面会专门出一节笔记去讲解此处只需要简单理解为整数和小数即可。再来聊聊变量名称。在我们上面的定义中变量的名字我们就简单的取成了a和b事实上取变量名是有一定的规则的1在同一段程序里每个变量的变量名必须唯一。这很好理解就比如我们想给a赋值算算a5的值但是整个程序里有两个变量都叫a那我们赋的时候给谁赋后面的a5是赋过的还是没赋过的因此为了避免这样的问题我们要求变量名唯一。2变量名只能由字母、数字、下划线组成数字不可以作为开头。3不能够用C语言中的关键字作为变量名。这里需要解释一下C语言中存在一些关键字我们见过的已经有int、return了。简单而言这些关键字在编写程序的时候有其他的作用比如int是用来定义整数型return貌似是结束语。如果我们的变量也叫这个名字那整段程序将无法运行。之后进行第二步撰写后续基于变量的计算可以看到我定义了整型a的值为5定义了浮点数b的值为7.9然后再让计算机去计算输出ab的值得到12.9。注意我们这里使用的是%f。那至此我们就已经完成了变量的定义与计算的书写。接下来我们进行第三步如何给变量赋值在上一步中我们一开始就定义了a和b的值分别是5和7.9实际上这就是一个赋值操作。中间的等号在C语言中称为赋值符号。赋值是一个动作。ab的意思就是把b的值赋给a这是一个有方向的操作。ab和ba的意思是完全不同的。我们都是将右边的值赋给左边这与数学上的等号有着很大的区别请务必注意。另外我们在一开始定义的时候就已经给变量给了一个值这个过程就叫做初始化。需要说明的是初始化这个操作并不是必须的也就是说我们不用在定义变量的时候必须给他一个值。但是不初始化的变量会被分配一块内存空间这块空间里存的值是不确定的。也就是说如果不初始化那么这个变量的初始值是完全随机的使用它会导致不可预期的结果。因此我们还是希望养成对变量进行初始化的习惯往往设置初始值为0.最后我们学习如何输入如同在输出时我们使用的是printf在输入时我们使用scanf下面是一段示例代码可以看到我们定义了两个整型的变量a和b并且初始值均为0.之后我们使用scanf后面跟printf一样加了括号和双引号。双引号内有两个%d中间存在一个空格。在双引号之外首先有一个逗号其次我们使用了符号然后是ab。这是一套完整的输入流程。两个%d表示我们要输入两个整数%d中间的空格要求我们在输入两个数字时中间也必须有空格否则无法识别。如下图观察到第一次输入1和2中间有空格于是可以正常输出。但是第二次输入1和2中间没空格按回车无法输出反而是仍然在输入状态因为他判定为我们输入的第一个数字是12.我们必须打个空格再输入任何一个数字它才能够输出。因此scanf双引号中的格式是我们务必要注意的所输入的内容必须与内部的格式保持一致这样才能够正常输入。再往后符号我们此处还没法理解总之可以先记住需要写这个符号。另外a在前就先输入的是a的值如下图这段代码没有更改输入顺序但是更改了输出顺序结果很显然。至此我们已经掌握了如何在我们的程序中输入并给变量赋值接下来我们用一道题目来简单练习以下要注意首先你得有文字提示所以要先用printf写一个输入华氏温度的提示之后我们需要手动输入华氏温度然后再定义华氏温度与摄氏温度之间的关系最后输出摄氏温度。保留一位小数的方法是使用%.1f过程如下这就是本节笔记的全部内容。