C语言计算
1、变量
用途:需要存放输入的数据
定义格式:数据类型 + 变量名(用于区分其他变量)
变量名格式:只能由字母/下划线/数字构成,首位不能是数字;且变量名不能是标识符
**变量赋值和初始化:**使用 = 将右边的值赋值给左边,= 为操作符,有操作符的语句为表达式
如果变量没有初始化,则为内存中不确定的值。
C99标准是支持任意地方对变量进行定义,ANSI标准变量初试化只能放在程序开头。
2、程序输入
scanf("%d",&price)
使用scanf函数,类似printf函数,%d表示接受用户输入整数,&price赋值给price变量。
3、常量vs变量
#include<stdio.h>
int main(int argc,char const *argv[]){
int price = 0,change = 0;
const int AMOUNT 100;
printf("请输入金额:");
scanf("%d",&price);
change = AMOUNT - price;
printf("找您%d元\n",change);
return 0;
}
为了增加代码可读性,将固定的值100用const int定义为常量(只能C99标准下使用)
常量不可被修改
scanf函数中有几个%d,就会等到用户输入几个整数才会结束读入,中间的回车和空格不在计算当中。
4、表达式
时间差.c
设计思想:将时间转换成分钟为单位,然后作差。小时是差值对60除数,分钟是差值对60的余数
#include<stdio.h>
int main(int argc,char const *argv[]){
int hour1,hour2,minute1,minute2;
int t1,t2,t;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
t1 = hour1 * 60 + minute1;
t2 = hour2 * 60 + minute2;
t = t1 - t2;
printf("时间差是%d小时%d分钟。\n",t / 60,t % 60);
return 0;
}
5、运算符优先级
±:单目运算符优先级最高,结合关系是自右向左
*/±:双目运算符优先级第二,符合数学规律,结合关系是自右向左
=:赋值运算优先级最低
a = b = c,运算逻辑是b赋值给c,然后运算结果赋值给a
减少嵌入式赋值,不容易阅读
6、交换两个变量
#include<stdio.h>
int main(int argc,char const *argv[]){
int a = 5,b = 6;
int temp;
temp = b;
b = a;
a = temp;
printf("a = %d,b = %d\n",a,b);
return 0;
}
程序是顺序执行的步骤,交换两个变量的值需要一个中间变量进行暂存,为程序编写中交换变量常用的套路。
7、复和赋值
会将赋值右边先进行运算,然后再进行赋值右边的运算。
递增递减运算符:++、–
只能对变量进行使用,且放在变量前的最先生效,放在变量后面,语句结束才生效。