C语言 变量

变量的定义
程序范例(计算找零)

#include <stdio.h>
int main ()
{
int price = 0; //定义一个变量,变量名字是price,int表示变量的类型,初始值是0
printf (“请输入金额(元):”);
scanf("%d",&price);
int change = 100 -price ;
printf(“找您%d元。\n”,channge);
}

注释:变量定义的一般形式:【类型名称】【变量名称】;

  1. int price ;
    2.int aomount ;
    3.int price ,amount;
    4.变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个不同的名字。
    5.标识符的构造规则:基本原则:标识符只能有字母、数字、下划线组成,数字不可以出现在第一个位置上,c语言的关键字不可以用作标识符(可以字母开头也可以下划线开头但是不可以数字开头)

赋值与初始化:c语言中赋值和初始化的差异不是很大但是在其他语言中差异可能会很大
1.赋值:将右边的值0赋给左边的变量,因为是在定义变量做的赋值所以也叫做初始化
int price = 0;
2.与数学不同,a=b在数学中表示关系,是指a和b的值是相等的;在程序设计中指的是计算机的一个动作:将b的值赋给a。数学中关系是静态的,而动作是动态的,a=b和b=a是等价的,程序设计中,两者的意思完全相反。
3.没有初始化??
#include <stdio.h>
int main ()
{
int i ;
int j;
printf ("%d\n",j);
return 0;
}
变量在计算机内存当中,如果没有对变量进行初始化,则变量一开始在内存中对应什么样的值,它就是什么值(相当于打开一个房间,一打开不清扫里面有什么垃圾,住进去就是那样)。
4.变量的初始化
[类型名称] 【变量名称】=【初始值】;
int price =0;
int amount=100;
一行定义多个变量,不能将一个值赋给所有变量,必须将所有变量一个一个的赋值。

变量的类型:c语言是一种有类型的语言,所有变量在使用前必须定义或者声明,必须具有明确的类型,数据类型表示在变量中可以存放什么类型的数据

函数:printf scanf
1.读整数
scanf("%d",&price); //读到的值赋给price
&读变量的值时需要加&(在指针中解释)
2.如果输入的不是整数:只能默认输入的值是0

常量:

int change = 100 - price;

#include <stdio.h>
int main ()
{
int price = 0; const int AMOUNT =100; //定义一个变量,变量名字是price,int表示变量的类型,初始值是0
printf (“请输入金额(元):”);
scanf("%d",&price);
int change = AMOUNT -price ;
printf(“找您%d元。\n”,channge);
}

1.const(不变的)是一个修饰符,表示这个变量的值一旦初始化,就不能再修改了。否则会出现编译的错误(read-only variable is not assignable)

scanf读多个变量实现
#include <stdio.h>
int main ()
{
int a;
int b;
printf(“请输入两个整数:”);
scanf(“%d %d”,&a,&b);
printf("%d + %d = %d\n",a,b,a + b);
}

计算身高实例
身高5尺7寸=(5+7/12)*0.3048m

#include <stdio.h>
int main ()
{
int foot;
int inch;
scanf(%d %d", &foot ,&inch);
printf(“身高是%f米。\n”,((foot + inch /12)*0.3048));
}
1.运算结果发现只和英尺有关
原因:两个整数的运算结果只能是整数,inch/12是整数/整数所得结果是0,会略去小数点后面的位数.

2.对于以上结果引出浮点数的概念:浮点数是指小数点的浮动的,指的是小数点后面的位数,还有一种数叫做定点数,指定了小数点后面的位数,不过在c语言中不会遇到定点数.

3.程序改进:
方法一:(foot + inch /12)*0.3048) →→(foot + inch /12.0)*0.3048)
方法二:改变变量定义的类型 double (双精度浮点数) float(单精度浮点数)
#include <stdio.h>
int main ()
{
double foot;
double inch;
scanf(%lf %lf", &foot ,&inch); //改为%lf
printf(“身高是%f米。\n”,((foot + inch /12)*0.3048));
}
4.数据类型
整数
int
printf("%d",…);
scanf(“%d”,…);
带小数点的数
double
printf(“%f”);
scanf(%lf",…);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值