01-C程序设计语言-第2版-第1章导言笔记

一、入门
1、编写的第一个程序:打印出“hello, world”

点击查看代码
#include <stdio.h>  //包含标准库信息
int main()  //定义名为main函数,没有参数值
{
	printf("hello, world\n");  //显示字符
	return 0;  //\n换行符
}

image

练习1-1:做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符序列中未曾列出的某一个字符)时,观察一下会出现什么情况。

点击查看代码
#include <stdio.h>
int main()
{
	printf("hello, world\n\c");
	return 0;
}

image

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;
}

image

修改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;
}

image

修改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;
}

image

练习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;
}

image

练习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;
}

image

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;
}

image

练习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;
}

image

4、符号常量

点击查看代码
#include <stdio.h>

#define LOWER 0
#define UPPER 300
#define STEP 20

int main()
{
	float fahr;
	for(fahr = UPPER; fahr >= LOWER; fahr = fahr - STEP)
	{
		printf("%3.0f %12.1f\n", fahr, (5.0 / 9.0) * (fahr -32));
	}
	return 0;
}

5、字符输入/输出
(1)文件复制

点击查看代码
#include <stdio.h>

int main()
{
	int c;
	c = getchar();
	while (c != EOF)
	{
		putchar(c);
		c = getchar();
	}
	return 0;
}

练习1:验证getchar()!= EOF地返回值

点击查看代码

练习2:编写一个打印EOF值得程序

点击查看代码
#include <stdio.h>

int main()
{
	printf("EOF的值是: %d\n", EOF);
	return 0;
}

image

posted @ 2025-10-22 11:03  有点闲  阅读(7)  评论(0)    收藏  举报