计算变量

在线C环境:https://clin.icourse163.org/

 变量

1.做计算

#include <stdio.h>

int main() {
printf("23+1=%d\n",23+1);
    return 0;
}

2.如何能在程序运行时输入那个数字,然后计算输入结果呢?

需要:

  1. 有地方放输入的数字;
  2. 有办法输入数字
  3. 输入的数字能参与运算
#include <stdio.h>

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

2.1 如何输⼊

  • 输⼊也在终端窗⼝中
  • 输⼊是以⾏为单位进⾏的,⾏的结束标志 就是你按下了回⻋键。在你按下回⻋之前, 你的程序不会读到任何东⻄

2.2 变量

  • int price = 0;
  • 这⼀⾏,定义了⼀个变量。变量的名字是 price,类型是int,初始值是0。
  • 变量是⼀个保存数据的地⽅,当我们需要 在程序⾥保存数据时,⽐如上⾯的例⼦中 要记录⽤户输⼊的价格,就需要⼀个变量 来保存它。⽤⼀个变量保存了数据,它才 能参加到后⾯的计算中,⽐如计算找零。

3. 变量定义

  • 变量定义的⼀般形式就是: <类型名称> <变量名称>;
  • int price;
  • int amount;
  • int price, amount;

3.1 变量的名字

  • 变量需要⼀个名字,变量的名字是⼀种 “标识符”,意思是它是⽤来识别这个和那 个的不同的名字。
  • 标识符有标识符的构造规则。基本的原则 是:标识符只能由字⺟、数字和下划线组 成,数字不可以出现在第⼀个位置上,C 语⾔的关键字(有的地⽅叫它们保留字) 不可以⽤做标识符。

4. 赋值和初始化

  • int price = 0;
  • 这⼀⾏,定义了⼀个变量。变量的名字是 price,类型是int,初始值是0。
  • price=0是⼀个式⼦,这⾥的“=”是⼀个赋 值运算符,表⽰将“=”右边的值赋给左边 的变量。

4.1赋值

和数学不同,a=b在数学中表⽰关系,即a 和b的值⼀样;⽽在程序设计中,a=b表⽰ 要求计算机做⼀个动作:将b的值赋给a。 关系是静态的,⽽动作是动态的。在数学 中,a=b和b=a是等价的,⽽在程序设计 中,两者的意思完全相反

4.2 初始化

当赋值发⽣在定义变量的时候,就像程序 1中的第7⾏那样,就是变量的初始化。虽 然C语⾔并没有强制要求所有的变量都在 定义的地⽅做初始化,但是所有的变量在 第⼀次被使⽤(出现在赋值运算符的右边) 之前被应该赋值⼀次

5.变量初始化

  • <类型名称> <变量名称> = <初始值>
  1. int price = 0;
  2. int amount = 100;
  • 组合变量定义的时候,也可以在这个定义 中单独给单个变量赋初值,如:
  1. int price = 0, amount = 100;

6. 读整数

  • scanf("%d", &price);
  • 要求scnaf这个函数读⼊下⼀个整数,读到 的结果赋值给变量price
  • ⼩⼼price前⾯的&

7. 表达式

  • “=”是赋值运算符,有运算符的式⼦就叫 做表达式。
  1. price=0;
  2. change=100-price;

8.变量类型

  • int price = 0;
  • 这⼀⾏,定义了⼀个变量。变量的名字是 price,类型是int,初始值是0。
  • C是⼀种有类型的语⾔,所有的变量在使 ⽤之前必须定义或声明,所有的变量必须 具有确定的数据类型。数据类型表⽰在变 量中可以存放什么样的数据,变量中只能 存放指定类型的数据,程序运⾏过程中也 不能改变变量的类型。
  • • 只能在代码开头的地⽅定义变量

9.常量

  • int change = 100 - price;
  • 固定不变的数,是常数。直接写在程序⾥, 我们称作直接量(literal)。
  • 更好的⽅式,是定义⼀个常量:
  1. const int AMOUNT = 100;            C99定义的

9.1 .const

  • const是⼀个修饰符,加在int的前⾯,⽤来 给这个变量加上⼀个const(不变的)的属 性。这个const的属性表⽰这个变量的值⼀ 旦初始化,就不能再修改了。
  1. int change = AMOUNT - price;
  • 如果你试图对常量做修改,把它放在赋值 运算符的左边,就会被编译器发现,指出 为⼀个错误。

10. try

让⽤户输⼊变量AMOUNT的值,⽽不是 使⽤固定的初始值

这个变量在哪⾥定义合适呢?

11. tips

程序要求读⼊多个数字时,可以在⼀⾏输 ⼊,中间⽤空格分开,也可以在多⾏输⼊

在scanf的格式字符串中有⼏个%d,它就等 待⽤户输⼊⼀个整数,当然,字符串后⾯ 也需要对应有那么多个整数

12. plus.c

13. 案例:计算身高的程序

#include <stdio.h>

int main() {
    
    printf("请分别输入身高的英尺和英寸,""如输入\"5 7\"表示5英尺和7英寸\n");
    
    int foot;
    int inch;
    
    scanf("%d %d",&foot,&inch);
    
    printf("身高是%f米。\n", ( (foot+inch/12)*0.3048 ));
    return 0;
}

输入5 7,为什么总是1.524⽶?

因为两个整数的运算的结果只能是整数

 10和10.0在C中是完全不同的数

10.0是浮点数

14. 浮点数

  • 带⼩数点的数值。浮点这个词的本意就是 指⼩数点是浮动的,是计算机内部表达⾮ 整数(包含分数和⽆理数)的⼀种⽅式。 另⼀种⽅式叫做定点数,不过在C语⾔中 你不会遇到定点数。⼈们借⽤浮点数这个 词来表达所有的带⼩数点的数。
  • 当浮点数和整数放到⼀起运算时,C会将 整数转换成浮点数,然后进⾏浮点数的运 算。

15. double

  • inch是定义为int类型的变量,如果把int换 成double,我们就把它改为double类型的 浮点数变量了。
  • double的意思是“双”,它本来是“双精度浮 点数”的第⼀个单词,⼈们⽤来表⽰浮点 数类型。除了double,还有float(意思就 是浮点!)表⽰单精度浮点数。

16. int换成double

#include <stdio.h>

int main() {
    
    printf("请分别输入身高的英尺和英寸,""如输入\"5 7\"表示5英尺和7英寸\n");
    
    int foot;
    int inch;
    
    scanf("%d %d",&foot,&inch);
    
    printf("身高是%f米。\n", ((foot+inch/12)*0.3048));
    return 0;
}

17. 数据类型

  • 整数
  1. int
  2. printf("%d",…)
  3. scanf("%d",…)
  • 带⼩数点的数
  1. double
  2. printf("%f",…)
  3. scanf("%lf",…)

18. 整数

整数类型不能表达有⼩数部分的数,整数 和整数的运算结果还是整数。计算机⾥会 有纯粹的整数这种奇怪的东⻄,是因为整 数的运算⽐较快,⽽且占地⽅也⼩。其实 ⼈们⽇常⽣活中⼤量做的还是纯粹整数的 计算,所以整数的⽤处还是很⼤的。

原文地址:https://www.cnblogs.com/hechunfeng/p/15643918.html