一、入门
1、编写的第一个程序:打印出“hello, world”
点击查看代码
#include <stdio.h> //包含标准库信息
int main() //定义名为main函数,没有参数值
{printf("hello, world\n"); //显示字符return 0; //\n换行符
}
程序说明:
(1)一个C语言程序,都是由函数和变量组成的。
(2)①语句:要执行的计算操作 ②变量:存储计算过程中使用的值
(3)main
函数:每个程序从main
函数开始执行到结束,有且仅有一个,它通常会调用其它函数来运算。
(4)函数可以自定义,也可以来自函数库
#include <stdio.h>
用于告诉编译器在标准输入/输出库中查找函数。我的理解库就像一个工具箱,被调用的函数像工具箱里面的工具。
(5)函数之间进行交换的一种方式是调用函数提供一个值(参数)列表。不需要任何参数时,就用()表示空参数。
(6)调用函数时,函数调用格式:函数名(参数表)
(7)printf
是一个用于打印输出的库函数
(8)用双引号括起来的字符序列称为字符串或字符串常量
(9)\n
换行符,是转义字符
练习1-1:做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符序列中未曾列出的某一个字符)时,观察一下会出现什么情况。
点击查看代码
#include <stdio.h>
int main()
{printf("hello, world\n\c");return 0;
}
2、变量与算术表达式
使用公式℃=(5/9)(℉-32)打印华氏温度与摄氏温度对照表
点击查看代码
#include <stdio.h>
int main()
{int fahr, celsius;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;}return 0;
}
说明:
(1)所有变量必须先声明后使用,声明一般放在函数起始处,由一个类型名和一个变量表组成。
(2)int表示整数,float表示小数,char表示一个字节字符,C语言还有一些其它基本数据类型。
(3)下面四行语句为变量赋初始值。
(4)使用while循环语句,先判断条件,如果为真,则执行循环体,当条件为假时,循环结束,执行下面的语句
(5)printf其中的每个百分号表示其它的参数之一进行替换的位置,并指定打印格式。
修改1:fahr的值占3个数字宽,celsius的值占6个数字宽,会在打印区域内右对齐。不能使用5/9的形式,是因为按整型除法的计算规则,相除会舍位,得到的结果是0.
点击查看代码
#include <stdio.h>
int main()
{int fahr, celsius;int lower, upper, step;lower = 0;upper = 300;step = 20;fahr = lower;while (fahr <= upper){celsius = 5 * (fahr - 32) / 9;printf("%3d %6d\n", fahr, celsius);fahr = fahr + step;}return 0;
}
修改2:5.0/9.0两个浮点数相除,结果将不被舍位,得到更精确的结果。
点击查看代码
#include <stdio.h>
int main()
{float fahr, celsius;float lower, upper, step;lower = 0;upper = 300;step = 20;fahr = lower;while (fahr <= upper){celsius = (5.0/9.0) * (fahr - 32.0);printf("%3.0f %6.1f\n", fahr, celsius);fahr = fahr + step;}return 0;
}
- %d 按照十进制整型数打印
- %6d 按照十进制整型数打印,至少6个字符宽
- %f 按照浮点数打印
- %6f 按照浮点数打印,至少6个字符宽
- %.2f 按照浮点数打印,小数点后有两位小数
- %6.2f 按照浮点数打印,至少6个字符宽,小数点后有两位小数
练习1:在转换表的顶部打印一个小标题
点击查看代码
#include <stdio.h>
int main()
{float fahr, celsius;float lower, upper, step;lower = 0;upper = 300;step = 20;fahr = lower;printf("华氏温度-摄氏温度对照表\n");while (fahr <= upper){celsius = (5.0/9.0) * (fahr - 32.0);printf("%3.0f %12.1f\n", fahr, celsius);fahr = fahr + step;}return 0;
}
练习2:编写打印摄氏温度转换为相应华氏温度的转换表
点击查看代码
#include <stdio.h>
int main()
{float fahr, celsius;float lower, upper, step;lower = 0;upper = 300;step = 20;celsius = lower;printf("摄氏温度-华氏温度对照表\n");while (celsius <= upper){fahr = celsius * (9.0 / 5.0) + 32.0;printf("%6.1f %12.1f\n", celsius, fahr);celsius = celsius + step;}return 0;
}
3、for语句
for语句实现前面的功能
点击查看代码
#include <stdio.h>
int main()
{float fahr;for(fahr = 0; fahr <= 300; fahr = fahr +20){printf("%3.0f %12.1f\n", fahr, (5.0 / 9.0) * (fahr -32));}return 0;
}
for(初始化;判断条件;更新条件)
练习1:逆序打印
点击查看代码
#include <stdio.h>
int main()
{float fahr;for(fahr = 300; fahr >= 0; fahr = fahr - 20){printf("%3.0f %12.1f\n", fahr, (5.0 / 9.0) * (fahr -32));}return 0;
}
4、符号常量