1.putchar(getchar())是一个有效表达式,它实现什么功能?getchar(putchar())是否也是有效表达式?
putchar(getchar())读取一个字符并打印出来;getchar()的返回值是putchar()的参数。但getchar(putchar())是无效的;putchar()需要一个参数,getchar()不需要参数。
2.下面的语句分别完成什么任务?
a.putchar(‘H’); 输出字符H
b.putchar(‘\007’); 系统使用ASCII,则发出一声警报
c.putchar(‘\n’); 输出换行符,把光标移到下一行
d.putchar(‘\b’); 退后一格
3.假设有一个名为 count 的可执行程序,用于统计输入的字符数。设计一个使用 count 程序统计essay文件中字符数的命令行,并把统计结果保存在essayct文件中。
count<essay>essayct
4.给定复习题3中的程序和文件,下面哪一条是有效的命令?
a.essayct <essay
b.count essay
c.essay >count //对essay文件进行字符数统计
5.EOF是什么?
EOF是由getchar()和scanf()返回的信号,(一个特殊值),表明检测到文件的结尾
6.对于给定的输出(ch是int类型,而且是缓冲输入),下面各程序段的输出分别是什么?
a.输入如下:
If you quit, I will.[enter]
程序段如下:
while ((ch = getchar()) != ‘i’)
putchar(ch); //if you qu
b.输入如下:
Harhar[enter]
程序段如下:
while ((ch = getchar()) != ‘\n’)
{
putchar(ch++);
putchar(++ch);
}
//HJacrthjacrt
//使用ASCII
7.C如何处理不同计算机系统中的不同文件和换行约定?
C的I/O库把不同文件映射为统一的流来处理。
8.在使用缓冲输入的系统中,把数值和字符混合输入会遇到什么潜在的问题?
数值输入会跳过空格和换行符,但字符输入不会