四,对于变量的理解1——整型变量

  有了上面两篇的基础现在我们开始接触变量。

  先想一个问题,为什么hello world程序没有涉及变量?

  因为C语言的程序就是对数据的存储、处理、输入、输出的过程,那么哪一个是必须有的呢?显然是输出。别的都可以没有,但是输出必须有,一个没有输出的程序是没有意义的。很简单的道理,数据处理了,没看到结果,显然没有意义。所以hello world程序是最简单的C语言程序,它只有一个输出语句。如果C语言只能做这种事,功能也太弱了,所以这一节学习让C语言变得强大的概念——变量。因为有了变量,程序就能实现数据的存储,运算,输入,输出这四个功能了。

  基础的变量类型有三大类:整数类型,小数类型,字符类型。意思比较显然,先理解表面意思即可。

这节我们先学一种变量——整数类型。

读者可能会抱怨:光会整数变量的处理不够用啊,万一我要计算1.3+5.4怎么办?好吧,先别着急,先学会1+1,再学1.3+5.4,其实学会了整数类型,其他类型都可以触类旁通。

  首先说明一点,变量在计算机中是以怎样的形式存在的。当然是以011110000这一类二进制码存在的,所以你要使用一个变量,每种类型的变量需要的位数(也就是占的空间大小)不一样,所以你在使用一个变量之前,必须先告诉计算机这个变量是什么类型的,也就是定义变量。你定义了一个变量之后,计算机就会为你开一块空间来存储这个变量,你为它定义的变量名就是你使用它的载体。也就是变量的“先定义,后使用”的原则。好吧,这一段可能有点抽象,可以先看完下面的再回过头来看看这里,是不是这么回事。

一、如何定义整数类型

  定义整型变量的语句是

int name;

 name是你自己起的变量名,理论上讲随便起什么名都可以,只要不是以数字开头、没有汉字就行。为了让读者印象深刻,下面定义一个叫做liupeng的整型变量:

int liupeng;

 下面写一下模板有利于读者理解。

#include<stdio.h>
int main(void)
{
    int liupeng;
    
    return 0;
 } 

这样,系统就会为liupeng开4个字节的内存,下面就可以使用liupeng这个变量了。

二、如何使用整型变量

  对整型变量的操作主要有三种:赋值,输入,输出。

  1.赋值

    对变量的赋值用"=",用法与我们平时的等号略有不同,它的作用是把等号右边的值赋值给左边,所以说左边只能出现一个变量,而右边可以是一个变量,一个常量,也可以是一个表达式。可以用下面的程序理解一下。

#include<stdio.h>
int main(void)
{
    int liupeng;
    liupeng=7;    /*执行完这一句之后liupeng=7*/
    liupeng=4;    /*执行完这一句之后liupeng=4*/
    liupeng=liupeng+1;    /*执行完这一句之后liupeng=5*/
    liupeng=liupeng/2;    /*执行完这一句之后liupeng=2,这里比较特殊,在整数类型的运算里,除号默认是整除符号*/
    return 0;
 } 

   上面涉及到的几个语句都是变量的运算,跟数学表达式差不多,基本上就是两个区别:一个是赋值号,是右边的值存到左边里;一个是累计运算,比如liupeng=liupeng+1,让liupeng累加了1,累除也是同理。

  2.输出

    对于变量的输出方式与原先略有不同,对于整数变量来说是这样输出一个整数

printf("%d",name);

你也许会问:%d是搞什么?解释一下,%d的意思是这里要以整数的形式输出一个数,这个数就是逗号后面的那个liupeng.

 比如对于上一个程序来说,你就可以用输出来检验一下我的注释对不对。

#include<stdio.h>
int main(void)
{
    int liupeng;
    liupeng=7;    /*执行完这一句之后liupeng=7*/
    printf("%d\n",liupeng);
    liupeng=4;    /*执行完这一句之后liupeng=4*/
    printf("%d\n",liupeng);
    liupeng=liupeng+1;    /*执行完这一句之后liupeng=5*/
    printf("%d\n",liupeng);
    liupeng=liupeng/2;    /*执行完这一句之后liupeng=2,这里比较特殊,在整数类型的运算里,除号默认是整除符号*/
    printf("%d\n",liupeng);
    return 0;
 } 

屏幕的输出结果是

7
4
5
2

 如果把\n去掉,那么输出结果就成了

7452

 显然,控制输出是很重要的。

那么下面的程序会输出什么呢?

#include<stdio.h>
int main(void)
{
    int liupeng;
    liupeng=7;    /*执行完这一句之后liupeng=7*/
    printf("第一句之后%d\n",liupeng);
    liupeng=4;    /*执行完这一句之后liupeng=4*/
    printf("第二句之后%d\n",liupeng);
    liupeng=liupeng+1;    /*执行完这一句之后liupeng=5*/
    printf("第三句之后%d\n",liupeng);
    liupeng=liupeng/2;    /*执行完这一句之后liupeng=2,这里比较特殊,在整数类型的运算里,除号默认是整除符号*/
    printf("第四句之后%d\n",liupeng);
    return 0;
 } 

当然,要运行这个程序,你的编译器必须支持汉语输出,请读者写出运行结果,再理解printf函数。

点击下面的按钮打开答案

第一句之后7
第二句之后4
第三句之后5
第四句之后2
View Code

好了,这一节先讲这些,输入下节再讲。

posted @ 2015-10-09 13:02  lvmememe  阅读(2400)  评论(0编辑  收藏  举报