当前位置 : 主页 > 编程语言 > c语言 >

C语言-第1章_导言-05

来源:互联网 收集:自由互联 发布时间:2023-09-07
第1章 导言-05 1.5 符号常量 // 标准库提供的输入/输出模型非常简单。// 无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。// 标准库提供了一次读/写一个字符

第1章 导言 -05

1.5 符号常量

// 标准库提供的输入/输出模型非常简单。

// 无论文本从何处输入,输出到何处,其输入/输出都是按照字符流的方式处理。

// 标准库提供了一次读/写一个字符的函数,其中最简单的是 getchar 和 putchar 两个函数。


// 变量 c 中将包含输入流中的下一个字符。
c = getchar()

// 每次调用 putchar 函数时将打印一个字符。
putchar(c)

1 文件复制

// 借助于 getchar 与 putchar 函数,可以在不了解其他输入/输出知识的情况下编写出数量惊人的有用代码。

# include <stdio.h>

/* 将输入复制到输出:版本1 */
int main()
{
    int c;
    
    c = getchar();
    while (c !=EOF) {
        putchar(c);
        c = getchar();
    }
    return 0;
}

文件复制 01.png

// 如果将为 c 赋值的操作放在 while 循环语句的测试部分中,上述字符复制程序便可以改写成下列形式:


# include <stdio.h>

/* 将输入复制到输出:版本2 */
int main()
{
    int c;
    
    while ((c = getchar()) !=EOF) {
        putchar(c);
    }
    return 0;
}

文件复制2 02.png

2 字符计数

// 下列程序用于对字符进行计数


# include <stdio.h>

/* 统计输入的字符数:版本1 */
int main()
{
    long nc;
    
    nc = 0;
    
    while ( getchar() !=EOF) 
        ++nc;
    printf("%ld\n", nc)
    return 0;
}



// 引入了一个新的运算符++,其功能是执行加1操作。
++nc;

字符计数 03.png

// 使用 double (双精度浮点数)类型可以处理更大的数字。

# include <stdio.h>

/* 统计输入的字符数:版本2 */
int main()
{
    double nc;

    for(nc = 0; getchar() != EOF; ++nc)
    	;
    printf("%.0f\n", nc);
    return 0;
}

字符计数2 04.png

3.行计数

// 接下来的这个程序用于统计输入的行数。

# include <stdio.h>

/* 统计输入的行数 */
int main()
{
	int c, n1;

	n1 = 0;
    while ((c = getchar()) !=EOF)
    	if (c == '\n')
    		++n1;
    printf("%d\n", n1);
    return 0;
}

行计数 05.png

4.单词计数

// 我们将介绍的第4个实用程序用于统计行数、单词数与字符数。

// 下面这段程序是 UNIX 系统中 wc 程序的骨干部分:

# include <stdio.h>

#define IN  1 	/* 在单词内 */
#define OUT 0 	/* 在单词外 */

/* 统计输入的行数、单次数与字符数 */
int main()
{
	int c, n1, nw, nc, state;

	state = OUT;
	n1 = nw = nc = 0;
    while ((c = getchar()) !=EOF) {
    	++nc;
    	if (c == '\n')
    		++n1;
    	if (c == ' ' || c == '\n' || c == '\t') {
    		state = IN;
    		++nw;
    	}
    }
    printf("%d %d %d\n", n1, nw, nc);
    return 0;
}


// 将把其中的3个变量 n1、
n1 = nw = nc = 0;

// 如果 c 是空格,或 c 是换行符,或 c 是制表符
if (c == ' ' || c == '\n' || c == '\t')

06.png

上一篇:初识指针
下一篇:没有了
网友评论