现在的位置: 首页 > 新课程 > 正文

循环结构程序设计

2011年07月20日 新课程 ⁄ 共 688字 ⁄ 字号 暂无评论

【文件复制】

C语言标准库提供的输入/输出模型非常简单。无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。文本流是由多行字符构成的字符序列,而每行字符则由 0个或多个字符组成,行末是一个换行符。标准库负责使每个输入/输出流都能够遵守这一模型。

你对于这段话不太理解,没关系,有个印象就可以了。

C语言标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数。每次调用时,getchar 函数从文本流中读入下一个输入字符,并将其作为结果值返回。

下面程序的功能是从标准输入中读入一个字符,然后输出这个字符。

1
2
3
4
【打印华氏温度与摄氏温度对照表】
【文件复制】
【统计字符】
【行计数】

【文件复制】

借助于 getchar 与 putchar 函数,可以在不了解其它输入/输出知识的情况下编写出数量惊人的有用的代码。最简单的例子就是把输入一次一个字符地复制到输出。

1
2
3
4
5
6
7
8
9
10
11
  0  -17.8
 20   -6.7
 40    4.4
 60   15.6
 80   26.7
100   37.8
120   48.9
140   60.0
160   71.1
180   82.2
200   93.3

翻译成 C 语言,就是

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int f;
 
    f = 0;
    当 f 小于等于 200{
        计算华氏温度 c 并根据要求输出;
         f 递增 20/* 递增就是在原来的基础上增加20 */
    }
    return 0;
}

我们先来看看怎么样运行这个程序。编译并运行这个程序后,你可以随意输入一些字符,换行,在输入,在换行,始终不结束。

为什么会这样呢? 因为这个程序还没有遇到文件结束。 你在换行后,输入 Ctrl + Z,这是这个程序才结束。

在 Windows 系统中,使用 Ctrl + Z 表示标准输入结束,也就是 EOF ( End Of File)标志。

赋值语句可以合并到条件判断中,合并过程如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    int f;
 
    f = 0;
    while (f <= 200) {
        printf("%3d %6.1f\n", f, (5.0/9.0)*(f-32));
        f = f + 20;
    }
    return 0;
}

于是可以得到下面非常精炼的程序

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int main()
{
    int f;
 
    for (f = 0; f <= 200; f = f + 20) {
        printf("%3d %6.1f\n", f, (5.0/9.0)*(f-32));        
    }
}

这段程序翻译成中文,就是

1
2
3
移动初始化部分到 整个 while 语句的前面; 
增加步长部分移到 while 语句执行部分的最后;
for 改为 while,并移除 ()中的分号;
【上篇】
【下篇】

抱歉!评论已关闭.