初学C语言-计算
在编写C语言程序之前我们先要下载C语言编译软件,例如 Dev-c++,Visual Studio 2012 等编译软件。作者所用的编译软件为Dev-c++安装完成后,我们开整。
1.基本数据类型
在C语言中数据类型分为一下几类如图:
2.变量与常量
在c语言中,数据有常量和变量,且它们都具有一定的数据类型。
(1)常量,就是在程序设计的整个过程中,其值不变的量。
例1:
//计算圆的的周长面积
#include<stdio.h>//文件包含
#define P 3.1415 //宏定义
int main(){
float r,c,s;//定义数据类型
printf("请输入这个圆的半径R:");
scanf("%f",&r);//通过键盘输入半径r的值
c=r*P;//计算周长
s=r*r*P;//计算面积
printf("这个圆的周长为:%f \n",c);//在显示器输出周长
printf("这个圆的面积为:%f \n",s);//在显示器输出面积
}
(2)变量,就是在程序执行过程中其值可以改变的量,如例1中的c=r*p
c与r为变量,c会随着输入r的值不同而不同。
3.整形
4.表达式
表达式是由一系列的运算符与算子组成。
- 运算符:是指进行运算的动作,例如“+,=“。
- 算子:是指参与运算的值。
例如:x=x+y; 其中=,+为运算符 x,y为算子。
C语言中的基本运算符如图:
列子:
//计算开始结束时间
#include<stdio.h>
int main(){
int x,y,c,z,t1,t2,t;
printf("请输入开始时间:");
scanf("%d%d",&x,&y);
printf("请输入结束时间:");
scanf("%d%d",&z,&c);
通常我们会用开始时间直接减去结束时间,这种往往是不可取的如果直接相减的话会出现分钟错位的现象。为避免这种现象我采取了把小时划为分钟然后再用结束时间减开始时间 得到一个时间 t 在用t/60得小时然后t取余得到分钟如:
t1 = x*60+y;
t2 = z*60+c;
t=t2-t1;
printf("时差为%d时%d分 \n",t/60,t%60);
}
- 运算符优先级:
- 两个变量交换值
例如:把a得值交换给c。
通常情况下会写成 a=b;b=a;这种写法虽然表示的关系是对的,但是写计算机读的时候会认为把b赋值给a,a=b此时a等于b,在往下走把a赋值给b b=a 因为刚刚得到 a的值为b,这一步等于是b等于b,结果使得a,b都得到了b 并为完成交换的目的。为了避免这种情况所以要定义一个int c; 让 c=a; a=b; b=a ,然后输出 c和b或者c和a,完成交换。如下:
//数值交换
#include<stdio.h>
int main(){
float a ,b,c;
printf("输入数值A:");
scanf("%f",&a);
printf("输入数值B:");
scanf("%f",&b);
c=a;
a=b;
b=c;
printf("完成交换后A数值:%f \n完成交换的B数值:%f",a,b);
}
- 复合赋值
把五个算术运算符结合与”=“结合起来,形成复合赋值运算符。如:”+=“、”-=“、”*=“、”=“,”%=“,要值得注意的是两个运算符之间不要使用空格隔开。 - 递增递减运算符
”++“,”–“ ++表示给变量+1,–表示给变量-1(前缀型)
后缀型 则是放则变量前面 表示 先加1在赋值给变量,–同理。
例如: c++等价于 c+=1或者c=c+1;c–则等价于 c-=1或者c=c-1;
++c等价于 c=+1或者c=1+c;–则等价于 c=-1或者c=1-c;