scanf函数输入与变量定义back

发布于 2021-09-17  371 次阅读  共 1504 字


#include <stdio.h>

int main()
{
 int price;
 printf("请输入金额(元):") ;
 scanf("%d",&price);
 const int AMOUNT=100;
 int change=AMOUNT-price;
 printf("找您%d元\n",change);
 return 0;
}

还是固定框架

例句 int price 其中int是这个变量的类型,price是这个变量名称;

变量需要一个名字,变量的名字我们叫做"标识符"意思表示是用它来识别这个和那个的不同名字;

变量类型有很多是固定的类型,而变量名称是自己随便取的(但是不能以数字开头,其中的特殊符号只能由下滑建"_" c语言中的关键字也不能作为变量(标识符)的开头);

例句 int price=0 , 这一样定义了一个变量,变量的名字是price,类型是int,初始值为0;

变量是一个保存数据的地方,当我们需要在程序里保存数据时就会设一个变量。比如上面的源码里我们要设定一个变量来保存用户输入的价格时,我们就需要设定一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算当中去;

int price=0 这里的"="是赋值运算符,有赋值运算符的式子叫作表达式,也就是设定一个变量;

赋值:和数学不同,a=b 在数学中表达关系,即a与b的值一样;

而在程序设计中,a=b 表示要求计算器做一个动作,a=b 表示的是要将b的值赋予a;

数学里的关系是静态的,而程序设计中的关系是动态的;

数学中 a=b,b=a 是等价的,而在程序设计中相反

const int AMOUNT=100; 这个变量类型前面加了个const是为什么呢?

int change =100-price; 100是个固定不变的数,直接写在程序里,我们叫他常量(literal)。更好的方式是定义一个常量,我们在例句上一行定义这个100 , const int AMOUNT=100,再将 int change=100-price 里的100改成AMOUNT;

const又是什么意思呢?

const是一个修饰符,加在int前面,用来给这个变量加上一个const(不变的)属性。这个const的属性代表这个变量一旦被初始化就不能再就改了。防止后面再给这个变量名称重复给初始化值导致代码出错。

int change =AMOUNT(表示金额的一个英文,让自己看一眼就知道这个数是金额)-price

这一串变量的常量是AMOUNT,如果多次使用可以设定常量为AMOUNT,若要修改常量直接修改这一串变量中的AMOUNT就好了,就不用逐行去修改常量,源码一旦出错,编译器很容易指出并告知你错误在此;

scanf输入:例句:("%d",&price); 要求scanf这个函数读入下一个整数,读到的结果估值给变量price;一定要有"&"键(读and音);

例句:scanf("%d",&price):假如说用户输入了3这个数字,我们的程序会把3这个数字代入到scanf()里的的&price里,意思就是不管用户输入多少&price就会变成多少(我们谁当price变量没有给初始值);

","把两个表达式连在了一起,"%d"必须取后面的整数(不然代码出错),所以用户输入的数值就变成了"%d"的数值;

接下来int change=AMOUNT(常量100)-price(用户设定price=3)所以change变量=3;

printf("找您%d元\n",change),跟上面同理:"%d"必须取后面的整数(不然代码出错),所以"%d"=change=97;

printf会将""里面的东西全部输出给用户看,所以屏幕上会显示:找您97元

打开终端时
用户输入3并按回车后