欢迎光临散文网 会员登陆 & 注册

第二章 计算

2023-07-02 12:10 作者:bili_67945095035  | 我要投稿

2.1变量

算找零

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

需要:1.有地方放输入的数字;2.有办法输入数字;3.输入的数字能参与计算。

 


2.1.1 变量定义

1、变量



变量是一个保存数据的地方,当我们需要在程序里保存数据时,比如上面的例子中要记录用户输入的价格,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中,比如计算找零。

2、变量定义

 


3、变量的命名

变量需要一个名字,变量的名字是一种“标识符”,意思是它是用来识别这个和那个的不同的名字。

标识符有标识符的构造规则。基本的原则是:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(有的地方叫它们保留字)不可以用做标识符。

  • C语言的保留字


不需要背诵,随着学习自然会了解

2.1.2 变量赋值与初始化

这一行定义了一个变量。变量的名字是price,类型是int,初始值是0。

price=0是一个式子,这里的“=”是一个赋值运算符,表示将“=”右边的值赋给左边的变量。

1、赋值

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

2、初始化

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

3、变量初始化

组合变量定义的时候,也可以在这个定义中单独给单个变量赋初值,如:int price = 0, amount = 100;

4、表达式

“= "是赋值运算符,有运算符的式子就叫做表达式。

5、变量类型

这一行,定义了一个变量。变量的名字是price,类型是int,初始值是0。

C是一种有类型的语言,所有的变量在使用之前必须定义或声明,所有的变量必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型。

6、第二个变量

2.1.3变量的输入

1、读整数

要求scanf这个函数读入下一个整数,读到的结果赋值给变量price

注意:小心price前面的&

2.1.4常量VS变量

1、常量

固定不变的数,是常数。直接写在程序里,我们称作直接量(literal)。

更好的方式,是定义一个常量:

 

2、const

  • const是一个修饰符,加在int的前面,用来给这个变量加上一个const (不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。

  • int change = AMOUNT - price;

  • 如果你试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误。


让用户输入变量AMOUNT的值,而不是使用固定的初始值。这个变量在哪里定义合适呢?

 

plus


2.1.5 浮点数

例:身高5尺7寸

美国人固执地使用英制计量单位,他们习惯用几尺几寸(英尺英寸)来报自己的身高。如果遇到一个美国人告诉你他是5英尺7,他的身高应该是一米几呢?

(5+7/12)x0.3048= 1.7018米

 


在这些结果里英寸并没有起到作用

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

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

10.0是浮点数

要把12改为12.0      

当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后行浮点数的运算。


带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中你不会遇到定点数。人们借用浮点数这个词来表达所有的带小数点的数。

1、double

inch是定义为int类型的变量,如果把int换成double,我们就把它改为double类型的浮点数变量了。

double的意思是“双”,它本来“双精度浮点数”的第一一个单词,人们用来表示浮点数类型。除了double,还有float (意思就是浮点! )表示单精度浮点数。

2、数据类型

  • 整数

    • int

    • printf("%.",....)  

    • scanf("%d",..)  .....

  • 带小数点的数

    • double

    • printf("%f,...)

    • scanf(“%lf”,…)

2.2 表达式

表达式是一系列运算符和算子的组合,用来计算一个值。

2.2.1.运算符

  1. 运算符(operator) 是指进行运算的动作,比如加法运算符“+”,减法运算符“-”

  2. 算子(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值


例:计算时间差

输入两个时间,每个时间分别输入小时和分钟的值,然后输出两个时间之间的差,也以几小时几分表示。

2.2.2运算符优先级

写一个程序,输入两个整数,输出它们的平均值

 


1、运算符优先级

单目运算,取负,优先级最高

2、赋值运算符

  • 赋值也是运算,也有结果

  • a=6的结果是a被赋予的值,也就是6

  • a=b=6—> a=(b=6)      

3、结合关系

  • 一般自左向右

  • 单目+-和赋值=自右向左      

例:计算复利

在银行存定期的时候,可以选择到期后自动转存,并将到期的利息计入本金合并转存。如果1年期的定期利率是3.3%,那么连续自动转存3年后,最初存入的x元定期会得到多少本息余额?

本息合计= x(1+3.3%)}.

2.2.3变量交换

如果已经有:

Int a = 6;

int b= 5;

如何交换a、b两个变量的值?          

  1. 程序是按步骤执行的

程序表达的是顺序执行的动作,而不是关系

 a=b;
 b=a;

是依次执行的,结果使得a和b都得到b原来的值

  1. 像交换两杯水,需要第三个杯子

 int c;
 c=b;
 b=a;
 a=c;

2.2.4复合赋值和递增递减

1、复合赋值

  • 5个算术运算符,+ - * / %,可以和赋值运算符”="结合起来,形成复合赋值运算符:“+=”、”-=”、“*=”、“/=”和“%=”

  • total +=5;

  • total = total + 5;

  • 注意两个运算符中间不要有空格

2、递增递减运算符

“++”和“--”是两个很特殊的运算符,它们是单目运算符,这个算子还必须是变量。这两个运算符分别叫做递增和递减运算符,他们的作用就是给这个变量+ 1或者-1。

 count++;
 count += 1;
 count=count+1;

  1. 前缀后缀

++和--可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式。

a++的值是a加1以前的值,而++a的值是加了1以后的值,无论哪个,a自己的值都加1了。


第二章 计算的评论 (共 条)

分享到微博请遵守国家法律