单选题
1、第221题 (1.0分) 题号:735 fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式 必须是()。
A
只写
B
追加
C
读或读写
D
答案B和C都正确
答案解析
正确答案:C
解析:
**解析:**
`fgetc` 是 C 语言标准库中的一个函数,其原型为 `int fgetc(FILE *stream)`。它的主要功能是从指定的文件流中读取下一个字符,并将文件位置指针向前移动一个字节。
为了能够执行“读取”操作,文件在打开时必须具备读权限。我们来分析各个选项对应的文件打开模式:
1. **只写(Write-only)**:例如使用 `"w"` 或 `"wb"` 模式打开文件。这种模式下,文件只能用于写入数据,不能从中读取数据。如果尝试对以只写方式打开的文件调用 `fgetc`,会导致未定义行为或错误。因此,A 选项错误。
2. **追加(Append)**:通常指使用 `"a"` 或 `"ab"` 模式打开文件。在标准 C 语言中,追加模式本质上也是**只写**的(write-only),文件位置指针被强制设置在文件末尾,用于添加数据,不支持读取操作。因此,B 选项错误。
3. **读或读写(Read or Read/Write)**:
* **只读模式**(如 `"r"`):允许从文件中读取数据,完全支持 `fgetc` 操作。
* **读写模式**(如 `"r+"`, `"w+"`, `"a+"`):允许既读取又写入数据,自然也支持 `fgetc` 操作。
* 因此,只要文件打开方式包含“读”权限(即“读”或“读写”),就可以使用 `fgetc`。C 选项正确。
综上所述,`fgetc` 要求文件必须以**只读**或**读写**方式打开。
**正确答案:C**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第38题 (1.0分) 题号:151 以下程序的运行结果是()。
单选题
1、第37题 (1.0分) 题号:693 以下各选项企图说明一种新的类型名,其中正确的是()。
单选题
1、第36题 (1.0分) 题号:509 int a=1,b=2,c=3; if( )a=b; if( )a=c; 则a的值为()。
单选题
1、第35题 (1.0分) 题号:571 以下叙述正确的是()。
单选题
1、第34题 (1.0分) 题号:550 不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的 形式存在磁盘上()。
单选题
1、第33题 (1.0分) 题号:523 函数的形式参数隐含的存储类型说明是()。
单选题
1、第32题 (1.0分) 题号:131 若k为int型变量,则以下程序段的执行结果是()。k=-8567; printf(”|%06D|\n”,k);
单选题
1、第31题 (1.0分) 题号:136 下列程序的输出结果为()。
单选题
1、第30题 (1.0分) 题号:697 若x=2,y=3则x&y的结果是()。
单选题
1、第29题 (1.0分) 题号:202 设有如下定义: struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。
