中国大学慕课C语言第一讲笔记

来源:互联网 发布:广州行知职业技术学校 编辑:程序博客网 时间:2024/05/13 22:21

变量

定义变量是为了保存数据
<类型名称><变量名称>;
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以后的值。

原创粉丝点击