变量常量

与世无争的帅哥 提交于 2020-02-22 22:45:01

1.变量就是放数据的地方
变量定义的一般形式:
<变量类型名称><变量名称>;
一行里可以定义多个变量
如:int price; int amount; int price,amount;
变量的名字有一个专业术语叫标识符,
标识符有自己的规则:只能由字母、数字和下划线组成,数字不能开头,C语言中的关键字(有的地方叫保留字)不可以用做标识符
2.C语言是一种有类型的语言,数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据
程序运行过程中不能改变变量的类型
3.常量
int change=100-price;
会变的是变量如price,change.不会变的是常量如,直接写在程序里的叫直接量如100
更好的方式,是定义一个常量,而不是把100直接写在那
const int AMOUNT=100;//这也是C99写法
之后直接用int change=AMOUNT-price;
这样做有很多好处,不如别人看到100不知道是什么,但是看到AMOUNT就会知道是金额
用有意义的名字,更容易让别人理解你的这个数字是什么
第二个好处,容易修改,定义在前面很容易就能找到AMOUNT
const是一个修饰符,放在一个变量前面,表示这个变量不能被修改,一定要被赋初值,初始化完之后不可再做任何赋值的操作
一般对一个const的变量,变量名全大写,用来强调它是const的
若你强行在初始化之后进行赋值操作。比如你令AMOUNT=90;
会出现错误 rean-onlu variable is not assignable 意思是:这个只读的变量是不能够被复制的
4.如何让用户输入变量AMOUNT的值,而不是使用固定的初始值
用一个变量存放它int amount=0;之后用 scanf("%d",&amount);然后该计算int change=amount-price;
5.也可用一个scanf读多个变量,看以下程序,它要读入连个变量a和b的值,然后把这两个变量相加的结果输出
int a;
int b;
scanf(“请输入两个整数:”);
scanf("%d %d",&a,&b);
printf("%d+%d=%d",a,b,a+b);

int main()
{
    //算找零
    int price=0;
    /*这句话叫赋值,把右边的值0赋给左边的变量price,类型是int,初始值是0
    因为这是在定义变量时做的赋值,所以这个赋值式子又叫做变量的初始化
    关注:=,这个赋值符号,表示一个动作
    a=b,在数学中表示一种关系,即a的值与b的值相等,关系是静态的,a=b和b=a是等价的
    而在程序设计中,表示一个动作,a=b和b=a两者意思完全相反
    C语言没有要求所有的变量都在定义的地方做初始化,但是所有的变量在第一次被使用(出现在赋值运算符的右边)之前应该被赋值一次
    变量未初始化就使用,此时使用的值是该变量所在地址的值,有什么用什么,因此不初始化很难得到想要的答案
    变量初始化的格式:<变量类型名称><变量名称>=<初始值>;
    如:int price=0;    int amount=100;    int price=0,amount=100;
    一行若定义多个变量,要单独给每一个变量赋初始值
    */
    printf("请输入金额(元)");
    scanf("%d",&price);
    /*
    f是格式化的意思,逗号后的内容依次放入前方占位符中
    小心price前面的&,在scanf中,你要让它读什么东西,就一定要加&在要读的变量前面
    */
    int change=100-price;
    /*这是C99的写法,C99允许在程序的任何地方定义变量
    传统的ANSI C只能在代码开头的地方定义变量
    */
    printf("找您%d元\n",change);
    return 0;
}

功能:找零

int main()
{
int price=0;
int amount=0;
printf("请输入价格和需要找零的金额");
scanf("%d",&price);
scanf("%d",&amount);
int change=amount=price;
printf("找您%d元",change);
return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!