职业教育新东方网 > 职业教育 > 计算机 > 等级考试 > 综合辅导 > 计算机四级 > 文章正文

2011年计算机等级考试四级数据库技术复习笔记(12)

分享到:

2011-09-24 17:49  作者:  来源:web  字号:T|T

第 12 章 标准输入输出库

  问题列表:

  12.1 这样的代码有什么问题?char c; while((c = getchar()) != EOF) ...

  12.2 我有个读取直到EOF 的简单程序, 但是我如何才能在键盘上输入那个“EOF” 呢?

  12.3 为什么这些代码while(!feof(infp)) { fgets(buf, MAXLINE,infp); fputs(buf, outfp); } 把最后一行复制了两遍?

  12.4 我的程序的屏幕提示和中间输出有时显示在屏幕上, 尤其是当我用管道向另一个程序输出的时候。

  12.5 我怎样不等待回车键一次输入一个字符?

  12.6 我如何在printf 的格式串中输出一个’%’?我试过\%, 但是不行。

  12.7 有人告诉我在printf 中使用%lf 不正确。那么, 如果scanf() 需要%lf, 怎么可以用在printf() 中用%f 输出双精度数呢?

  12.8 对于size t 那样的类型定义, 当我不知道它到底是long 还是其它类型的时候, 我应该使用什么样的printf 格式呢?

  12.9 我如何用printf 实现可变的域宽度?就是说, 我想在运行时确定宽度而不是使用%8d?

  12.10 如何输出在千位上用逗号隔开的数字?金额数字呢?

  12.11 为什么scanf("%d", i) 调用不行?

  12.12 为什么char s[30]; scanf("%s", s); 不用& 也可以?

  12.13 为什么这些代码double d; scanf("%f", &d); 不行?

  12.14 怎样在scanf() 格式串中指定可变的宽度?

  12.15 当我用“%d\n” 调用scanf 从键盘读取数字的时候, 好像要多输入一行函数才返回。

  12.16 我用scanf %d 读取一个数字, 然后再用gets() 读取字符串, 但是编译器好像跳过了gets() 调用!

  12.17 我发现如果坚持检查返回值以确保用户输入的是我期待的数值, 则scanf() 的使用会安全很多, 但有的时候好像会陷入无限循环。

  12.18 为什么大家都说不要使用scanf()?那我该用什么来代替呢?

  12.19 我怎样才知道对于任意的sprintf 调用需要多大的目标缓冲区?怎样才能避免sprintf() 目标缓冲区溢出?

  12.20 为什么大家都说不要使用gets()?

  12.21 为什么调用printf() 之后errno 内有ENOTTY?

  12.22 fgetops/fsetops 和ftell/fseek 之间有什么区别?fgetops() 和fsetops() 到底有什么用处?

  12.23 如何清除多余的输入, 以防止在下一个提示符下读入?fflush(stdin)可以吗?

  12.24 既然fflush() 不能, 那么怎样才能清除输入呢?

  12.25 对某些路径文件名调用fopen() 总是失败。

  12.26 我想用“r+” 打开一个文件, 读出一个字符串, 修改之后再写入, 从而就地更新一个文件。可是这样不行。

  12.27 怎样在程序里把stdin 或stdout 重定向到文件?

  12.28 一旦使用freopen() 之后, 怎样才能恢复原来的stdout (或stdin)?

  12.29 怎样同时向两个地方输出, 如同时输出到屏幕和文件?

  12.30 怎样正确的读取二进制文件?我有时看到0x0a 和0x0d 混淆了, 而且如果数据中包含0x1a 的话, 我好像会提前遇到EOF。

热点课讯

精彩问答

提问