变量
定义变量是为了保存数据
<类型名称><变量名称>;
eg:
int price=0;
<类型名称><变量名称>=<初始值>;
eg:
int price=0;
一次定义两个:
int price,amount;
标识符
读:zhi(四声)
变量的名字是标识符,只能由字母、数字、下划线组成。
C语言的关键字(保留字)不能作为标识符。
scanf和printf用法
一次定义两个:
int b;
printf(“请输入两个整数:”);
scanf(“%d %d”,&a, &b);
printf(“%d+%d=%d\n”,a,b);
scanf用法
scanf字符串里面的东西是必须输入的东西,如果没有满足,就一直不能执行。所以不能随便加空格或者加回车“\n”。
printf可以做计算
eg:
#include <stdio.h>
int main(){
printf("1+2=%d\n",1+2);
return 0;
}
得到: 1+2=3
应用
计算身高的程序
int main()
{
printf(“请分别输入身高的英尺和英寸”,
“如输入\”5 7\”表示5英尺7英寸:”);
int foot;
int inch;
scanf(“%d %d”,&foot,&inch);
printf(“身高是%f米。\n”,
((foot+inch/12)*0.3048));
return 0;
}
两个整数运算结果只能是整数
10和10.0完全不同
浮点数
带小数点的数值。
另一种是定点数
人们常用浮点数表示带小数点的数
double“双精度浮点数
printf(“%lf”,…)
scanf(“%lf”,…)
flout“单精度浮点数”
计算时间差
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=t2-t1;
printf("时间差是%d小时%d分。\n",t/60,t%60);
return 0;
求平均数
int a,b;
scanf(“%d %d”,&a,&b);
double c=(a+b)/2.0;
printf(“%d和%d的平均数=%f\n”,a,b,c);
注:
a*-b\就是a乘以-b
C语言赋值是运算符
a=b=6从右向左
嵌入式赋值
int a=6
int b;
int c=1+(b=a);
不利于阅读
结合关系
result=a=b=3+c;
result=2;
result=(result=result*2)6(result=3+result);
交换
int b=6;
int t;
t=a;
a=b;
b=t;
printf(“a=%d,b=%d\n”,a,b);
复合赋值
5个算数运算符,+-/%,可以和赋值运算符“=”结合起来,形成复合赋值运算符:“+=”、“-=”、“=”、“/=”和“%=”
total+=5;
total=total+5;
注意两个运算符中间不要有空格
递增和递减符号
a++是a+1以前的值
做交换
因为程序是分步执行的,所以“a=b; b=a”不能同时执行,a、b都会得到b的值,所以我们需要一个空盒子,把东西装到里面再交换。
int=a;
a=b;
b=c;
复合运算
eg:
total+=(sum+100)/2;
相当于:
total=total+(sum+100)/2;
或者:
total*=sum+12;
相当于
total=total*(sum+12);
前缀后缀
a++的结果是a+1以前的值,a是a+1以后的值;
++a是a+1以后的值,a也是a+1以后的值。