四则运算 | C语言 | 意义 |
---|---|---|
+ | + | 加 |
- | - | 减 |
× | * | 乘 |
÷ | / | 除 |
% | 取余 |
变量定义
-
引入:如何能在程序运行时输入一个数字,然后计算输出结果
①有地方放输入的数字
②有办法输入数字
③输入的数字能参加计算
#include<stdio.h>
int main()
{
int price=0;
printf("请输入金额(元):");
scanf("%d,&price");
int change=100-price;
printf("找您&d元。\n",change);
return 0;
}
price,change 变量
scanf C语言库中提供的输入函数
变量
-
“int price = 0;”定义了一个变量。变量的名字是price,类型是int,初始值是0
-
变量是一个保存数据的地方,当我们需要在程序里保存数据时,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算,比如计算找零
变量定义
-
一般形式:类型名称+变量名称+;
eg, int price;
int amount;
int price,amount;
变量的名字
-
变量需要一个名字,变量的名字是一种“标识符”
-
标识符有标识符的构造规则。基本原则是:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字(保留字)不可以用作标识符
(了解)C语言的保留字:
auto,break,case,char,const,continue,default,do,double,else,enum,extern,float,for,goto
if,int,long,register,return,short,signed,sizeof,static,struct,switch,typedef,union,unsigned
void,volatile,while, inline,restrict
赋值和初始化
-
int price = 0是一个式子,这里的“=“是一个赋值运算符,表示将”=“右边的值赋给左边的变量
赋值
-
区别于数学,“a=b“表示将b的值赋给a,关系是静态的,而动作是动态的
初始化
-
当赋值发生在定义变量的时候,如弟7行,就是变量的初始化。所有变量在第一次被使用(出现在赋值运算符的右边)之前应该被赋值一次
-
如果没有初始值? 如图
#include <stdio.h>
int main()
{
int i;
int j;
j = i+10;
printf("%d\n",j)
return 0;
}
变量的赋值与初始化
变量初始化
-
类型名称+变量名称=初始值
eg. int price = 0;
int amount = 100;
-
组合变量定义的时候,也可以在这个定义中单独给单个变量赋初始值
eg.int price = 0,amount = 100;
变量类型
-
C是一种有类型的语言,所有的变量在使用前必须定义或声明,所有的变量必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量类型
c99写法 允许在程序任何地方定义变量
传统的sc (所有)只能在代码开头定义变量
读整数
-
printf 输出 scanf 输出
-
注意price前的&
常量vs变量
常量
- 固定不变的数是常数,直接写在程序里,称为直接量(literal)
- 更好的方式,是定义一个常量
eg. const intAMOUNT =100;
#include <stdio.h>
int main()
{
const int AMOUNT = 100;
int price = 0;
printf("请输入金额(元):");
scanf("%d",&price);
int change = AMOUNT - price;
printf("找您%d元。\n",change);
return 0;
}
const 修饰符,加在int前,用来给变量加上一个不变的属性。表示这个变量的值一旦初始化,就不能再改变。若试图修改,就会被编译器发现,指出为一个错误。
定义常量的好处:
- 可以让别人更容易理解数字(magic number)的含义
- 以后修改程序时更容易找到
将AMOUNT改为变量
#include<stdio.h>
int main()
{
int amount = 100;
int price = 0;
printf("请输入金额(元):");
scanf("%d", &price);
printf("请输入票面");
scanf("%d",%amount);
int change = amount - price;
printf("找您&d元。\n", change);
return 0;
}
plus.c
int a;
int b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("%d + %d = %d\n", a, b, a + b);
浮点数
计算身高的程序
错误原因
- 两个整数运算的结果只能是整数
- 10和10.0在C语言中是完全不同的数
- 10.0是浮点数
浮点数
带小数点的数值。本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。
方法一
改进
(foot + inch / 12)*0.3048;
>>(foot + inch / 12.0)*0.3048;
当浮点数和整数放在一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。
方法二
double
- inch是定义为int类型的变量,如果把int换成double,就把它改为double类型的浮点数变量了
- double可以用来表示浮点数类型,除了double,还有float表示单精度浮点数
小结-数据类型
- 整型
int
printf("%d",…)
scanf("%d",…)
- 带小数点的数
double
printf(%f", …)
scsnf("%lf"'…)