C 运算符、表达式和语句
1.一个示例程序
示例程序 //一个对长跑运动员有用的程序 #include<stdio.h> #define S_PER_H 3600 #define S_PER_M 60 #define S_PER_K 0.62137 int main(void) { double distk,distm;//跑过的路程,公里、英里 double rate;//以英里/每小时的单位平均速度 int min,sec;//跑步用的分钟数和秒钟数 int time;//用秒表示跑步时间 double mtime;//跑完以英里所用的时间,以秒计算 int mmin,msec;//跑完一英里所用的时间,以分钟和秒计算。 printf("This program converts your time for a metric race "); printf("to a time foe running a mile and to your average "); printf("speed in miles per hour. "); printf("please enter ,in kilometers,the distance run. "); scanf("%lf",&distk);//表示读取一个double类型的数值 printf("Next enter the time in minutes and distance and seconds. "); printf("Begin by entering the minutes. "); scanf("%d",&min); printf("Now enter the seconds. "); scanf("%d",&sec); //把时间转化为全部用秒表示 time=S_PER_M*min+sec; //把公里转化为英里 distm=S_PER_K*distk; //英里/秒*秒/小时=英里/小时 rate=distm/time*S_PER_H; //时间/距离=跑完每英里用的时间 mtime=(double)time/distm; mmin=(int)mtime/S_PER_M;//求出分钟数 msec=(int)mtime%S_PER_M;//求出剩余的秒数 printf("you can %1.2f km(%1.2f miles) in %d min.%d sec. ", //如果(%1.2f miles)变成了(%1.2 miles)会怎么样? distk,distm,min,sec); printf("That pacecorresponds to running a mile in %d min.",min); printf("%d sec. Your average speed was %1.2f mph. ",msec,rate); return 0; }
2.基本运算符
(1)赋值运算符:=
- bmw=2002; //将值2002赋给变量bnw,动作从右到左
- 赋值运算左边必须指向一个存储位置(变量名——指针)
(2)加法、减法运算符:+、—(二元或双目运算符)
- printf("%d",4+20); //打印24 takehome=224.00-24.00;
- 被加的值(操作数)可以是变量也可以是常量
(3)符号运算符:+和—(一元)
- a=-12;b=-a; //把值12赋给b.(只需要一个操作数)
(4)乘法运算符:*
- cm=2.54*inch*inch;//用2.54的值乘以变量的,然后将结果赋给cm.
关于棋盘麦粒的问题 //关于棋盘麦粒的问题 #include<stdio.h> #define SQUARES 64 #define CROP 1E15 int main(void) { double current,total; int count=1;//棋盘的格子数 printf("square grains added total grains fraction of "); printf(" US total "); total=current=1.0;//开始时是1粒 //total为麦子的总数 //current为当前棋盘格子麦子的数量 printf("%4d %13.2e %12.2e %15.2e ",count,current,total,total/CROP); while(count<SQUARES) { count=count+1; current=2.0*current; //下个方格的粒数加倍 total=total+current;//更新总数 printf("%4d %13.2e %12.2e %15.2e ",count,current,total,total/CROP); } printf("That's all. "); return 0; }