注:本博客是对C语言程序设计(the c programming language)的学习笔记。
笔者有Java基础,Java是C(++)语言,也被称为C++-,但写博客时,仍会不自主的将两者进行比较:类似于Java中的一样,并非意味着C语言起源于Java,望不要误解。
1.程序示例
# include <stdio.h> //编译预处理命令,声明包含的库
/*
当fahr=0,20,...,300时,分别打印华氏温度与摄氏温度对照表
*/
main()
{
int fahr, celsius,s;
int lower, upper, step;
lower = 0;
upper = 300;
step = 20;
fahr = lower;
while(fahr <= upper){
celsius = 5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr = fahr + step;
}
}
2.程序分析
2.1注释
包含在/*
与*/
之间的字符序列将被编译器忽略。
注释的作用:简单的解释,程序是做什么的。注释可以自由的运用在程序中,使程序更易于理解。
2.2变量
在C语言中,所有变量都必须先声明后使用。声明通常放在函数起始处,在任何可执行语句之前。
声明用于说明变量的属性,由类型名和变量表组成。
如:
int fahr, celsius;
int lower, upper, step;
类型int表示其后所列变量为整数。与之对应的,float便是所列变量为浮点数(可以带有小数部分的数)。
int类型与float类型的取值范围取决于具体的机器。int一般是16位,在-32768~32767(-2^15~2^15-1)。
float通常是32位,至少6位有效数字,取值范围一般10^-38~10^38。
2.2.1基本数据类型
除了int与float类型之外,c语言提供其他一些基本数据类型
char 字符型,一个字节
short 短整型
long 长整型
double 双精度浮点型
2.3while循环语句
while循环语句,圆括号中的条件为true则执行循环体。(和java完全一样)
2.3.1整数除法
在C语言及许多其他语言中,整数除法将执行舍位,结果中的任何小数部分都会被舍弃。如果使用5/9,则摄氏温度全为0。
2.4printf函数
printf函数并不是C语言本身的一部分。C语言本身并没有定义输入\输出功能。printf仅仅是标准库函数中一个有用的函数。
printf(” %3d %6d\n”, fahr, celsius);
达到区域内右对齐。
%d 按照十进制整型数打印
%6d 按照十进制整型数打印,至少6个字符宽
%f 按照浮点数打印
%6f 按照浮点数打印,至少6个字符宽
%.2f 按照浮点数打印,小数点后有两位小数。宽度没有限制。
%6.2f 按照浮点数打印,至少6个字符宽,小数点后有两位小数。
printf函数还支持下列格式说明:
%o 表示八进制数
%x 便是十六进制数
%c 表示字符
%s 表示字符串
%% 表示百分号本身
举个简单例子,在java中我们打印20,可以使用如下:
Java
System.out.print(20);
在C语言中,则需要通过参数的方式:
C
printf("%d",20);