@toc
3.1 顺序程序设计举例
【例3.1】有人用温度计测量出用华氏法表示的温度(如64℉),今要求把它转换为以摄氏法表示的温度(如17.8℃)。
编写程序
#include<stdio.h>
int main ()
{
float f,c;
f=64.0;
c=(5.0/9)*(f-32);
printf("f=%f\nc=%f\n",f,c);
return 0;
}
运行结果
【例3.2】计算存款利息。
有1000元想存一年。有3种方法可选:(1)活期,年利率为r1;(2)一年期定期,年利率为r2;(3)存两次半年定期,年利率为r3。请分别算出一年后按3种方法所得到的本息和。
编写程序
#include<stdio.h>
int main()
{
float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;
p1=p0*(1+r1);
p2=p0*(1+r2);
p3=p0*(1+r3/2)*(1+r3/2);
printf("p1=%f\np2=%f\np3+%f\n",p1,p2,p3);
return 0;
}
运行结果
3.2 数据的表现形式及其运算
转义字符表
转义字符 | 字符值 | 输出结果 |
---|---|---|
\' |
一个单撇号(’) | 输出单撇号字符’ |
\'' |
一个双撇号(’’) | 输出双撇号字符’’ |
\? |
一个问号(?) | 输出问号字符? |
\\ |
一个反斜线(\) | 输出反斜线字符\ |
\a |
警告(alert) | 产生声音或视觉信号 |
\b |
退格(backspace) | 将光标当前位置后退一个字符 |
\f |
换页(form feed) | 将光标当前位置移到下一页的开头 |
\n |
换行 | 将光标当前位置移到下一行的开头 |
\r |
回车(carriage return) | 将光标当前位置移到本行的开头 |
\t |
水平制表符 | 将光标当前位置移到下一个Tab位置 |
\v |
垂直制表符 | 将光标当前位置移到下一个垂直制表对齐点 |
\o、\oo或\ooo其中o代表一个八进制数字 |
与该八进制码对应的ASCII字符 | 与该八进制对应的字符 |
\xh[h···]其中h代表一个十六进制数字 |
与该十六进制码对应的ASCII字符 | 与该十六进制对应的字符 |
符号常量与常变量
&emsp;常变量与常量的异同:常变量具有变量的基本属性:有类型,占储存单元,只是不允许改变其值。可以说,常变量是有名字的不变量,而常量是没有名字的不变量。有名字就便于在程序中被引用。
# define Pi 3.1415926 //定义符号常量
const float pi=3.1415926; //定义常变量
符号常量Pi和常变量pi都代表3.1415926,在程序中都能使用。但二者性质不同:定义符号常量用# define
指令,它是预编译指令,它只是用符号常量代表一个字符串,在预编译时仅进行字符替换,在预编译后,符号常量就不存在了(全部置换成 3.1415926 了),对符号常量的名字是不分配储存单元的。而常变量要占用储存单元,有变量值,只是该值不改变而已。从使用的角度看,常变量具有符号常量的优点,而且使用更方便。有了长变量以后,可以不必多用符号常量。