引入:输入是以行为单位进行的,行的结束标志就是你按下了回车键。在你按下回车之前,你的程序不会读到任何东西
一.变量
1.1 变量定义:
<类型名称><变量名称>;
int price;
int amount;
int price,amount;
int price = 0; 这一行,定义了一个变量。变量的名字是price,类型是int ,初始值是0。
1.2 变量名的构造规则:
说明:变量的名字是一种“标识符”(或叫保留字)意思是它用来识别这个和那个的不同的名字。
基本原则:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,C语言的关键字不可以用做标识符。
1.3 赋值:
int price = 0; 右边的值0,赋给左边的变量名price
1.4 变量的初始化:
<类型名称><变量名称>=<初始值>;
int price = 0;
int amount = 100;
组合变量定义的时候,也可以在这个定义中单独给单个变量赋初值,如:
int price = 0,amount = 100;
#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;
}
计算机如何读整数 :
格式化(format)scanf("%d",&price);
scanf(格式化的输入)这个函数读入用户输入的整数,读到的结果赋值给变量price
第一种情况:空格必须输入一个东西
scanf("%d %d “, &a, &b);
第二种情况:必须要有一个东西满足\n
scanf(”%d %d\n", &a, &b);
第三种情况:scanf里面必须完整的读用户输入的东西
1.5 常量
固定不变的数,是常数。直接写在程序里,我们称作直接量(literal) 。更好的方式,是定义一个常量:
const int AMOUNT = 100;
const是一个修饰符,加在int的前面,用来给这个变量加上一个const (不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。一般它后面的变量名全大写。
二.数据类型
2.1 整型VS浮点型
带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中你不会遇到定点数。人们借用浮点数这个词来表达所有的带小数点的数。
inch是定义为int类型的变量,如果把int换成double,我们就把它改为double类型的浮点数变量了。
double的意思是‘“双’它本来是“双精度浮点数”的第一个单词,人们用来表示浮点数类型。除了double,还有float (意思就是浮点! )表示单精度浮点数。
整数 | 带小数点的数 |
---|---|
int | double |
printf("%d",…) | printf("%f",…) |
scanf("%d",…) | scanf("%lf",…) |
例题:
#include <stdio.h>
int main()
{
printf("请分别输入身高的英尺和英寸,"
"如输入\"5 7\"表示5英尺7英寸:");
double foot;
double inch;
scanf("%lf %lf", &foot, &inch);
printf("身高是%f米。\n",
((foot + inch / 12) * 0.3048));
return 0;
}
三.表达式
3.1 表达式
一个表达式是一系列运算符和算子的组合,用来计算一个值
运算符(operator) 是指进行运算的动作,比如加法运算符“+”,减法运算符“”
算子(operand)是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值
3.2 四则运算:
#include <stdio.h>
int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int t1 = (hour1*60)+minute1;
int t2 = (hour2*60)+minute2;
int t = t1-t2;
printf("时间差是%d小时%d分钟。",t/60,t%60);
return 0;
}
3.3 运算符优先级
赋值运算符
赋值也是运算,也有结果
a=6的结果是a被赋予的值,也就是6
a=b=6 一> a=(b=6)
结合关系
一般自左向右
单目±和赋值=自右向左
3.4 交换两个变量
#include <stdio.h>
int main()
{
int a = 5;
int b = 6;
int temp;
temp = a;
a = b;
b = temp;
printf("a=%d,b=%d\n",a,b);
return 0;
}
3.5 复合赋值
5个算术运算符,+ - * / %,可以和赋值运算符“=”结合起来,形成复合赋值运算符
+=、-=、*=、/=和%=
total += 5;
total = total + 5;
注意两个运算符中间不要有空格
total += (sum+100)/2;
total = total + (sum+100)/2;
total *= sum + 12;
total = total * (sum+12);
3.6 “++” "–“运算符
“++"和“–”是两个很特殊的运算符,它们是单目运算符,这个算子还必须是变量。这两个运算符分别叫做递增和递减运算符,他们的作用就是给这个变量+1或者-1。
count++;
count += 1;
count = count + 1;
++和–可以放在变量的前面,叫做前缀形式,也可以放在变量的后面,叫做后缀形式。
a++的值是a加I以前的值,而++a的值是加.了I以后的值,无论哪个,a自己的值都加了1了。
#include <stdio.h>
int main()
{
int a;
a = 10;
printf("a++=%d\n", a++);//10
printf("a=%d\n",a); //11
printf("++a=%d\n", ++a);//12
printf("a=%d\n",a); //12
return 0;
}
INC = 递增,DEC = 递减